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

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
commit 1a291106384cabc73da0bc0f457b1cd3a4015970
Author: Jason Merrill <ja...@redhat.com>
Date:   Wed Nov 27 17:05:53 2019 -0500

    Implement P1814R0, CTAD for alias templates.

    This patch implements C++20 class template argument deduction for alias
    templates, which works by a moderately arcane transformation of the
    deduction guides for the underlying class template.  When implementing it,
    it seemed that I could simplify the rules in the draft a bit and get
    essentially the same effect; I'll be emailing the committee to that effect
    soon.

    gcc/cp/
            * pt.c (rewrite_tparm_list): Factor out of build_deduction_guide.
            (maybe_aggr_guide): Check for copy-init here.
            (alias_ctad_tweaks, deduction_guides_for): New.
            (ctor_deduction_guides_for): Factor out of do_class_deduction.
            (ctad_template_p): New.
            * parser.c (cp_parser_simple_type_specifier): Use it.
            * constraint.cc (append_constraint): New.
    gcc/c-family/
            * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.

    From-SVN: r278786

Reply via email to