--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import base_gen2
+
+redef class B[E] #alt1# redef class B #alt2# redef class B[X] #alt3# redef class B[E,X]
+ fun output2 do e2.output
+ fun e2: E do return e
+ #alt2#fun e3: X do return e
+end
+
+var b = new B[Int](2)
+b.output2
-base_as_notnull2.nit:30,12--25: Warning: expression is already not null, since it is a `G#0: Object`.
-base_as_notnull2.nit:50,12--25: Warning: expression is already not null, since it is a `G#0: Object`.
+base_as_notnull2.nit:30,12--25: Warning: expression is already not null, since it is a `E: Object`.
+base_as_notnull2.nit:50,12--25: Warning: expression is already not null, since it is a `E: Object`.
1
1
2
-alt/base_as_notnull2_alt1.nit:30,12--25: Warning: expression is already not null, since it is a `G#0: Object`.
-alt/base_as_notnull2_alt1.nit:50,12--25: Warning: expression is already not null, since it is a `G#0: Object`.
+alt/base_as_notnull2_alt1.nit:30,12--25: Warning: expression is already not null, since it is a `E: Object`.
+alt/base_as_notnull2_alt1.nit:50,12--25: Warning: expression is already not null, since it is a `E: Object`.
alt/base_as_notnull2_alt1.nit:58,7--10: Type error: expected Object, got null
-alt/base_as_notnull2_alt2.nit:30,12--25: Warning: expression is already not null, since it is a `G#0: Object`.
-alt/base_as_notnull2_alt2.nit:50,12--25: Warning: expression is already not null, since it is a `G#0: Object`.
+alt/base_as_notnull2_alt2.nit:30,12--25: Warning: expression is already not null, since it is a `E: Object`.
+alt/base_as_notnull2_alt2.nit:50,12--25: Warning: expression is already not null, since it is a `E: Object`.
Runtime error: Cast failed (alt/base_as_notnull2_alt2.nit:40)
1
1
-alt/base_as_notnull2_alt3.nit:30,12--25: Warning: expression is already not null, since it is a `G#0: Object`.
-alt/base_as_notnull2_alt3.nit:50,12--25: Warning: expression is already not null, since it is a `G#0: Object`.
+alt/base_as_notnull2_alt3.nit:30,12--25: Warning: expression is already not null, since it is a `E: Object`.
+alt/base_as_notnull2_alt3.nit:50,12--25: Warning: expression is already not null, since it is a `E: Object`.
alt/base_as_notnull2_alt3.nit:64,7--10: Type error: expected Int, got null
-Runtime error: Cast failed. Expected `G#0`, got `Int` (alt/base_autocast_alt1.nit:22)
+Runtime error: Cast failed. Expected `E`, got `Int` (alt/base_autocast_alt1.nit:22)
1
2
-Runtime error: Cast failed. Expected `G#0`, got `Int` (alt/base_covar_gen_1alt1_alt1.nit:19)
+Runtime error: Cast failed. Expected `E`, got `Int` (alt/base_covar_gen_1alt1_alt1.nit:19)
-Runtime error: Cast failed. Expected `G#0`, got `Int` (alt/base_covar_gen_1alt1_alt2.nit:18)
+Runtime error: Cast failed. Expected `E`, got `Int` (alt/base_covar_gen_1alt1_alt2.nit:18)
-Runtime error: Cast failed. Expected `G#0`, got `G[Object]` (alt/base_covar_gen_alt3.nit:19)
+Runtime error: Cast failed. Expected `E`, got `G[Object]` (alt/base_covar_gen_alt3.nit:19)
-Runtime error: Cast failed. Expected `G#0`, got `G[Object]` (alt/base_covar_gen_alt4.nit:18)
+Runtime error: Cast failed. Expected `E`, got `G[Object]` (alt/base_covar_gen_alt4.nit:18)
-alt/base_gen_bound_alt1.nit:31,10: Type error: expected B, got H#0
+alt/base_gen_bound_alt1.nit:31,10: Type error: expected B, got F
-alt/base_gen_bound_alt2.nit:32,11: Type error: expected B, got H#0
+alt/base_gen_bound_alt2.nit:32,11: Type error: expected B, got F
-alt/base_gen_bound_alt3.nit:33,11: Type error: expected B, got H#0
+alt/base_gen_bound_alt3.nit:33,11: Type error: expected B, got F
-alt/base_gen_bound_alt4.nit:34,13: Type error: expected B, got H#0
+alt/base_gen_bound_alt4.nit:34,13: Type error: expected B, got F
-Runtime error: Cast failed. Expected `G#0`, got `Int` (alt/base_gen_reassign_alt1.nit:23)
+Runtime error: Cast failed. Expected `E`, got `Int` (alt/base_gen_reassign_alt1.nit:23)
11
21
31
-Runtime error: Cast failed. Expected `G#0`, got `Int` (alt/base_gen_reassign_alt2.nit:23)
+Runtime error: Cast failed. Expected `E`, got `Int` (alt/base_gen_reassign_alt2.nit:23)
11
21
31
-Runtime error: Cast failed. Expected `G#0`, got `Int` (alt/base_gen_reassign_alt4.nit:23)
+Runtime error: Cast failed. Expected `E`, got `Int` (alt/base_gen_reassign_alt4.nit:23)
11
21
31
-Runtime error: Cast failed. Expected `G#0`, got `Int` (alt/base_gen_reassign_alt5.nit:23)
+Runtime error: Cast failed. Expected `E`, got `Int` (alt/base_gen_reassign_alt5.nit:23)
11
21
31
-Runtime error: Cast failed. Expected `G#0`, got `Int` (alt/base_gen_reassign_alt6.nit:23)
+Runtime error: Cast failed. Expected `E`, got `Int` (alt/base_gen_reassign_alt6.nit:23)
11
21
31
--- /dev/null
+alt/base_gen_redef_alt2.nit:17,15: Error: Formal parameter type #0 `X` must be named `E' as in the original definition in module `base_gen2`.
--- /dev/null
+alt/base_gen_redef_alt3.nit:17,13: Redef error: Formal parameter arity missmatch; got 2, expected 1.
-Runtime error: Cast failed. Expected `G#0`, got `B` (alt/base_gen_variance2_alt1.nit:27)
+Runtime error: Cast failed. Expected `E`, got `B` (alt/base_gen_variance2_alt1.nit:27)
3
-Runtime error: Cast failed. Expected `G#0`, got `D` (alt/base_gen_variance2_alt2.nit:27)
+Runtime error: Cast failed. Expected `E`, got `D` (alt/base_gen_variance2_alt2.nit:27)
3
-Runtime error: Cast failed. Expected `G#0`, got `D` (alt/base_gen_variance3_alt1.nit:27)
+Runtime error: Cast failed. Expected `E`, got `D` (alt/base_gen_variance3_alt1.nit:27)
2
-Runtime error: Cast failed. Expected `nullable G#0`, got `C` (alt/base_gen_variance_alt3.nit:18)
+Runtime error: Cast failed. Expected `nullable E`, got `C` (alt/base_gen_variance_alt3.nit:18)
2
20
2
-Runtime error: Cast failed. Expected `nullable G#0`, got `G[C]` (alt/base_gen_variance_alt6.nit:18)
+Runtime error: Cast failed. Expected `nullable E`, got `G[C]` (alt/base_gen_variance_alt6.nit:18)
2
20
2
-Runtime error: Cast failed. Expected `nullable G#0`, got `G[A]` (alt/base_gen_variance_alt8.nit:18)
+Runtime error: Cast failed. Expected `nullable E`, got `G[A]` (alt/base_gen_variance_alt8.nit:18)
2
20
2
-Runtime error: Cast failed. Expected `G#0`, got `Char` (alt/base_gen_variance_int_alt1.nit:27)
+Runtime error: Cast failed. Expected `E`, got `Char` (alt/base_gen_variance_int_alt1.nit:27)
2
-base_isa_vt_gen1.nit:30,10--34: Warning: Expression is already a Triple[A#0, A#1, V].
+base_isa_vt_gen1.nit:30,10--34: Warning: Expression is already a Triple[T, U, V].
base_isa_vt_gen1.nit:54,8--52: Warning: Expression is already a Triple[String, Int, nullable Object].
base_isa_vt_gen1.nit:57,8--46: Warning: Expression is already a Triple[String, String, String].
base_isa_vt_gen1.nit:60,8--48: Warning: Expression is already a Triple[String, String, B[String]].
-alt/error_class_generic_alt1.nit:17,13--17: Redef error: Formal parameter arity missmatch; got 0, expected 1.
+alt/error_class_generic_alt1.nit:25,8--12: Type error: 'Array' is a generic class.
-alt/error_class_generic_alt3.nit:19,13--17: Redef error: Formal parameter arity missmatch; got 2, expected 1.
+alt/error_class_generic_alt3.nit:19,29--34: Error: A formal parameter type `E' already exists
-alt/error_class_generic_alt6.nit:22,7--11: Redef error: Array is an imported class. Add the redef keyword to refine it.
+alt/error_class_generic_alt6.nit:22,23--28: Error: A formal parameter type `E' already exists
-error_inh_clash4.nit:15,7: Error: Incompatibles ancestors for A: Sequence[A#1], Sequence[A#0]
-error_inh_clash4.nit:15,7: Error: Incompatibles ancestors for A: SequenceRead[A#1], SequenceRead[A#0]
+error_inh_clash4.nit:15,7: Error: Incompatibles ancestors for A: Sequence[F], Sequence[E]
+error_inh_clash4.nit:15,7: Error: Incompatibles ancestors for A: SequenceRead[F], SequenceRead[E]
-test_multiconstraint_inh.nit:39,18--21: Redef Error: Wrong type for parameter `e'. found J, expected I[G#0] as in test_multiconstraint_inh#G#baz.
+test_multiconstraint_inh.nit:39,18--21: Redef Error: Wrong type for parameter `e'. found J, expected I[E] as in test_multiconstraint_inh#G#baz.
-Runtime error: Cast failed. Expected `NativeArray#0`, got `Bool` (../lib/standard/collection/array.nit:754)
+Runtime error: Cast failed. Expected `E`, got `Bool` (../lib/standard/collection/array.nit:754)
NativeString
N
Nit
-test_paire.nit:45,7--10: Redef error: Pair is an imported class. Add the redef keyword to refine it.
-test_paire.nit:54,7--10: Redef error: Pair is an imported class. Add the redef keyword to refine it.
+test_paire.nit:45,27--39: Error: A formal parameter type `E' already exists
+test_paire.nit:54,20--25: Error: A formal parameter type `E' already exists
end
end
-class Pair[E: Comparable, E: Comparable]
+class Pair[E: Comparable, F: Comparable]
fun >(p: Pair[Comparable, Comparable]): Bool
do
end
end
-class Pair[E: Int, E: Int]
+class Pair[E: Int, F: Int]
fun sum: Int
do