MSVC 2015 Preview will treat unary-ctor call as a variable declaration
even if member call follows, which member has the same name with any
other class (i.e. there are no relations between the member and such
class). This issue already reported at [1].
1. https://connect.microsoft.com/VisualStudio/feedback/details/1037783/unary-ctor-call-v-s-variable-decl
struct foo
{
foo(int) {}
void set() {}
};
struct set;
int main()
{
int i;
foo(i).set(); // VS2015 try to decl `i` here and conflict with above.
}