@@ -9,6 +9,10 @@ derive instance eqX :: Eq X
10derive instance ordX :: Ord X
10derive instance ordX :: Ord X
12+newtype Z = Z { left :: X, right :: X }
14+derive instance eqZ :: Eq Z
13 assert $ X 0 == X 0
17 assert $ X 0 == X 0
14 assert $ X 0 /= X 1
18 assert $ X 0 /= X 1
@@ -17,3 +21,5 @@ main = do
17 assert $ X 0 < X 1
21 assert $ X 0 < X 1
18 assert $ X 0 < Y "Foo"
22 assert $ X 0 < Y "Foo"
19 assert $ Y "Bar" < Y "Baz"
23 assert $ Y "Bar" < Y "Baz"
24+ assert $ z == z where
25+ z = Z { left: X 0, right: Y "Foo" }