Strip outer 'mutable' off slot when deciding if pred can apply.

This commit is contained in:
Graydon Hoare 2010-07-01 21:20:30 -07:00
parent 2d40bc669c
commit 01cfcfab13

View File

@ -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.