The same issue exists in gostaticanalysis/nilerr#19.
The following test fails:
func TestFails() error {
defer func() {}() // the test passes if you remove defer
err := func() error { return nil }()
if err != nil {
return err
}
err2 := func() error { return nil }()
if err2 != nil {
return err // want `return a nil value error after check error`
}
return nil
}
The same issue exists in gostaticanalysis/nilerr#19.
The following test fails: