3 (* Checks treatment
of sharing constraints
. *)
12 signature T
= (* from SML
/NJ doc
*)
23 (* Check that multiple
sharing equations is all pairs
. *)
27 structure U
: sig type t
= int end
31 functor F (structure A
: sig type t
end
33 structure C
: sig type t
end
36 val _
: A
.t
-> C
.t
= fn x
=> x
39 functor F (structure A
: sig type t
end
40 structure B
: sig type u
end
41 structure C
: sig type t
end
42 structure D
: sig type u
end
43 sharing A
= B
= C
= D
) =
45 val _
: A
.t
-> C
.t
= fn x
=> x
46 val _
: B
.u
-> D
.u
= fn x
=> x
49 (* Check that
sharing doesn
't mistakenly share structures that only differ
in
50 * free flexible tycons
.