[all-commits] [llvm/llvm-project] 2ec38a: [Clang] Fix a partial ordering bug involving CTAD ...

Younan Zhang via All-commits all-commits at lists.llvm.org
Tue Jul 29 03:58:50 PDT 2025


  Branch: refs/heads/release/21.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ec38abcba129fbca33ac938730e0bdb348bbf44
      https://github.com/llvm/llvm-project/commit/2ec38abcba129fbca33ac938730e0bdb348bbf44
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-07-29 (Tue, 29 Jul 2025)

  Changed paths:
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaTemplate/deduction-guide.cpp

  Log Message:
  -----------
  [Clang] Fix a partial ordering bug involving CTAD injected template arguments (#149782)

The synthesized deduction guides use injected template arguments for
distinguishment of explicit and implicit deduction guides.

In partial ordering, we may substitute into these injected types when
checking consistency. Properly substituting them needs the instantiated
class template specializations which isn't the case at that point. So
instead, we check their template specialization types.

No release note because I think we want a backport, after baking it for
a couple of days.

Fixes https://github.com/llvm/llvm-project/issues/134613

(cherry picked from commit 07faafe4a4d0a5bd82b648aa9717783f001ddfae)



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