diff options
| author | Graydon Hoare <graydon@mozilla.com> | 2010-07-01 21:20:30 -0700 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2010-07-01 21:20:30 -0700 |
| commit | 01cfcfab1356407f98081e565644d4e3047fe36c (patch) | |
| tree | fac3a36cecca90f001bd204dad1d38cc178d1668 /src/boot | |
| parent | 2d40bc669c6f50247a0f3eec49b9a8e0cf375272 (diff) | |
Strip outer 'mutable' off slot when deciding if pred can apply.
Diffstat (limited to 'src/boot')
| -rw-r--r-- | src/boot/me/typestate.ml | 5 |
1 files 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. |
