Files
Nim/tests/implicit/timplicit.nim
2018-12-11 21:23:22 +01:00

50 lines
526 B
Nim

discard """
output: '''
1
2
3
4
2
88
timplicit done
'''
"""
for x in [1, 2, 3, 4]:
echo x
type
TValue* {.pure, final.} = object of RootObj
a: int
PValue = ref TValue
PPValue = ptr PValue
var x: PValue
new x
var sp: PPValue = addr x
sp.a = 2
if sp.a == 2: echo 2 # with sp[].a the error is gone
# Test the new auto-deref a little
{.experimental.}
proc p(x: var int; y: int) = x += y
block:
var x: ref int
new(x)
x.p(44)
var indirect = p
x.indirect(44)
echo x[]
echo "timplicit done"