|
@@ -365,11 +365,11 @@ module ConstPropagation = DataFlow(struct
|
|
|
let top = Top
|
|
|
let bottom = Bottom
|
|
|
|
|
|
- let equals lat1 lat2 = match lat1,lat2 with
|
|
|
+ let rec equals lat1 lat2 = match lat1,lat2 with
|
|
|
| Top,Top | Bottom,Bottom -> true
|
|
|
| Const ct1,Const ct2 -> ct1 = ct2
|
|
|
| Null t1,Null t2 -> t1 == t2
|
|
|
- | EnumValue(i1,_),EnumValue(i2,_) -> i1 = i2
|
|
|
+ | EnumValue(i1,tl1),EnumValue(i2,tl2) -> i1 = i2 && List.for_all2 equals tl1 tl2
|
|
|
| ModuleType(mt1,_),ModuleType (mt2,_) -> mt1 == mt2
|
|
|
| _ -> false
|
|
|
|