| NReference.Fix(_,_,h) -> h
| _ -> 0
+ external old_hash_param :
+ int -> int -> 'a -> int = "caml_hash_univ_param" (*[@@noalloc]*);;
+
+ let old_hash = old_hash_param 10 100;;
+
let compare_refs (NReference.Ref (u1,r1)) (NReference.Ref (u2,r2)) =
let x = height_of_ref r2 - height_of_ref r1 in
if x = 0 then
- Hashtbl.hash (NUri.string_of_uri u1,r1) -
- Hashtbl.hash (NUri.string_of_uri u2,r2)
+ old_hash (NUri.string_of_uri u1,r1) -
+ old_hash (NUri.string_of_uri u2,r2)
else x
let rec compare x y =
| ( NCic.Meta _ | NCic.Appl _ ), NCic.Const _ -> 1
| NCic.Appl _, NCic.Meta _ -> ~-1
| NCic.Meta _, NCic.Appl _ -> 1
- | _ -> Pervasives.compare x y
+ | _ -> Stdlib.compare x y
(* was assert false, but why? *)
;;