blob: a1db6d1846bf9c6a602e8c0d76535ad5de9d3f3a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
discard """
errormsg: "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)
|