about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-06-02 17:43:11 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-06-02 17:43:11 -0700
commitc515ed13deafda59f0b8e00e7fa67802009e33fd (patch)
tree2db46f73331062555e8bbe7b02371fba87758552 /src/comp
parentcb61d7b38ed1fdccad4f9fb0046df598775451ac (diff)
parent20bd927c3f42aef2068c3c1b745efb7cba3b22a8 (diff)
downloadrust-c515ed13deafda59f0b8e00e7fa67802009e33fd.tar.gz
rust-c515ed13deafda59f0b8e00e7fa67802009e33fd.zip
Merge pull request #450 from paulstansifer/quick_error_message_fix_2
Flatten functions and objects in trans::simplify_type.
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/middle/trans.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 1f7c180b155..08ec30dec6b 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -1293,6 +1293,20 @@ fn simplify_type(&@crate_ctxt ccx, &ty::t typ) -> ty::t {
             case (ty::ty_vec(_)) {
                 ret ty::mk_imm_vec(ccx.tcx, ty::mk_nil(ccx.tcx));
             }
+            case (ty::ty_fn(_,_,_,_)) {
+                ret ty::mk_imm_tup(ccx.tcx, 
+                                   [ty::mk_imm_box(ccx.tcx, 
+                                                   ty::mk_nil(ccx.tcx)),
+                                    ty::mk_imm_box(ccx.tcx, 
+                                                   ty::mk_nil(ccx.tcx))]);
+            }
+            case (ty::ty_obj(_)) {
+                ret ty::mk_imm_tup(ccx.tcx, 
+                                   [ty::mk_imm_box(ccx.tcx, 
+                                                   ty::mk_nil(ccx.tcx)),
+                                    ty::mk_imm_box(ccx.tcx, 
+                                                   ty::mk_nil(ccx.tcx))]);
+            }
             case (_) { ret typ; }
         }
     }