blob: 0c25b10587bde1fcc13711482bf7598234df11f9 [file]
package parametersideeffect
func argumentWithSideEffectLHS() int {
n := 0
f := func() int { n++; return n }
x := f()
if f() > x { // condition contains expression with side-effect
x = f()
}
return x
}
func argumentWithSideEffectRHS() int {
n := 0
f := func() int { n++; return n }
x := f()
if x < f() { // condition contains expression with side-effect
x = f()
}
return x
}
func onlyFirstAssignmentHasSideEffect() int {
n := 0
f := func() int { n++; return n }
x := f()
if x < n { // want "if statement can be modernized using max"
x = n
}
return x
}