[Bug c++/92150] New: Partial specializations of class templates with class NTTP fails

mateusz.pusz at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Oct 18 12:21:00 GMT 2019


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

            Bug ID: 92150
           Summary: Partial specializations of class templates with class
                    NTTP fails
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mateusz.pusz at gmail dot com
  Target Milestone: ---

The following code fails the assert

```
struct X {
  int value;
  // auto operator==(const X&) = default;
};

template<typename T, X N>
struct b;

template<typename T>
inline constexpr bool is_b = false;

template<typename T, X N>
inline constexpr bool is_b<b<T, N>> = true;

using my_b = b<int, X{1}>;
static_assert(is_b<my_b>);
```

https://godbolt.org/z/Q8wpC3


More information about the Gcc-bugs mailing list