// PR c++/53421 template< class T > struct Y : T { } __attribute__((__may_alias__)); struct X { operator Y& () { return *static_cast< Y* >(this); } }; int main() { &X::operator Y&; }