]> git.lizzy.rs Git - rust.git/commitdiff
Allow expressions that are not just a single value for repeated fixed length vector...
authorLuqman Aden <me@luqman.ca>
Wed, 6 Mar 2013 01:45:12 +0000 (17:45 -0800)
committerLuqman Aden <me@luqman.ca>
Tue, 19 Mar 2013 00:31:41 +0000 (17:31 -0700)
src/librustc/middle/typeck/check/mod.rs

index 752d9107d822aa6722eb0fd1ec4d656b21a5b163..7a1beeca51368aed09829aac18eed832e502a2ac 100644 (file)
@@ -2169,7 +2169,7 @@ fn check_loop_body(fcx: @mut FnCtxt,
           }
           ast::expr_repeat(element, count_expr, mutbl) => {
             let count = ty::eval_repeat_count(tcx, count_expr);
-            fcx.write_ty(count_expr.id, ty::mk_uint(tcx));
+            check_expr_with_hint(fcx, count_expr, ty::mk_uint(tcx));
             let tt = ast_expr_vstore_to_vstore(fcx, ev, count, vst);
             let t: ty::t = fcx.infcx().next_ty_var();
             bot |= check_expr_has_type(fcx, element, t);
@@ -2537,7 +2537,7 @@ fn types_compatible(fcx: @mut FnCtxt, sp: span, t1: ty::t,
       }
       ast::expr_repeat(element, count_expr, mutbl) => {
         let count = ty::eval_repeat_count(tcx, count_expr);
-        fcx.write_ty(count_expr.id, ty::mk_uint(tcx));
+        check_expr_with_hint(fcx, count_expr, ty::mk_uint(tcx));
         let t: ty::t = fcx.infcx().next_ty_var();
         bot |= check_expr_has_type(fcx, element, t);
         let t = ty::mk_evec(tcx, ty::mt {ty: t, mutbl: mutbl},