Incorporation tests

This commit is contained in:
Svetlana Isakova
2015-06-29 18:58:06 +03:00
parent 179c5e3c3a
commit db8085c399
132 changed files with 2229 additions and 8 deletions
@@ -369,7 +369,7 @@ public object Renderers {
val renderBound = { bound: Bound ->
val arrow = if (bound.kind == LOWER_BOUND) ">: " else if (bound.kind == UPPER_BOUND) "<: " else ":= "
val renderer = if (short) DescriptorRenderer.SHORT_NAMES_IN_TYPES else DescriptorRenderer.FQ_NAMES_IN_TYPES
val renderedBound = arrow + renderer.renderType(bound.constrainingType)
val renderedBound = arrow + renderer.renderType(bound.constrainingType) + if (!bound.isProper) "*" else ""
if (short) renderedBound else renderedBound + '(' + bound.position + ')'
}
val typeVariableName = typeBounds.typeVariable.getName()
@@ -1,4 +1,4 @@
fun foo<T, P: T>() = 42
fun foo<T, P, E>() = 42
interface A
interface B : A
@@ -7,4 +7,7 @@ interface C : B
interface Consumer<in T>
interface Producer<out T>
interface My<T>
interface My<T>
interface Successor<T> : My<T>
interface Two<T, P>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
EQUAL P Consumer<T>
type parameter bounds:
T := Int
P := Consumer<T>*, := Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
EQUAL P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
SUBTYPE P Consumer<T>
type parameter bounds:
T := Int
P <: Consumer<T>*, <: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
SUBTYPE P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
SUPERTYPE P Consumer<T>
type parameter bounds:
T := Int
P >: Consumer<T>*, >: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
SUPERTYPE P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
EQUAL P Consumer<T>
type parameter bounds:
T <: Int
P := Consumer<T>*, >: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
EQUAL P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
SUBTYPE P Consumer<T>
type parameter bounds:
T <: Int
P <: Consumer<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
SUBTYPE P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
SUPERTYPE P Consumer<T>
type parameter bounds:
T <: Int
P >: Consumer<T>*, >: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
SUPERTYPE P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
EQUAL P Consumer<T>
type parameter bounds:
T >: Int
P := Consumer<T>*, <: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
EQUAL P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
SUBTYPE P Consumer<T>
type parameter bounds:
T >: Int
P <: Consumer<T>*, <: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
SUBTYPE P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
SUPERTYPE P Consumer<T>
type parameter bounds:
T >: Int
P >: Consumer<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
SUPERTYPE P Consumer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
EQUAL P Producer<T>
type parameter bounds:
T := Int
P := Producer<T>*, := Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
EQUAL P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
SUBTYPE P Producer<T>
type parameter bounds:
T := Int
P <: Producer<T>*, <: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
SUBTYPE P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
SUPERTYPE P Producer<T>
type parameter bounds:
T := Int
P >: Producer<T>*, >: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
SUPERTYPE P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
EQUAL P Producer<T>
type parameter bounds:
T <: Int
P := Producer<T>*, <: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
EQUAL P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
SUBTYPE P Producer<T>
type parameter bounds:
T <: Int
P <: Producer<T>*, <: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
SUBTYPE P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
SUPERTYPE P Producer<T>
type parameter bounds:
T <: Int
P >: Producer<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
SUPERTYPE P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
EQUAL P Producer<T>
type parameter bounds:
T >: Int
P := Producer<T>*, >: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
EQUAL P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
SUBTYPE P Producer<T>
type parameter bounds:
T >: Int
P <: Producer<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
SUBTYPE P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
SUPERTYPE P Producer<T>
type parameter bounds:
T >: Int
P >: Producer<T>*, >: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
SUPERTYPE P Producer<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
EQUAL P My<T>
type parameter bounds:
T := Int
P := My<T>*, := My<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=My<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
EQUAL P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
SUBTYPE P My<T>
type parameter bounds:
T := Int
P <: My<T>*, <: My<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=My<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
SUBTYPE P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T Int
SUPERTYPE P My<T>
type parameter bounds:
T := Int
P >: My<T>*, >: My<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=My<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T Int
SUPERTYPE P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
EQUAL P My<T>
type parameter bounds:
T <: Int
P := My<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
EQUAL P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
SUBTYPE P My<T>
type parameter bounds:
T <: Int
P <: My<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
SUBTYPE P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE T Int
SUPERTYPE P My<T>
type parameter bounds:
T <: Int
P >: My<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE T Int
SUPERTYPE P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
EQUAL P My<T>
type parameter bounds:
T >: Int
P := My<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
EQUAL P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
SUBTYPE P My<T>
type parameter bounds:
T >: Int
P <: My<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
SUBTYPE P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE T Int
SUPERTYPE P My<T>
type parameter bounds:
T >: Int
P >: My<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE T Int
SUPERTYPE P My<T>
@@ -0,0 +1,27 @@
VARIABLES T P E
FIX_VARIABLES
SUBTYPE P My<T>
SUBTYPE Successor<E> P
SUBTYPE Int T
type parameter bounds:
T := T*, := E*, >: Int, := Int
P <: My<T>*, >: Successor<E>*, >: Successor<T>*, <: My<E>*, <: My<Int>, >: Successor<Int>, := Successor<Int>
E := T*, := E*, >: Int, := Int
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Successor<Int>
E=Int
@@ -0,0 +1,6 @@
VARIABLES T P E
FIX_VARIABLES
SUBTYPE P My<T>
SUBTYPE Successor<E> P
SUBTYPE Int T
@@ -0,0 +1,27 @@
VARIABLES T P E
FIX_VARIABLES
SUBTYPE P My<T>
SUBTYPE Int T
SUBTYPE Successor<E> P
type parameter bounds:
T >: Int, := T*, := E*, := Int
P <: My<T>*, >: Successor<E>*, >: Successor<T>*, <: My<E>*, <: My<Int>, >: Successor<Int>, := Successor<Int>
E := T*, >: Int, := E*, := Int
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Successor<Int>
E=Int
@@ -0,0 +1,6 @@
VARIABLES T P E
FIX_VARIABLES
SUBTYPE P My<T>
SUBTYPE Int T
SUBTYPE Successor<E> P
@@ -0,0 +1,27 @@
VARIABLES T P E
FIX_VARIABLES
SUBTYPE Int T
SUBTYPE Successor<E> P
SUBTYPE P My<T>
type parameter bounds:
T >: Int, := T*, := E*, := Int
P >: Successor<E>*, <: My<T>*, >: Successor<T>*, <: My<E>*, <: My<Int>, >: Successor<Int>, := Successor<Int>
E := T*, >: Int, := E*, := Int
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Successor<Int>
E=Int
@@ -0,0 +1,6 @@
VARIABLES T P E
FIX_VARIABLES
SUBTYPE Int T
SUBTYPE Successor<E> P
SUBTYPE P My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL T My<P>
EQUAL P Two<T,P>
type parameter bounds:
T := My<P>*
P := Two<T, P>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=???
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL T My<P>
EQUAL P Two<T,P>
@@ -0,0 +1,21 @@
VARIABLES T
EQUAL T Int
EQUAL T My<T>
type parameter bounds:
T := Int, := My<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: true
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: true
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
@@ -0,0 +1,4 @@
VARIABLES T
EQUAL T Int
EQUAL T My<T>
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL P Consumer<T>
EQUAL T Int
type parameter bounds:
T := Int
P := Consumer<T>*, := Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL P Consumer<T>
EQUAL T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE P Consumer<T>
EQUAL T Int
type parameter bounds:
T := Int
P <: Consumer<T>*, <: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE P Consumer<T>
EQUAL T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE P Consumer<T>
EQUAL T Int
type parameter bounds:
T := Int
P >: Consumer<T>*, >: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE P Consumer<T>
EQUAL T Int
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL P Consumer<T>
SUBTYPE T Int
type parameter bounds:
T <: Int
P := Consumer<T>*, >: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL P Consumer<T>
SUBTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE P Consumer<T>
SUBTYPE T Int
type parameter bounds:
T <: Int
P <: Consumer<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE P Consumer<T>
SUBTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE P Consumer<T>
SUBTYPE T Int
type parameter bounds:
T <: Int
P >: Consumer<T>*, >: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE P Consumer<T>
SUBTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL P Consumer<T>
SUPERTYPE T Int
type parameter bounds:
T >: Int
P := Consumer<T>*, <: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL P Consumer<T>
SUPERTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE P Consumer<T>
SUPERTYPE T Int
type parameter bounds:
T >: Int
P <: Consumer<T>*, <: Consumer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Consumer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE P Consumer<T>
SUPERTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE P Consumer<T>
SUPERTYPE T Int
type parameter bounds:
T >: Int
P >: Consumer<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE P Consumer<T>
SUPERTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL P Producer<T>
EQUAL T Int
type parameter bounds:
T := Int
P := Producer<T>*, := Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL P Producer<T>
EQUAL T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE P Producer<T>
EQUAL T Int
type parameter bounds:
T := Int
P <: Producer<T>*, <: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE P Producer<T>
EQUAL T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE P Producer<T>
EQUAL T Int
type parameter bounds:
T := Int
P >: Producer<T>*, >: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE P Producer<T>
EQUAL T Int
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL P Producer<T>
SUBTYPE T Int
type parameter bounds:
T <: Int
P := Producer<T>*, <: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL P Producer<T>
SUBTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE P Producer<T>
SUBTYPE T Int
type parameter bounds:
T <: Int
P <: Producer<T>*, <: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE P Producer<T>
SUBTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUPERTYPE P Producer<T>
SUBTYPE T Int
type parameter bounds:
T <: Int
P >: Producer<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUPERTYPE P Producer<T>
SUBTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
EQUAL P Producer<T>
SUPERTYPE T Int
type parameter bounds:
T >: Int
P := Producer<T>*, >: Producer<Int>
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: false
-hasViolatedUpperBound: false
-isSuccessful: true
result:
T=Int
P=Producer<Int>
@@ -0,0 +1,4 @@
VARIABLES T P
EQUAL P Producer<T>
SUPERTYPE T Int
@@ -0,0 +1,23 @@
VARIABLES T P
SUBTYPE P Producer<T>
SUPERTYPE T Int
type parameter bounds:
T >: Int
P <: Producer<T>*
status:
-hasCannotCaptureTypesError: false
-hasConflictingConstraints: false
-hasContradiction: false
-hasErrorInConstrainingTypes: false
-hasTypeConstructorMismatch: false
-hasTypeInferenceIncorporationError: false
-hasUnknownParameters: true
-hasViolatedUpperBound: false
-isSuccessful: false
result:
T=Int
P=???
@@ -0,0 +1,4 @@
VARIABLES T P
SUBTYPE P Producer<T>
SUPERTYPE T Int

Some files were not shown because too many files have changed in this diff Show More