diff options
Diffstat (limited to 'tests/objvariant/tadrdisc.nim')
-rw-r--r-- | tests/objvariant/tadrdisc.nim | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/objvariant/tadrdisc.nim b/tests/objvariant/tadrdisc.nim new file mode 100644 index 000000000..0e0324562 --- /dev/null +++ b/tests/objvariant/tadrdisc.nim @@ -0,0 +1,23 @@ +discard """ + file: "tadrdisc.nim" + line: 20 + errormsg: "for a \'var\' type a variable needs to be passed" +""" +# Test that the address of a dicriminants cannot be taken + +type + TKind = enum ka, kb, kc + TA = object + case k: TKind + of ka: x, y: int + of kb: a, b: string + of kc: c, d: float + +proc setKind(k: var TKind) = + k = kc + +var a: TA +setKind(a.k) #ERROR_MSG for a 'var' type a variable needs to be passed + + + |