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

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Ed Catmur from comment #5)
> The original code is valid. A reduced valid case would be:
> ```
> template <double> struct S {};
> template <typename Hash, int i> struct bucket {};
> template <typename Hash, int i>
> int find_indices_impl(bucket<Hash, i> const &);
> struct HashTable : bucket<S<1.>, 1>, bucket<S<2.>, 2> {};
> auto t = find_indices_impl<S<1.>>(HashTable{});
> ```

Oh yes and yes the above looks like the original code even.
It is definitely trying to match bucket<S<2.>, 2> base class with bucket<S<1.>,
i> though and it is ICEing there.

Reply via email to