Impossible interface type assertion
Reports impossible interface-to-interface type assertions.
Checks for type assertions v.(T)
and corresponding type-switch cases in which the static type V
of v
is the interface that cannot possibly implement the target interface T
. This occurs when V
and T
contain methods with the same name but different signatures.
Example:
var v interface {
Read()
}
_ = v.(io.Reader)
The Read
method in v
has a different signature than the Read
method in io.Reader
, so this assertion cannot succeed.
This inspection only reports if the language version is 1.15 or higher.
Inspection Details | |
---|---|
Available in: | GoLand 2023.3 |
Plugin: | Go, 233.SNAPSHOT |
Last modified: 13 July 2023