diff --git a/vlib/v/fmt/fmt.v b/vlib/v/fmt/fmt.v index e80f7fb45f..3a3ddc45a7 100644 --- a/vlib/v/fmt/fmt.v +++ b/vlib/v/fmt/fmt.v @@ -643,7 +643,7 @@ pub fn (mut f Fmt) struct_decl(node ast.StructDecl) { f.write(gtypes) f.write('>') } - if node.fields.len == 0 && node.pos.line_nr == node.pos.last_line { + if node.fields.len == 0 && node.embeds.len == 0 && node.pos.line_nr == node.pos.last_line { f.writeln(' {}\n') return } diff --git a/vlib/v/fmt/tests/struct_embed_keep.vv b/vlib/v/fmt/tests/struct_embed_keep.vv index 8c2fc02173..3e23704bb7 100644 --- a/vlib/v/fmt/tests/struct_embed_keep.vv +++ b/vlib/v/fmt/tests/struct_embed_keep.vv @@ -10,3 +10,8 @@ struct Bar { y int z string } + +struct Baz { + Foo + Test +} diff --git a/vlib/v/fmt/tests/structs_expected.vv b/vlib/v/fmt/tests/structs_expected.vv index dedab4776d..9d7f158204 100644 --- a/vlib/v/fmt/tests/structs_expected.vv +++ b/vlib/v/fmt/tests/structs_expected.vv @@ -25,6 +25,10 @@ pub mut: pub_mut_field string } +struct Bar { + Foo +} + fn new_user() User { return User{ name: 'Serious Sam' diff --git a/vlib/v/fmt/tests/structs_input.vv b/vlib/v/fmt/tests/structs_input.vv index f7fb65e709..d1f955f849 100644 --- a/vlib/v/fmt/tests/structs_input.vv +++ b/vlib/v/fmt/tests/structs_input.vv @@ -25,6 +25,8 @@ struct Foo { pub_mut_field string } +struct Bar { Foo } + fn new_user() User {