The new behavior is context dependent. It only kicks in when invoked via the base interface:
interface IFoo
{
void FooMethod();
};
// alternatively
class IFoo
{
virtual void FooMethod() = 0;
};
class FooImplementer : public IFoo
{
void FooMethod();
}
void FooImplementer::FooMethod()
{
}
void test()
{
IFoo * p1;
// alt+g on FooMethod will list 3 destinations
// (IFoo::FooMethod, FooImplementer::FooMethod decl, FooImplementer::FooMethod impl
p1->FooMethod();
FooImplementer * p2;
// no change in behavior
// (alt+g will not list IFoo::FooMethod)
p2->FooMethod();
}
If you're seeing something different, could you please post a similar example?