[all-commits] [llvm/llvm-project] 24df1d: Reapply "[Clang] Transform lambda's constraints wh...

Younan Zhang via All-commits all-commits at lists.llvm.org
Mon Jul 13 07:05:20 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 24df1d13d9090e075b162bf81d1a34a408e54924
      https://github.com/llvm/llvm-project/commit/24df1d13d9090e075b162bf81d1a34a408e54924
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/Template.h
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaTemplate/concepts-lambda.cpp
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  -----------
  Reapply "[Clang] Transform lambda's constraints when instantiating parameter mapping (#207966)

This reapplies https://github.com/llvm/llvm-project/pull/195995

The last approach caused a regression because sometimes we transformed
the constraints of lambda expression too aggressively when we should
have preserved it.

The basic idea of this patch is to transform constraints of lambda
expressions when we instantiate the parameter mapping, thus the
evaluation can be emancipated from preserving outer template arguments.

Claude is used to help reduce the test case from #199209

Fixes https://github.com/llvm/llvm-project/issues/193944
Fixes https://github.com/llvm/llvm-project/issues/199209
Fixes https://github.com/llvm/llvm-project/issues/202957



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list