var local_class = get_local_class(v)
if local_class == null then return null
- var arity = n_types.length
+ var arity = n_types.length
if local_class.arity != arity then
- v.error(self, "Type error: '{local_class}' has {local_class.arity} parameters which differs from the {arity} params.")
+ if arity == 0 then
+ v.error(self, "Type error: '{local_class}' is a generic class.")
+ else if local_class.arity == 0 then
+ v.error(self, "Type error: '{local_class}' is not a generic class.")
+ else
+ v.error(self, "Type error: '{local_class}' has {local_class.arity} parameters ({arity} are provided).")
+ end
return null
end
--- /dev/null
+alt/base_gen2_alt1.nit:61,13--17: Type error: 'A' is not a generic class.
--- /dev/null
+alt/base_gen2_alt2.nit:62,13--13: Type error: 'B' is a generic class.
--- /dev/null
+alt/base_gen2_alt3.nit:63,13--22: Type error: 'B' has 1 parameters (2 are provided).
--- /dev/null
+alt/base_gen2_alt4.nit:64,13--13: Type error: 'C' is a generic class.
--- /dev/null
+alt/base_gen2_alt5.nit:65,13--17: Type error: 'C' has 2 parameters (1 are provided).
--- /dev/null
+alt/error_type_not_ok5_alt1.nit:23,8--11: Type error: 'Fail' is a generic class.
+alt/error_type_not_ok5_alt1.nit:25,9--21: Type error: 'Fail' is a generic class.
+alt/error_type_not_ok5_alt1.nit:28,14--17: Type error: 'Fail' is a generic class.
+alt/error_type_not_ok5_alt1.nit:29,11--14: Type error: 'Fail' is a generic class.
+alt/error_type_not_ok5_alt1.nit:30,11--14: Type error: 'Fail' is a generic class.
+alt/error_type_not_ok5_alt1.nit:31,13--16: Type error: 'Fail' is a generic class.