diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/declareops.ml | 2 | ||||
| -rw-r--r-- | kernel/term_typing.ml | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/kernel/declareops.ml b/kernel/declareops.ml index dd906bab24..149eeba287 100644 --- a/kernel/declareops.ml +++ b/kernel/declareops.ml @@ -284,7 +284,7 @@ type side_effects = side_effect list let no_seff = ([] : side_effects) let iter_side_effects f l = List.iter f (List.rev l) let fold_side_effects f a l = List.fold_left f a l -let uniquize_side_effects l = l (** FIXME: there is something dubious here *) +let uniquize_side_effects l = CList.uniquize l let union_side_effects l1 l2 = l1 @ l2 let flatten_side_effects l = List.flatten l let side_effects_of_list l = l diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml index 8c4ec8cbfc..770c720d89 100644 --- a/kernel/term_typing.ml +++ b/kernel/term_typing.ml @@ -64,6 +64,10 @@ let handle_side_effects env body side_eff = let cbl = match se with | SEsubproof (c,cb) -> [c,cb] | SEscheme (cl,_) -> List.map (fun (_,c,cb) -> c,cb) cl in + let not_exists (c,_) = + try ignore(Environ.lookup_constant c env); false + with Not_found -> true in + let cbl = List.filter not_exists cbl in let cname c = let name = string_of_con c in for i = 0 to String.length name - 1 do |
