mirror of
https://github.com/vlang/v.git
synced 2025-09-17 11:26:17 -04:00
parent
c50d4ee13b
commit
1bfeda6256
@ -197,7 +197,11 @@ fn (mut g Gen) struct_init(node ast.StructInit) {
|
||||
embed_sym := g.table.sym(embed)
|
||||
embed_name := embed_sym.embed_name()
|
||||
if embed_name !in inited_fields {
|
||||
embed_info := embed_sym.info as ast.Struct
|
||||
embed_info := if embed_sym.info is ast.Struct {
|
||||
embed_sym.info
|
||||
} else {
|
||||
g.table.final_sym(embed).info as ast.Struct
|
||||
}
|
||||
embed_field_names := embed_info.fields.map(it.name)
|
||||
fields_to_embed := init_fields_to_embed.filter(it.name !in used_embed_fields
|
||||
&& it.name in embed_field_names)
|
||||
|
13
vlib/v/tests/struct_with_alias_embed_test.v
Normal file
13
vlib/v/tests/struct_with_alias_embed_test.v
Normal file
@ -0,0 +1,13 @@
|
||||
struct Foo1 {}
|
||||
|
||||
type Foo2 = Foo1
|
||||
|
||||
struct Bar {
|
||||
Foo2
|
||||
}
|
||||
|
||||
fn test_main() {
|
||||
assert Bar{}.str() == 'Bar{
|
||||
Foo2: Foo2(Foo1{})
|
||||
}'
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user