As of this writing (but perhaps not for very much longer!) the four mainstream compilers on Godbolt Compiler Explorer give four different answers for this simple C++ program: struct A { using T = T1; using U = U1; operator U1 T1::*(); operator U1 T2::*(); operator U2 T1::*(); operator U2 T2::*(); }; inline auto which(U1 T1::*) { return "gcc"; } inline auto which(U1 T2::*) { return "icc"; } inline