[all-commits] [llvm/llvm-project] 368b68: [Clang] Implement fix for DR2628

Roy Jacobson via All-commits all-commits at lists.llvm.org
Mon Sep 19 14:07:59 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 368b6832de33b366d4eb155f940e7476daace6a8
      https://github.com/llvm/llvm-project/commit/368b6832de33b366d4eb155f940e7476daace6a8
  Author: Roy Jacobson <roi.jacobson1 at gmail.com>
  Date:   2022-09-20 (Tue, 20 Sep 2022)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/CXX/drs/dr26xx.cpp

  Log Message:
  -----------
  [Clang] Implement fix for DR2628

Implement suggested fix for [[ https://cplusplus.github.io/CWG/issues/2628.html | DR2628. ]] Couldn't update the DR docs because there hasn't been a DR index since it was filed, but the tests still run in CI.

Note: I only transfer the constructor constraints, not the struct constraints. I think that's OK because the struct constraints are the same
for all constructors so they don't affect the overload resolution, and if they deduce to something that doesn't pass the constraints
we catch it anyway. So (hopefully) that should be more efficient without sacrificing correctness.

Closes:
https://github.com/llvm/llvm-project/issues/57646
https://github.com/llvm/llvm-project/issues/43829

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D134145




More information about the All-commits mailing list