I tried creating a new project to test if it is just my codebase that is breaking it, but I see the same behaviour on a simple test:
std::wstring MultiByteToWideChar(std::string s)
{
return L"";
}
int main()
{
std::string token("Hello world");
return atoi(token.c_str());
}
Place the cursor before the 'token':
return atoi(token.c_str());
^
Type 'M', tab, and it replaces 'token'.