cgen: fix spurious autoref bug, for struct init of a &C.type field, with a byteptr value
parent
74ebce6b1f
commit
0e55534c6e
|
@ -3850,7 +3850,8 @@ fn (mut g Gen) struct_init(struct_init ast.StructInit) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !cloned {
|
if !cloned {
|
||||||
if field.expected_type.is_ptr() && !field.typ.is_ptr() && !field.typ.is_number() {
|
if field.expected_type.is_ptr() && !(field.typ.is_ptr() || field.typ.is_pointer()) &&
|
||||||
|
!field.typ.is_number() {
|
||||||
g.write('/* autoref */&')
|
g.write('/* autoref */&')
|
||||||
}
|
}
|
||||||
g.expr_with_cast(field.expr, field.typ, field.expected_type)
|
g.expr_with_cast(field.expr, field.typ, field.expected_type)
|
||||||
|
@ -3889,7 +3890,8 @@ fn (mut g Gen) struct_init(struct_init ast.StructInit) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !cloned {
|
if !cloned {
|
||||||
if sfield.expected_type.is_ptr() && !sfield.typ.is_ptr() && !sfield.typ.is_number() {
|
if sfield.expected_type.is_ptr() && !(sfield.typ.is_ptr() || sfield.typ.is_pointer()) &&
|
||||||
|
!sfield.typ.is_number() {
|
||||||
g.write('/* autoref */&')
|
g.write('/* autoref */&')
|
||||||
}
|
}
|
||||||
g.expr_with_cast(sfield.expr, sfield.typ, sfield.expected_type)
|
g.expr_with_cast(sfield.expr, sfield.typ, sfield.expected_type)
|
||||||
|
|
Loading…
Reference in New Issue