Change information
Commit message:
go/analysis/passes/modernize: slicescontains: check for side effects
We should avoid suggesting a fix if the needle or predicate may
have side effects. Otherwise, the program behavior may change.
For example, in converting from a loop to slices.ContainsFunc,
the needle expression goes from being evaluated once per
iteration to only once before iteration.
Fixes golang/go#77564
Change-Id: I3db190b0e5d65cb9eeaca8f0e9c2e1a2aa65669b
Files:
- M go/analysis/passes/modernize/slicescontains.go
- M go/analysis/passes/modernize/testdata/src/slicescontains/slicescontains.go
- M go/analysis/passes/modernize/testdata/src/slicescontains/slicescontains.go.golden
Change size: S
Delta: 3 files changed, 30 insertions(+), 6 deletions(-)
Branch: refs/heads/master