v.gen.c: fix calling pointer receiver on function return result (#10866)
parent
eed4f50d8c
commit
de39bba7bd
|
@ -762,7 +762,12 @@ fn (mut g Gen) method_call(node ast.CallExpr) {
|
||||||
// Add `&` automatically.
|
// Add `&` automatically.
|
||||||
// TODO same logic in call_args()
|
// TODO same logic in call_args()
|
||||||
if !is_range_slice {
|
if !is_range_slice {
|
||||||
g.write('&')
|
if !node.left.is_lvalue() {
|
||||||
|
g.write('ADDR($rec_cc_type, ')
|
||||||
|
has_cast = true
|
||||||
|
} else {
|
||||||
|
g.write('&')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if !node.receiver_type.is_ptr() && node.left_type.is_ptr() && node.name != 'str'
|
} else if !node.receiver_type.is_ptr() && node.left_type.is_ptr() && node.name != 'str'
|
||||||
&& node.from_embed_type == 0 {
|
&& node.from_embed_type == 0 {
|
||||||
|
|
Loading…
Reference in New Issue