Apologies for the slow reply. Can you please try making a new, default C++ console solution, and adding the following very simple test case to the cpp file, and see what happens:
class simpleTestClass
{
private:
int m_nSimpleHeight;
int m_nSimpleWidth;
public:
simpleTestClass() : m_nSimpleHeight(-1), m_nSimpleWidth(-1) { }
simpleTestClass(int nSimpleHeight, int nSimpleWidth);
};
void testingAutoMakeUnique()
{
auto newTemplateAuto = std::make_unique<simpleTestClass>();
std::unique_ptr<simpleTestClass> newTemplateExplicit = std::make_unique<simpleTestClass>();
newTemplateAuto;
newTemplateExplicit;
}
for me, when typing a dot after both "newTemplateAuto" and "newTemplateExplicit" the dot is converted to -> and the correct listbox appears. The reason for trying this in a new test project is to see if this is a solution specific problem for you, or if it is happening everywhere.
My first guess is that something further up your current file is confusing our parser, and causing you to get the wrong result here. But if so that something might be local to the file, it might be in a widely used header file, or it could even be in one of your stable include directories.
Does VA work out the right type for auto in other situations, or is this specific to just a few types?