https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110580

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Here is another testcase:
```
struct s0 {};
struct s1 {};
template <typename T>
struct t
{
        static constexpr bool v = false;
};
template<>
struct t<s0>
{
        static constexpr bool v = true;
};
template <typename _Key> 
struct s3 {
  template <typename _Up, typename _Vp = _Up>
  static constexpr bool __usable_key = t<_Vp>::v;
  static_assert(__usable_key<s0>);
  static_assert(!__usable_key<s1>);
};
s3<s0> t2;
```

I get the feeling _Up in the default template argument of __usable_key  is
being replaced with _Key template argument for some reason.

Reply via email to