Build 1522 seems to have a new bug regarding classes overloading operator->().
struct TestInner
{
int someVar;
};
class Test
{
public:
TestInner inner;
TestInner* operator->() {return &inner;}
TestInner& operator*() {return inner;}
};
int main()
{
Test test;
(*test)._ // ctrl-space ok, shows someVar
test->_ // ctrl-space wrong, shows inner
}
In older builds, VAX would correctly suggests the members of TestInner behind test-> while 1522 just presents the members of Test there. (In other cases it doesn't give any suggestion at all behind ->.)
Furthermore operator->() is not shown in the member list while operator*() gets listed correctly.
(What's interesting here: I was quite sure, that smart pointers (which are obviously affected by this) did work with this build at first - but when I checked again just now they didn't (as expected). May be there was something in the cache?)