diff options
| author | Graydon Hoare <[email protected]> | 2010-06-25 23:55:36 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2010-06-25 23:55:36 -0700 |
| commit | 9236ad28460c78b6dc72dcefb1d5c9fa6d932463 (patch) | |
| tree | 52f87f1d2409df192317781d9b4687535aa2f1cc /src | |
| parent | Fix register-use bugs in sweep pass, factor sweep pass out and call twice for... (diff) | |
| download | rust-9236ad28460c78b6dc72dcefb1d5c9fa6d932463.tar.xz rust-9236ad28460c78b6dc72dcefb1d5c9fa6d932463.zip | |
Further attempts to convince mem_ctrl to be sane.
Diffstat (limited to 'src')
| -rw-r--r-- | src/boot/me/transutil.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/boot/me/transutil.ml b/src/boot/me/transutil.ml index c430e034..7cfe89d7 100644 --- a/src/boot/me/transutil.ml +++ b/src/boot/me/transutil.ml @@ -127,7 +127,9 @@ let slot_mem_ctrl (slot:Ast.slot) : mem_ctrl = then MEM_gc else MEM_rc_struct | Ast.MODE_exterior _ -> - MEM_rc_opaque + if type_has_state ty + then MEM_gc + else MEM_rc_opaque | _ -> MEM_interior ;; |