1 // PR c++/47851 2 // { dg-do compile { target c++11 } } 3 4 struct Type { 5 void display_type(); display_typeType6 void display_type() const { } 7 }; 8 9 typedef Type const ConstType; 10 11 struct ConvertibleToType { 12 operator Type&() { return *reinterpret_cast<Type*>(this); } 13 }; 14 main()15int main () 16 { 17 // Both lines should call the const variant. 18 (true ? ConvertibleToType() : ConstType()).display_type(); 19 decltype((true ? ConvertibleToType() : ConstType()))().display_type(); 20 } 21