| 1 | struct Foo { |
| 2 | age int |
| 3 | name string |
| 4 | } |
| 5 | |
| 6 | // different order |
| 7 | struct Bar { |
| 8 | name string |
| 9 | age int |
| 10 | } |
| 11 | |
| 12 | fn test_order() { |
| 13 | f := Foo{ |
| 14 | age: 4 |
| 15 | name: 'f' |
| 16 | } |
| 17 | b := Bar{ |
| 18 | ...f |
| 19 | } |
| 20 | assert b == Bar{'f', 4} |
| 21 | b2 := Bar{ |
| 22 | ...f |
| 23 | name: 'b2' |
| 24 | } |
| 25 | assert b2.name == 'b2' |
| 26 | assert b2.age == 4 |
| 27 | } |
| 28 | |
| 29 | struct Qux { |
| 30 | name string |
| 31 | age int |
| 32 | extra bool |
| 33 | } |
| 34 | |
| 35 | fn test_extra() { |
| 36 | f := Foo{4, 'f'} |
| 37 | q := Qux{ |
| 38 | ...f |
| 39 | extra: true |
| 40 | } |
| 41 | assert q == Qux{'f', 4, true} |
| 42 | } |
| 43 |