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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |11.0
                 CC|                            |jason at gcc dot gnu.org

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Rejected since r11-2774

    c++: Check satisfaction before non-dep convs. [CWG2369]

    It's very hard to use concepts to protect a template from hard errors due
to
    unwanted instantiation if constraints aren't checked until after doing all
    substitution and checking of non-dependent conversions.

    It was pretty straightforward to insert the satisfaction check into the
    logic, but I needed to make the 3-parameter version of
    satisfy_declaration_constraints call push_tinst_level like the 2-parameter
    version already does.  For simplicity, I also made it add any needed outer
    template arguments from the TEMPLATE_DECL to the args.

    The testsuite changes are mostly because this change causes unsatisfaction
    to cause deduction to fail rather than reject the candidate later in
    overload resolution.

Reply via email to