blob: c3cf8308109fcbbd0c70e03a2900a95d36a08112 [file] [log] [blame]
package errorsastype
import (
"errors"
"os"
)
func _(err error) {
{
var patherr *os.PathError
if errors.As(err, &patherr) { // want `errors.As can be simplified using AsType\[\*os.PathError\]`
print(patherr)
}
}
{
var patherr *os.PathError
print("not a use of patherr")
if errors.As(err, &patherr) { // want `errors.As can be simplified using AsType\[\*os.PathError\]`
print(patherr)
}
print("also not a use of patherr")
}
{
var patherr *os.PathError
print(patherr)
if errors.As(err, &patherr) { // nope: patherr is used outside scope of if
print(patherr)
}
}
{
var patherr *os.PathError
if errors.As(err, &patherr) { // nope: patherr is used outside scope of if
print(patherr)
}
print(patherr)
}
// Test of 'ok' var shadowing/freshness.
const ok = 1
{
var patherr *os.PathError
if errors.As(err, &patherr) { // want `errors.As can be simplified using AsType\[\*os.PathError\]`
print(patherr)
}
}
{
var patherr *os.PathError
if errors.As(err, &patherr) { // want `errors.As can be simplified using AsType\[\*os.PathError\]`
print(patherr, ok)
}
}
}