// PR c++/87145 // { dg-do compile { target c++11 } } template struct integral_constant { static constexpr T value = t; }; enum class Enum : unsigned {}; struct Pod { unsigned val; constexpr operator Enum() const { return static_cast(val); } }; template constexpr void foo() { using Foo = integral_constant; } int main() { foo<2>(); }