1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

ci: revert "cgen: fix embedded struct init with complex fields (fix #12823) (#12825)" (#12830)

This reverts commit b4b2a21453.
This commit is contained in:
yuyi 2021-12-14 14:11:11 +08:00 committed by GitHub
parent b4b2a21453
commit 731015cd9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 33 deletions

View File

@ -6807,20 +6807,11 @@ fn (mut g Gen) type_default(typ_ ast.Type) string {
|| field_sym.kind in [.array, .map, .string, .bool, .alias, .i8, .i16, .int, .i64, .byte, .u16, .u32, .u64, .char, .voidptr, .byteptr, .charptr, .struct_] {
field_name := c_name(field.name)
if field.has_default_expr {
mut expr_str := ''
if g.table.get_type_symbol(field.typ).kind in [.sum_type, .interface_] {
expr_str = g.expr_string_with_cast(field.default_expr,
field.default_expr_typ, field.typ)
} else {
expr_str = g.expr_string(field.default_expr)
}
expr_str := g.expr_string_with_cast(field.default_expr, field.default_expr_typ,
field.typ)
init_str += '.$field_name = $expr_str,'
} else {
mut zero_str := g.type_default(field.typ)
if zero_str == '{0}' {
zero_str = '{EMPTY_STRUCT_INITIALIZATION}'
}
init_str += '.$field_name = $zero_str,'
init_str += '.$field_name = ${g.type_default(field.typ)},'
}
has_none_zero = true
}

View File

@ -1,21 +0,0 @@
struct Bar {}
type Fnc = fn ()
struct Foo {
Bar
fnc_fn Fnc = voidptr(0)
}
struct App {
mut:
foo Foo
}
fn test_struct_init_with_complex_fields() {
mut app := App{}
println(app)
ret := '$app'
assert ret.contains('Bar: Bar{}')
assert ret.contains('fnc_fn: fn ()')
}