diff options
| author | Graydon Hoare <[email protected]> | 2010-06-27 13:53:23 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-06-27 13:53:23 -0700 |
| commit | 7045526a3eb1d0818aeea94968f153ee349b7935 (patch) | |
| tree | f4f3fe5402a4fc855689a6f85e0be98a6f00ffee /src | |
| parent | Encode tag and iso types at dwarf level. Can't decode them yet. (diff) | |
| download | rust-7045526a3eb1d0818aeea94968f153ee349b7935.tar.xz rust-7045526a3eb1d0818aeea94968f153ee349b7935.zip | |
Change slot_mem_ctrl to classify vec[state] as GC mem. Breaking / XFAILing mutable-vec-drop.rs test.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile | 1 | ||||
| -rw-r--r-- | src/boot/me/transutil.ml | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/Makefile b/src/Makefile index ae2a3c92..dce11c64 100644 --- a/src/Makefile +++ b/src/Makefile @@ -321,6 +321,7 @@ TEST_XFAILS_X86 := test/run-pass/mlist-cycle.rs \ test/run-pass/vec-slice.rs \ test/run-pass/generic-fn-infer.rs \ test/run-pass/generic-recursive-tag.rs \ + test/run-pass/mutable-vec-drop.rs \ test/run-pass/bind-obj-ctor.rs \ test/run-pass/task-comm.rs \ test/compile-fail/rec-missing-fields.rs \ diff --git a/src/boot/me/transutil.ml b/src/boot/me/transutil.ml index 7cfe89d7..cb867fef 100644 --- a/src/boot/me/transutil.ml +++ b/src/boot/me/transutil.ml @@ -118,8 +118,11 @@ let slot_mem_ctrl (slot:Ast.slot) : mem_ctrl = Ast.TY_port _ | Ast.TY_chan _ | Ast.TY_task - | Ast.TY_vec _ | Ast.TY_str -> MEM_rc_opaque + | Ast.TY_vec _ -> + if type_has_state ty + then MEM_gc + else MEM_rc_opaque | _ -> match slot.Ast.slot_mode with Ast.MODE_exterior _ when type_is_structured ty -> |