NRVO. Turning off elision. C++11 vs C++17

I am looking at copy elision and RVO/NRVO. When I run g++ with -fno-elide-constructors I see different behaviour for c++11 and c++17. I understand that c++17 mandates RVO under certain circumstances. I would have assumed that the below counts as NRVO (unless the compiler first eliminates the named variable y too?) struct rvo { rvo… Read More NRVO. Turning off elision. C++11 vs C++17