Supports Qualification for Domains
Posted: 5 May 2014 15:13
Hello Thomas,
stating that an interface A supports an interface B extends A by all predicates and properties of B. But it does not extend A by the domains of B.
Since the feature of parametrizing interfaces by scope type variables has been introduced, it can cause inconveniences, that A is not extended by B's domains. It is, when B has a list of scope type variables, which is in A's support qualification assigned to some -lengthy, nested, complicated- list of types.
This -lengthy, nested..- type assignment list must be repeated in the code, when using a domain declared in B in the context of the scope type assignments made in A. The issue turns out even worse, when its not only two interfaces but a supports-chain of interfaces, where each one contributes some scope type assignments to the next.
In my opinion it would be better, when the supports qualification also extended interfaces' types. Maybe you plan already for such change in future version?
Many regards,
Martin
stating that an interface A supports an interface B extends A by all predicates and properties of B. But it does not extend A by the domains of B.
Since the feature of parametrizing interfaces by scope type variables has been introduced, it can cause inconveniences, that A is not extended by B's domains. It is, when B has a list of scope type variables, which is in A's support qualification assigned to some -lengthy, nested, complicated- list of types.
This -lengthy, nested..- type assignment list must be repeated in the code, when using a domain declared in B in the context of the scope type assignments made in A. The issue turns out even worse, when its not only two interfaces but a supports-chain of interfaces, where each one contributes some scope type assignments to the next.
In my opinion it would be better, when the supports qualification also extended interfaces' types. Maybe you plan already for such change in future version?
Many regards,
Martin