aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontend/refmark.icl11
1 files changed, 8 insertions, 3 deletions
diff --git a/frontend/refmark.icl b/frontend/refmark.icl
index 9f53f86..8b6f738 100644
--- a/frontend/refmark.icl
+++ b/frontend/refmark.icl
@@ -771,13 +771,18 @@ where
-> has_observing_type subst_type type_def_infos subst
has_observing_type (TA {type_index = {glob_object,glob_module}} type_args) type_def_infos subst
# {tdi_properties} = type_def_infos.[glob_module].[glob_object]
- = foldSt (\ {at_type} ok -> ok && has_observing_type at_type type_def_infos subst) type_args (tdi_properties bitand cIsHyperStrict <> 0)
+ = tdi_properties bitand cIsHyperStrict <> 0 && args_have_observing_type type_args type_def_infos subst
has_observing_type (TAS {type_index = {glob_object,glob_module}} type_args _) type_def_infos subst
# {tdi_properties} = type_def_infos.[glob_module].[glob_object]
- = foldSt (\ {at_type} ok -> ok && has_observing_type at_type type_def_infos subst) type_args (tdi_properties bitand cIsHyperStrict <> 0)
+ = tdi_properties bitand cIsHyperStrict <> 0 && args_have_observing_type type_args type_def_infos subst
has_observing_type type type_def_infos subst
= False
-
+
+ args_have_observing_type [{at_type}:type_args] type_def_infos subst
+ = has_observing_type at_type type_def_infos subst && args_have_observing_type type_args type_def_infos subst
+ args_have_observing_type [] type_def_infos subst
+ = True
+
instance <<< ReferenceCount
where
(<<<) file RC_Unused = file