diff options
author | Araq <rumpf_a@web.de> | 2015-10-06 15:49:36 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-10-06 15:51:00 +0200 |
commit | 8507f95d68e097f714000f2baa4271ba09f5699e (patch) | |
tree | 2bdc205f43f5404ef1bb8652cd8c878936f9ce4a /tests/ccgbugs/twrong_discriminant_check.nim | |
parent | 732bdd54a09c2a7a1724a80ffbc6fbe09c697886 (diff) | |
download | Nim-8507f95d68e097f714000f2baa4271ba09f5699e.tar.gz |
fixes #2637
Diffstat (limited to 'tests/ccgbugs/twrong_discriminant_check.nim')
-rw-r--r-- | tests/ccgbugs/twrong_discriminant_check.nim | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/ccgbugs/twrong_discriminant_check.nim b/tests/ccgbugs/twrong_discriminant_check.nim new file mode 100644 index 000000000..a802f45ef --- /dev/null +++ b/tests/ccgbugs/twrong_discriminant_check.nim @@ -0,0 +1,30 @@ +discard """ + output: "(kind: None)" +""" + +when true: + # bug #2637 + + type + OptionKind = enum + None, + Some + + Option*[T] = object + case kind: OptionKind + of None: + discard + of Some: + value*: T + + proc none*[T](): Option[T] = + Option[T](kind: None) + + proc none*(T: typedesc): Option[T] = none[T]() + + + proc test(): Option[int] = + int.none + + echo test() + |