parent
fc193bebf2
commit
fd58e9f819
|
@ -679,7 +679,8 @@ fn (mut g Gen) gen_str_for_map(info ast.Map, styp string, str_fn_name string) {
|
||||||
tmp_str := str_intp_sq('*($val_styp*)DenseArray_value(&m.key_values, i)')
|
tmp_str := str_intp_sq('*($val_styp*)DenseArray_value(&m.key_values, i)')
|
||||||
g.auto_str_funcs.writeln('\t\tstrings__Builder_write_string(&sb, $tmp_str);')
|
g.auto_str_funcs.writeln('\t\tstrings__Builder_write_string(&sb, $tmp_str);')
|
||||||
} else if should_use_indent_func(val_sym.kind) && !val_sym.has_method('str') {
|
} else if should_use_indent_func(val_sym.kind) && !val_sym.has_method('str') {
|
||||||
g.auto_str_funcs.writeln('\t\tstrings__Builder_write_string(&sb, indent_${elem_str_fn_name}(*($val_styp*)DenseArray_value(&m.key_values, i), indent_count));')
|
ptr_str := '*'.repeat(val_typ.nr_muls())
|
||||||
|
g.auto_str_funcs.writeln('\t\tstrings__Builder_write_string(&sb, indent_${elem_str_fn_name}(*${ptr_str}($val_styp*)DenseArray_value(&m.key_values, i), indent_count));')
|
||||||
} else if val_sym.kind in [.f32, .f64] {
|
} else if val_sym.kind in [.f32, .f64] {
|
||||||
tmp_val := '*($val_styp*)DenseArray_value(&m.key_values, i)'
|
tmp_val := '*($val_styp*)DenseArray_value(&m.key_values, i)'
|
||||||
if val_sym.kind == .f32 {
|
if val_sym.kind == .f32 {
|
||||||
|
|
|
@ -22,3 +22,18 @@ fn test_adding_to_mutable_string_field() {
|
||||||
eprintln(foo.str)
|
eprintln(foo.str)
|
||||||
assert foo.str == 'hi!'
|
assert foo.str == 'hi!'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct MyStruct {
|
||||||
|
a string
|
||||||
|
b int
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test_map_of_ref_struct_string() {
|
||||||
|
mut ar := map[string]&MyStruct{}
|
||||||
|
ar['a'] = &MyStruct{}
|
||||||
|
println(ar)
|
||||||
|
assert '$ar'.contains('MyStruct')
|
||||||
|
assert ('b' in ar) == false
|
||||||
|
assert ('a' in ar) == true
|
||||||
|
assert 'a' in ar
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue