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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
            Version|13.0                        |13.1.0
            Summary|ICE in parser GCC 13+       |[13/14 Regression] ICE with
                   |(including 14) around type  |type aliases and depedent
                   |aliases                     |value
   Target Milestone|---                         |13.3

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed, note this is not related to variadic templates as this crashes in a
similar way:
```
template <class> constexpr bool dependent_true = true;

template <bool> struct empty_type { }; // something like enable_if

template <bool B> using empty_type_t = typename empty_type<B>::type; 

struct wrapper {
    using type = void;
};

template <class> using all = wrapper;

template <class Conditions>
using constraints = typename all<Conditions>::type;

template <typename T, constraints<empty_type_t<dependent_true<T>>> = nullptr> 
void calculate() { };
```

Reply via email to