diff options
Diffstat (limited to 'tests/constraint.lac')
-rw-r--r-- | tests/constraint.lac | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/constraint.lac b/tests/constraint.lac new file mode 100644 index 00000000..54c77093 --- /dev/null +++ b/tests/constraint.lac @@ -0,0 +1,29 @@ +signature S = sig + con nm :: Name + con r :: {Type} + + constraint [nm] ~ r +end + +structure M : S = struct + con nm = #A + con r = [B = float, C = string] + + constraint [A] ~ [B] + constraint [nm] ~ r + constraint [C] ~ [D] +end + +structure M' = struct + open M + + con combo = [nm = int] ++ r +end + +structure M' = struct + open constraints M + + con nm' = M.nm + con r' = M.r + con combo = [nm' = int] ++ r' +end |