diff options
| author | Alasdair Armstrong | 2018-04-18 15:07:00 +0100 |
|---|---|---|
| committer | Alasdair Armstrong | 2018-04-18 15:07:48 +0100 |
| commit | 7adfbd40df2379d8669843e71b0993fc69d1690c (patch) | |
| tree | dd2cceb16d9e653a34ef56066de764f608ea9c4c | |
| parent | 61a7ddecad42f873f3776d22e41ec5cd1ae69859 (diff) | |
Add a test case for using enum to number function as a cast
| -rw-r--r-- | test/typecheck/pass/enum_cast.sail | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/typecheck/pass/enum_cast.sail b/test/typecheck/pass/enum_cast.sail new file mode 100644 index 00000000..291eaff4 --- /dev/null +++ b/test/typecheck/pass/enum_cast.sail @@ -0,0 +1,15 @@ +default Order dec + +$include <prelude.sail> + +enum E = {A, B, C} + +val cast E_cast : E -> {'e, 0 <= 'e <= 2. atom('e)} +function E_cast(e) = num_of_E(e) + +val main : unit -> unit + +function main() = { + let x : vector(3, dec, int) = [1, 2, 3]; + print_int("x = ", x[B]) +} |
