cgen: fix `in` in mutable arrays (#5647)
parent
56ad6cef54
commit
27149ba8bc
|
@ -898,3 +898,15 @@ fn test_mut_arr_with_eq_in_fn() {
|
||||||
mut_arr_with_eq_in_fn(mut a)
|
mut_arr_with_eq_in_fn(mut a)
|
||||||
assert a == [0,0,0,0]
|
assert a == [0,0,0,0]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn array_in_mut(mut a []int) {
|
||||||
|
if 1 in a {
|
||||||
|
a[0] = 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test_array_in_mut() {
|
||||||
|
mut a := [1,2]
|
||||||
|
array_in_mut(mut a)
|
||||||
|
assert a == [2,2]
|
||||||
|
}
|
||||||
|
|
|
@ -1912,6 +1912,9 @@ fn (mut g Gen) infix_expr(node ast.InfixExpr) {
|
||||||
g.write('_IN($styp, ')
|
g.write('_IN($styp, ')
|
||||||
g.expr(node.left)
|
g.expr(node.left)
|
||||||
g.write(', ')
|
g.write(', ')
|
||||||
|
if node.right_type.is_ptr() {
|
||||||
|
g.write('*')
|
||||||
|
}
|
||||||
g.expr(node.right)
|
g.expr(node.right)
|
||||||
g.write(')')
|
g.write(')')
|
||||||
} else if right_sym.kind == .map {
|
} else if right_sym.kind == .map {
|
||||||
|
|
Loading…
Reference in New Issue