12b9e3e39SRichard Smith struct Y { 22b9e3e39SRichard Smith int m; 32b9e3e39SRichard Smith double f; 42b9e3e39SRichard Smith } y2; 52b9e3e39SRichard Smith enum E { e2 }; 62b9e3e39SRichard Smith 7*88126a25SRichard Smith template<typename T> 8*88126a25SRichard Smith struct F { 9*88126a25SRichard Smith int n; 10*88126a25SRichard Smith friend bool operator==(const F &a, const F &b) { return a.n == b.n; } 11*88126a25SRichard Smith }; 12*88126a25SRichard Smith g()132b9e3e39SRichard Smithint g() { 14*88126a25SRichard Smith return y2.m + e2 + y2.f + (F<int>{0} == F<int>{1}); 152b9e3e39SRichard Smith } 16