v2 / vlib / v / tests / options / option_selector_assign_test.v
20 lines · 18 sloc · 342 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1struct Tree {
2mut:
3 nr_elems int
4 parent ?&Tree
5}
6
7fn (mut t Tree) set_nr_elems(name string, value int) {
8 t.parent or { return }.nr_elems = value
9}
10
11fn 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