# Copyright (c) HashiCorp, Inc. | |
# SPDX-License-Identifier: MPL-2.0 | |
rules: | |
- id: loopclosure | |
patterns: | |
- pattern-inside: | | |
for $A, $B := range $C { | |
... | |
} | |
- pattern-inside: | | |
go func() { | |
... | |
}() | |
- pattern-not-inside: | | |
go func(..., $B, ...) { | |
... | |
}(..., $B, ...) | |
- pattern-not-inside: | | |
go func() { | |
... | |
for ... { | |
... | |
} | |
... | |
}() | |
- pattern: $B | |
message: Loop variable $B used inside goroutine | |
languages: | |
- go | |
severity: WARNING |