// PR c++/58932 // { dg-do compile { target c++11 } } using nullptr_t = decltype(nullptr); template struct B { static float& int_if_addable(); }; template struct B { static int& int_if_addable(); }; struct X { }; struct Y { }; Y operator+(Y, Y); struct Z { }; Z operator+(Z, Z) = delete; int main() { float& a = B::int_if_addable(); int& b = B::int_if_addable(); float& c = B::int_if_addable(); }