| 1 | struct Tree { |
| 2 | mut: |
| 3 | nr_elems int |
| 4 | parent ?&Tree |
| 5 | } |
| 6 | |
| 7 | fn (mut t Tree) set_nr_elems(name string, value int) { |
| 8 | t.parent or { return }.nr_elems = value |
| 9 | } |
| 10 | |
| 11 | fn test_main() { |
| 12 | parent := Tree{ |
| 13 | nr_elems: 11 |
| 14 | } |
| 15 | mut child := Tree{ |
| 16 | parent: unsafe { &parent } |
| 17 | } |
| 18 | child.set_nr_elems('Buzz', 123) |
| 19 | assert child.parent or { return }.nr_elems == 123 |
| 20 | } |
| 21 |