4f28a0a9a1
#KT-8879 Fixed Added ConstraintContext storing 'derivedFrom' variables. This information is used to prevent infinite recursion: if a variable was substituted in a type of a bound, it shouldn't be substituted there for the second time.
24 lines
575 B
Plaintext
Vendored
24 lines
575 B
Plaintext
Vendored
VARIABLES T P
|
|
|
|
T <: My<T>
|
|
Inv<P> <: Inv<T>
|
|
|
|
type parameter bounds:
|
|
T <: My<T>*, := P*, <: My<out My<T>>*, <: My<P>*, <: My<out My<P>>*, <: My<out My<out My<T>>>*
|
|
P := T*, <: My<T>*, <: My<out My<T>>*, <: My<P>*, <: My<out My<P>>*, <: My<out My<out My<T>>>*
|
|
|
|
status:
|
|
-hasCannotCaptureTypesError: false
|
|
-hasConflictingConstraints: false
|
|
-hasContradiction: false
|
|
-hasErrorInConstrainingTypes: false
|
|
-hasParameterConstraintError: false
|
|
-hasTypeInferenceIncorporationError: false
|
|
-hasUnknownParameters: true
|
|
-hasViolatedUpperBound: false
|
|
-isSuccessful: false
|
|
|
|
result:
|
|
T=???
|
|
P=???
|