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

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
GCC 10.1 isn't using the deduction guide at all, it seems to prefer to deduce
the class type using the zip(Containers...) constructor, which deduces
non-reference types.

If I change the deduction guide to:

template <typename... Container_types>
zip(Container_types&&... containers) -> zip<int>;

Then GCC 10.1 still compiles it, because it doesn't use that guide anyway.
Whereas GCC 10.2 gives an error, because it does deduce as zip<int> and so
z.containers_[0]->i is invalid.

Reply via email to