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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note if we do:
```
struct A{}; struct B{};
template <auto> struct S {};
template <typename Hash, int i> struct bucket {};
template <typename Hash, int i>
int find_indices_impl(bucket<Hash, i> const &);
using HashTable = bucket<S<A{}>, 1>;
auto t = find_indices_impl<S<B{}>>(HashTable{});
```
GCC correctly rejects the above but if we replace B{} with a floating point
value, we get the ICE (but not if we replace A{}). Maybe that will give an hint
of what is going wrong in the end.

Reply via email to