From 01cfcfab1356407f98081e565644d4e3047fe36c Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Thu, 1 Jul 2010 21:20:30 -0700 Subject: [PATCH] Strip outer 'mutable' off slot when deciding if pred can apply. --- src/boot/me/typestate.ml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/boot/me/typestate.ml b/src/boot/me/typestate.ml index 764fdc96154..2c0c4b156af 100644 --- a/src/boot/me/typestate.ml +++ b/src/boot/me/typestate.ml @@ -68,9 +68,10 @@ let determine_constr_key if referent_is_slot cx aid then if type_has_state - (slot_ty (get_slot cx aid)) + (strip_mutable_or_constrained_ty + (slot_ty (get_slot cx aid))) then err (Some aid) - "predicate applied to slot of mutable type" + "predicate applied to slot of state type" else aid else (* Items are always constant, they're ok.