Import Upstream version 20180207
[hcoop/debian/mlton.git] / regression / fail / equality-types.sml
CommitLineData
7f918cf1
CE
1val _ = 1 = 2
2
3val _ = 1.0 = 2.0 (* error *)
4
5val f: ''a -> unit = fn _ => raise Fail "f"
6
7val _ = f 1
8
9val _ = f 1.0 (* error *)
10
11datatype 'a t = T of 'a
12
13val _ = T 1 = T 2
14
15val _ = T 1.0 = T 2.0 (* 15 error *)
16
17datatype 'a t = T
18
19val _ = (T: int t) = T
20
21val _ = (T: real t) = T (* 21 error *)
22
23datatype t = T of u
24withtype u = real
25
26val _ = T 13.0 = T 14.0 (* 26 error *)
27
28datatype t = T of u
29and u = U of t
30
31fun f (x: t) = x = x
32
33datatype 'a t = T of 'a u
34and 'a u = U of 'a
35
36fun f (x: int t) = x = x
37
38fun f (x: real t) = x = x (* 38 error *)
39
40val f: 'a -> unit = fn x => (x = x; ()) (* 40 error *)