I think you're saying that when there isn't an implementation at all, then you consider it a violation to fall back to going to the definition.
No, my answer came in the context of your previous post, where you suggested a situation with multiple implementations. I'm saying that I consider it a violation of my option to "always go to definition" for SE to actually go to the declaration just because there are multiple implementations and it doesn't know which one to jump to.
Except there are in fact zero implementations of IFoo::method. That's what makes IFoo an interface, it is abstract and does not include an implementation, only pure virtual methods (the declaration of each virtual method ends with "= 0" which explicitly omits any implementation).
Instead, some class Bar will derive from IFoo, and implement method. Thus there is an implementation of Bar::method, but there are zero implementations of IFoo::method.
So SE would have to search for all classes in any way derived from IFoo, and look for methods called "method", then ignore matches where the signature isn't identical, and then list the remaining derived matches. But there aren't any implementations of IFoo::method.