v2 / vlib / v / tests / structs / struct_init_update_test.v
32 lines · 27 sloc · 481 bytes · dff623e14309f8862458d71cc92e9bc59c7cd7ce
Raw
1module main
2
3struct Particle {
4 name string
5}
6
7struct ParticleSystem {
8 name string
9 particle &Particle
10}
11
12struct Ship {
13 name string
14 particle_system &ParticleSystem
15}
16
17fn test_main() {
18 ship := &Ship{
19 name: 'ship'
20 particle_system: &ParticleSystem{
21 name: 'thrust'
22 particle: &Particle{
23 name: 'thrust_particle'
24 }
25 }
26 }
27
28 ship_clone := &Ship{
29 ...ship
30 }
31 assert ship_clone.particle_system.particle == ship.particle_system.particle
32}
33