If a class has the same name as its namespace, then visual assist gets confused.
Using an example --
In header file:
namespace Foo
{
class Foo
{
void fooMeth();
};
}
In cpp file:
namespace Foo
{
void Foo::fooMeth()
{
int yup = 42;
}
}
The following problems arise:
1. fooMeth is marked as an invalid symbol. Using GotoImplementation on fooMeth in the source file doesn't work.
2. Using GotoImplementation on 'Foo' in the line:
void Foo::fooMeth()
will go to the namespace Foo, rather than the class Foo. This can be bad if there are several header files that use the Foo namespace.
Interestingly, autocompleting,
Foo::Foo::fooMe...
works just fine.
This is obviously not the biggest bug in the world, though it has come up a few times in our codebase.