mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
cgen: fix multiple nested embed struct with duplicate field init (#12805)
This commit is contained in:
parent
f407d6de02
commit
57c1faadbe
@ -6023,6 +6023,7 @@ fn (mut g Gen) struct_init(struct_init ast.StructInit) {
|
||||
default_init := ast.StructInit{
|
||||
...struct_init
|
||||
typ: embed
|
||||
fields: init_fields_to_embed
|
||||
}
|
||||
g.write('.$embed_name = ')
|
||||
g.struct_init(default_init)
|
||||
|
@ -0,0 +1,19 @@
|
||||
struct Foo {
|
||||
mut:
|
||||
x int
|
||||
}
|
||||
|
||||
struct Bar {
|
||||
Foo
|
||||
mut:
|
||||
x int
|
||||
}
|
||||
|
||||
fn test_multiple_embed_struct_with_duplicate_field_init() {
|
||||
mut b := Bar{
|
||||
x: 2
|
||||
}
|
||||
println(b)
|
||||
assert b.x == 2
|
||||
assert b.Foo.x == 0
|
||||
}
|
Loading…
Reference in New Issue
Block a user