diff options
author | Brandon Pickering <brandonpickering95@gmail.com> | 2017-01-10 21:24:31 -0800 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-01-11 06:24:31 +0100 |
commit | da1293c405c3323430cf7dc0f1abcd025b6fe70c (patch) | |
tree | 9249ef308f64625e2c7d3e7ade615042281186a9 /tests/ccgbugs | |
parent | 767524d62a1ecf8bdab1457d08a51f77cedefca3 (diff) | |
download | Nim-da1293c405c3323430cf7dc0f1abcd025b6fe70c.tar.gz |
Reset exprs before return by arg. Fixes #5098 (#5191)
Diffstat (limited to 'tests/ccgbugs')
-rw-r--r-- | tests/ccgbugs/tret_arg_init.nim | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/ccgbugs/tret_arg_init.nim b/tests/ccgbugs/tret_arg_init.nim new file mode 100644 index 000000000..3c80fb061 --- /dev/null +++ b/tests/ccgbugs/tret_arg_init.nim @@ -0,0 +1,26 @@ +discard """ + output: '''nil +nil +nil''' +""" + +type Bar = object + s1, s2: string + +proc initBar(): Bar = discard + +var a: array[5, Bar] +a[0].s1 = "hey" +a[0] = initBar() +echo a[0].s1 + +type Foo = object + b: Bar +var f: Foo +f.b.s1 = "hi" +f.b = initBar() +echo f.b.s1 + +var ad = addr f.b +ad[] = initBar() +echo ad[].s1 |