1 // PR c++/55931 2 // { dg-do compile { target c++11 } } 3 4 #include <type_traits> 5 6 template<typename Type> 7 class Test 8 { 9 public: Test(const Type val)10 constexpr Test(const Type val) : _value(val) {} get()11 constexpr Type get() const {return _value;} test()12 static void test() 13 { 14 static constexpr Test<int> x(42); 15 std::integral_constant<int, x.get()> i; // This is not working 16 } 17 protected: 18 Type _value; 19 }; 20 main()21int main() 22 { 23 static constexpr Test<int> x(42); 24 std::integral_constant<int, x.get()> i; // This is working 25 Test<double>::test(); 26 } 27