Commit e98b1638 authored by Pietro Abate's avatar Pietro Abate

fix printer for negated polymorphic variables

parent 692a2904
......@@ -153,6 +153,8 @@ module Map = struct
let is_empty l = l = []
let singleton x y = [ (x,y) ]
let fold f l acc = List.fold_left (fun tacc (k,v) -> f k v tacc) acc l
let length = List.length
let domain l = List.map fst l
......
......@@ -37,6 +37,7 @@ sig
val domain: 'a map -> t
val restrict: 'a map -> t -> 'a map
val empty: 'a map
val fold: (X.t -> 'a -> 'b -> 'b) -> 'a map -> 'b -> 'b
val iter: ('a -> unit) -> 'a map -> unit
val iteri: (X.t -> 'a -> unit) -> 'a map -> unit
val filter: (X.t -> 'a -> bool) -> 'a map -> 'a map
......
......@@ -1653,7 +1653,7 @@ struct
let l2 =
List.fold_left (fun acc -> function
|(`Var v) as x ->
if not(TLV.mem (x,true) tlv) then
if not(TLV.mem (x,false) tlv) then
(Atomic (fun ppf -> Format.fprintf ppf "~ %a" Var.print x))::acc
else acc
|`Atm bdd -> assert false
......
......@@ -1132,9 +1132,9 @@ and branches_aux loc env targ tres constr precise = function
(* Xi_j *)
let xj =
let pattpolyvars =
List.fold_left (fun acc (_,t) ->
IdMap.fold (fun _ t acc ->
Var.Set.union acc (Types.all_vars (Types.descr t))
) Var.Set.empty env'.gamma
) env'.gamma Var.Set.empty
in
Var.Set.diff pattpolyvars env'.delta
in
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment