https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109683
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=105797
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot
gnu.org
Last reconfirmed| |2023-05-01
Status|UNCONFIRMED |ASSIGNED
Ever confirmed|0 |1
Keywords| |rejects-valid
Target Milestone|--- |13.2
CC| |ppalka at gcc dot gnu.org
--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Thanks for the bug report. Started with r13-980-gdf4f95dbd4764f which made
function parameters used in a constraint no longer induce a dependency on all
contextual template parameters.
So another workaround would be to make the constructor's constraints explicitly
depend on the second template parameter of the class:
template <typename T, typename U>
struct VariantConstructors {
VariantConstructors(T&& t)
requires(requires { T(t); typename U; });
};
...