[all-commits] [llvm/llvm-project] 18fe66: Correct deferred concepts with NTTP placeholder co...

Erich Keane via All-commits all-commits at lists.llvm.org
Thu Mar 30 06:15:17 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 18fe66396906178872dd933a39e38779a5a3c722
  Author: Erich Keane <erich.keane at intel.com>
  Date:   2023-03-30 (Thu, 30 Mar 2023)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaTemplate/concepts.cpp

  Log Message:
  Correct deferred concepts with NTTP placeholder constraints

Seemingly we never tested this, but the constraint on a NTTP was being
swtiched to the 'instantiated' version, but constraints need to be
relative to the 'top level', so this was causing us to not be able to
check the constraint on final use.

This patch corrects the issue by making the constraint created with the
un-instantiated version in the case of dependent constraint attachment.

Fixes: #61777

More information about the All-commits mailing list