diff options
Diffstat (limited to 'tests/vm/tableinstatic.nim')
-rw-r--r-- | tests/vm/tableinstatic.nim | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/vm/tableinstatic.nim b/tests/vm/tableinstatic.nim new file mode 100644 index 000000000..934c3a8dd --- /dev/null +++ b/tests/vm/tableinstatic.nim @@ -0,0 +1,38 @@ +discard """ + nimout: '''0 +0 +0 +''' +""" + +import tables + +# bug #5327 + +type + MyType* = object + counter: int + +proc foo(t: var MyType) = + echo t.counter + +proc bar(t: MyType) = + echo t.counter + +static: + var myValue: MyType + myValue.foo # works nicely + + var refValue: ref MyType + refValue.new + + refValue[].foo # fails to compile + refValue[].bar # works again nicely + +static: + var otherTable = newTable[string, string]() + + otherTable["hallo"] = "123" + otherTable["welt"] = "456" + + doAssert otherTable == {"hallo": "123", "welt": "456"}.newTable |