Optimize lent in JS [backport:1.6] (#19393)
* Optimize lent in JS [backport:1.6] * addr on lent doesn't work anymore, don't use it * use unsafeAddr in test again for older versions
This commit is contained in:
parent
dc8ac66873
commit
07c7a8a526
3 changed files with 81 additions and 23 deletions
33
tests/js/tlent.nim
Normal file
33
tests/js/tlent.nim
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
discard """
|
||||
output: '''
|
||||
hmm
|
||||
100
|
||||
hmm
|
||||
100
|
||||
'''
|
||||
"""
|
||||
|
||||
# #16800
|
||||
|
||||
type A = object
|
||||
b: int
|
||||
var t = A(b: 100)
|
||||
block:
|
||||
proc getValues: lent int =
|
||||
echo "hmm"
|
||||
result = t.b
|
||||
echo getValues()
|
||||
block:
|
||||
proc getValues: lent int =
|
||||
echo "hmm"
|
||||
t.b
|
||||
echo getValues()
|
||||
|
||||
when false: # still an issue, #16908
|
||||
template main =
|
||||
iterator fn[T](a:T): lent T = yield a
|
||||
let a = @[10]
|
||||
for b in fn(a): echo b
|
||||
|
||||
static: main()
|
||||
main()
|
||||
Loading…
Add table
Add a link
Reference in a new issue