aboutsummaryrefslogtreecommitdiff
path: root/src/boot/me
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-07-02 17:04:16 -0700
committerGraydon Hoare <[email protected]>2010-07-02 17:04:16 -0700
commit46ebf12f40b927e01aa8fdb4a96712c6fd02069e (patch)
tree68004adf7e150874d7528510828983ff34abaf86 /src/boot/me
parentSimplify type before deciding how to free it. Hint: calling free() on a runni... (diff)
downloadrust-46ebf12f40b927e01aa8fdb4a96712c6fd02069e.tar.xz
rust-46ebf12f40b927e01aa8fdb4a96712c6fd02069e.zip
You may get the feeling that all these changes look eerily the same. You would be correct.
Diffstat (limited to 'src/boot/me')
-rw-r--r--src/boot/me/trans.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/boot/me/trans.ml b/src/boot/me/trans.ml
index 7cefa5af..a3fa6e31 100644
--- a/src/boot/me/trans.ml
+++ b/src/boot/me/trans.ml
@@ -2321,7 +2321,7 @@ let trans_visitor
and seq_unit_ty (seq:Ast.ty) : Ast.ty =
- match seq with
+ match simplified_ty seq with
Ast.TY_vec t -> t
| Ast.TY_str -> Ast.TY_mach TY_u8
| _ -> bug () "seq_unit_ty of non-vec, non-str type"
@@ -2386,7 +2386,7 @@ let trans_visitor
* rec, tag or tup slots that fit in a vreg. It requires
* addrs presently.
*)
- match ty with
+ match strip_mutable_or_constrained_ty ty with
Ast.TY_rec entries ->
iter_rec_parts
(get_element_ptr_dyn ty_params) dst_cell src_cell
@@ -3030,6 +3030,7 @@ let trans_visitor
(src:Ast.expr)
: unit =
let (dst_cell, dst_ty) = trans_lval_maybe_init initializing dst in
+ let dst_ty = strip_mutable_or_constrained_ty dst_ty in
let rec can_append t =
match t with
Ast.TY_vec _