]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/ng_kernel/nCicUntrusted.ml
Different behaviour of OCaml 4.0.
[helm.git] / matita / components / ng_kernel / nCicUntrusted.ml
index b2003d1d72ed599d35152b25aab2e0d334db33ab..5df06d28d001cdfbc0d74a84e15fbbc2f5f1b91c 100644 (file)
@@ -209,8 +209,12 @@ let apply_subst status ?(fix_projections=false) subst context t =
                    apply_subst subst () (NCicSubstitution.lift status n t)) l))))
   | t -> NCicUtils.map status (fun _ () -> ()) () (apply_subst subst) t
  in
- (if fix_projections then fire_projection_redex status () else fun x -> x)
-    (clean_or_fix_dependent_abstrations status context (apply_subst subst () t))
+  let t = apply_subst subst () t in
+  let t = clean_or_fix_dependent_abstrations status context t in
+  if fix_projections then
+   fire_projection_redex status () t
+  else
+   t
 ;;
 
 let apply_subst_context status ~fix_projections subst context =
@@ -265,7 +269,7 @@ let rec replace_in_subst i f = function
 ;;
           
 let set_kind newkind attrs = 
-  newkind :: List.filter (fun x -> not (is_kind x)) attrs 
+  (newkind :> NCic.meta_attr) :: List.filter (fun x -> not (is_kind x)) attrs 
 ;;
 
 let max_kind k1 k2 =