about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/comp/middle/mut.rs5
-rw-r--r--src/comp/middle/trans/base.rs3
-rw-r--r--src/comp/middle/typeck.rs6
3 files changed, 5 insertions, 9 deletions
diff --git a/src/comp/middle/mut.rs b/src/comp/middle/mut.rs
index 8ea39d33de1..b0e7b1ff547 100644
--- a/src/comp/middle/mut.rs
+++ b/src/comp/middle/mut.rs
@@ -243,11 +243,12 @@ fn check_bind(cx: @ctx, f: @expr, args: [option<@expr>]) {
     for arg in args {
         alt arg {
           some(expr) {
-            alt (alt arg_ts[i].mode {
+            let o_msg = alt ty::resolved_mode(cx.tcx, arg_ts[i].mode) {
               by_mut_ref { some("by mutable reference") }
               by_move { some("by move") }
               _ { none }
-            }) {
+            };
+            alt o_msg {
               some(name) {
                 cx.tcx.sess.span_err(
                     expr.span, "can not bind an argument passed " + name);
diff --git a/src/comp/middle/trans/base.rs b/src/comp/middle/trans/base.rs
index cc3572e28f1..f330c48d636 100644
--- a/src/comp/middle/trans/base.rs
+++ b/src/comp/middle/trans/base.rs
@@ -4422,8 +4422,7 @@ fn copy_args_to_allocas(fcx: @fn_ctxt, bcx: @block_ctxt, args: [ast::arg],
     let epic_fail = fn@() -> ! {
         tcx.sess.bug("Someone forgot\
                 to document an invariant in copy_args_to_allocas!");
-    }
-    let epic_fail = bind epic_fail_(bcx);
+    };
     for arg in arg_tys {
         let id = args[arg_n].id;
         let argval = alt fcx.llargs.get(id) { local_mem(v) { v }
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs
index 148222d95f0..9a37ec4a018 100644
--- a/src/comp/middle/typeck.rs
+++ b/src/comp/middle/typeck.rs
@@ -2045,11 +2045,7 @@ fn check_expr_with_unifier(fcx: @fn_ctxt, expr: @ast::expr, unify: unifier,
         // Take the prototype from the expected type, but default to block:
         let proto = alt ty::struct(tcx, expected) {
           ty::ty_fn({proto, _}) { proto }
-          _ {
-            tcx.sess.span_warn(expr.span, "unable to infer kind of closure, \
-                                           defaulting to block");
-            ast::proto_block
-          }
+          _ { ast::proto_box }
         };
         #debug("checking expr_fn_block %s expected=%s",
                expr_to_str(expr),