Default severity: warning
Type-switch cases are evaluated in source order. A later concrete type or narrower interface is unreachable when it necessarily implements an interface listed by an earlier case.
Bad
switch value.(type) { case io.Reader: use(); case io.ReadCloser: use() }Good
switch value.(type) { case io.ReadCloser: use(); case io.Reader: use() }