diff options
author | cooldome <cdome@bk.ru> | 2019-09-21 05:45:27 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2019-09-21 06:45:27 +0200 |
commit | be82d115764819bf9da799630948676ef6cde42a (patch) | |
tree | c9b1ef8a4a8532f2a20aeb4f6d1bf393411e8049 /tests | |
parent | c2fced129f9e365f0e6d3391015e2cd24e3fc0fa (diff) | |
download | Nim-be82d115764819bf9da799630948676ef6cde42a.tar.gz |
fixes #12224 (#12225)
* fixes #12224 * improve test
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lent/tnot_allowed_lent.nim | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/lent/tnot_allowed_lent.nim b/tests/lent/tnot_allowed_lent.nim new file mode 100644 index 000000000..b144ce36b --- /dev/null +++ b/tests/lent/tnot_allowed_lent.nim @@ -0,0 +1,24 @@ +discard """ + errmsg: "expression has no address" +""" +type + MyObject = object + x: seq[string] + +proc mytest1(s: MyObject, i: int): lent string = + ## works fine + if i < s.x.len - 1 and s.x[i] != "": + result = s.x[i] + else: raise newException(KeyError, "err1") + +proc mytest2(s: MyObject, i: int): lent string = + ## reject due to if expr + if i < s.x.len - 1 and s.x[i] != "": s.x[i] + else: raise newException(KeyError, "err1") + +for i in 1..5: + var x = MyObject(x: @["1", "2", "3"]) + echo mytest1(x, 1) + echo mytest2(x, 1) + + |