mirror of
https://github.com/mgechev/revive.git
synced 2025-11-23 22:04:49 +02:00
Capture yet more bad defer / recover patterns (#719)
* Yet more bad defer / recover patterns `recover()` is an eternal font of excitement. * demonstrating another flavor of failure * removing leftover code * update documentation * removes test not related to the rule itself Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
This commit is contained in:
13
testdata/defer.go
vendored
13
testdata/defer.go
vendored
@@ -17,12 +17,19 @@ func deferrer() {
|
||||
defer tt.m() // MATCH /be careful when deferring calls to methods without pointer receiver/
|
||||
|
||||
defer func() error {
|
||||
return errors.New("error") //MATCH /return in a defer function has no effect/
|
||||
return errors.New("error") // MATCH /return in a defer function has no effect/
|
||||
}()
|
||||
|
||||
defer recover()
|
||||
defer recover() // MATCH /recover must be called inside a deferred function, this is executing recover immediately/
|
||||
|
||||
recover() //MATCH /recover must be called inside a deferred function/
|
||||
recover() // MATCH /recover must be called inside a deferred function/
|
||||
|
||||
defer deferrer()
|
||||
|
||||
helper := func(_ interface{}) {}
|
||||
|
||||
defer helper(recover()) // MATCH /recover must be called inside a deferred function, this is executing recover immediately/
|
||||
|
||||
// does not work, but not currently blocked.
|
||||
defer helper(func() { recover() })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user