struct Y { int m; double f; } y2; enum E { e2 }; template struct F { int n; friend bool operator==(const F &a, const F &b) { return a.n == b.n; } }; int g() { return y2.m + e2 + y2.f + (F{0} == F{1}); }