[code]
#include <utility>
#include <iostream>
int main()
{
int x = 0;
std::pair<int, int> p { ( x = 10 ), x + 10 };
std::cout << p.first << '\t' << p.second << std::endl;
return 0;
}
[/code]
and I got the following result
10 10
Am I right that it is a bug of the compiler and the correct result should be 10 20 or I missed something?