diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/types/tlent_var.nim | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/types/tlent_var.nim b/tests/types/tlent_var.nim new file mode 100644 index 000000000..491f6fde8 --- /dev/null +++ b/tests/types/tlent_var.nim @@ -0,0 +1,25 @@ +discard """ + output: '''''' +""" + +type + MyObj = object + a: int + +proc test_lent(x: MyObj): lent int = + x.a + +proc test_var(x: var MyObj): var int = + x.a + +var x = MyObj(a: 5) + +doAssert: test_var(x).addr == x.a.addr +doAssert: test_lent(x).unsafeAddr == x.a.addr + +proc varProc(x: var int) = + x = 100 + +doAssert: not compiles(test_lent(x) = 1) +doAssert: not compiles(varProc(test_lent(x))) + |