Flatten functions and objects in trans::simplify_type.

This commit is contained in:
Paul Stansifer 2011-06-02 17:40:12 -07:00
parent 12f86e6f2f
commit 20bd927c3f

View File

@ -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; }
}
}