Don't generate constraint if a type variable was substituted twice

to prevent infinite recursion
This commit is contained in:
Svetlana Isakova
2015-06-30 22:05:21 +03:00
parent 3b85ac90ba
commit 89e16ecbcc
7 changed files with 53 additions and 6 deletions
@@ -0,0 +1,26 @@
VARIABLES T P E
SUBTYPE T Producer<P>
SUBTYPE P Producer<E>
SUBTYPE E Producer<P>
type parameter bounds:
T <: Producer<P>*, <: Producer<Producer<E>>*, <: Producer<Producer<Producer<P>>>*
P <: Producer<E>*
E <: Producer<P>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=???
P=???
E=???