Fix panic in t.Errorf check if the typechecker fails.
Fixes #116.
diff --git a/lint.go b/lint.go
index 5749484..8182c0b 100644
--- a/lint.go
+++ b/lint.go
@@ -1046,8 +1046,13 @@
return true
}
isErrorsNew := isPkgDot(ce.Fun, "errors", "New")
+ var isTestingError bool
se, ok := ce.Fun.(*ast.SelectorExpr)
- isTestingError := ok && se.Sel.Name == "Error" && f.pkg.typeOf(se.X).String() == "*testing.T"
+ if ok && se.Sel.Name == "Error" {
+ if typ := f.pkg.typeOf(se.X); typ != nil {
+ isTestingError = typ.String() == "*testing.T"
+ }
+ }
if !isErrorsNew && !isTestingError {
return true
}