aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/boot/me/transutil.ml4
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
;;