syntax: type error when using superstrings with nullables
authorJean Privat <jean@pryen.org>
Mon, 18 Jan 2010 18:13:50 +0000 (13:13 -0500)
committerJean Privat <jean@pryen.org>
Mon, 18 Jan 2010 18:13:50 +0000 (13:13 -0500)
Signed-off-by: Jean Privat <jean@pryen.org>

src/syntax/typing.nit
tests/sav/error_expr_not_ok_alt6.sav

index fea49b7..b060990 100644 (file)
@@ -946,8 +946,10 @@ redef class ASuperstringExpr
        var _atype: nullable MMType
        redef fun after_typing(v)
        do
+               var otype = v.type_object
                var stype = v.type_string
                _stype = stype
+               for e in n_exprs do v.check_conform_expr(e, otype)
                var atype = v.type_array(stype)
                _atype = atype
                _is_typed = true
index 857efc5..a925b8d 100644 (file)
@@ -117,6 +117,7 @@ alt/error_expr_not_ok_alt6.nit:144,8--11: Type error: expected Discrete, got nul
 alt/error_expr_not_ok_alt6.nit:145,8--14: Type error: expected A, got Array[nullable Int]
 alt/error_expr_not_ok_alt6.nit:146,8--14: Type error: expected A, got Array[nullable Int]
 alt/error_expr_not_ok_alt6.nit:147,8--17: Type error: expected A, got Array[null]
+alt/error_expr_not_ok_alt6.nit:149,14--17: Type error: expected Object, got null
 alt/error_expr_not_ok_alt6.nit:149,7--24: Type error: expected A, got String
 alt/error_expr_not_ok_alt6.nit:150,7--17: Type error: expected A, got Int
 alt/error_expr_not_ok_alt6.nit:151,7--10: Type error: 'as(not null)' on 'null' value.