about summary refs log tree commit diff
path: root/src/comp/metadata/tyencode.rs
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-02-02 16:50:17 -0800
committerNiko Matsakis <niko@alum.mit.edu>2012-02-05 09:12:44 -0800
commit77b06d24cd76bf808138f1f7df4dcff40260ff38 (patch)
tree1830c6000f2c4a02be320e088389979cefb1414f /src/comp/metadata/tyencode.rs
parent5163606d060ccb2c6462d34f590e2a1f30ce4a1f (diff)
downloadrust-77b06d24cd76bf808138f1f7df4dcff40260ff38.tar.gz
rust-77b06d24cd76bf808138f1f7df4dcff40260ff38.zip
infer modes rather than overwriting with expected ty
Diffstat (limited to 'src/comp/metadata/tyencode.rs')
-rw-r--r--src/comp/metadata/tyencode.rs6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/comp/metadata/tyencode.rs b/src/comp/metadata/tyencode.rs
index 84f77842a58..a9baa4f7470 100644
--- a/src/comp/metadata/tyencode.rs
+++ b/src/comp/metadata/tyencode.rs
@@ -203,16 +203,12 @@ fn enc_proto(w: io::writer, proto: proto) {
 fn enc_ty_fn(w: io::writer, cx: @ctxt, ft: ty::fn_ty) {
     w.write_char('[');
     for arg: ty::arg in ft.inputs {
-        alt arg.mode {
+        alt ty::resolved_mode(cx.tcx, arg.mode) {
           by_mut_ref { w.write_char('&'); }
           by_move { w.write_char('-'); }
           by_copy { w.write_char('+'); }
           by_ref { w.write_char('='); }
           by_val { w.write_char('#'); }
-          // tediously, this has to be there until there's a way
-          // to constraint post-typeck types not to contain a mode_infer
-          mode_infer { cx.tcx.sess.bug("enc_ty_fn: shouldn't see \
-            mode_infer"); }
         }
         enc_ty(w, cx, arg.ty);
     }