123456789101112131415161718192021222324252627282930313233343536 |
- discard """
- output: '''2
- 88'''
- """
- 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[]
|