[all-commits] [llvm/llvm-project] f505ce: [clang] fix member specializations of class and va...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Thu May 28 09:38:54 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f505ceabdd2339f078cd6886d3f52cc622abd5c9
      https://github.com/llvm/llvm-project/commit/f505ceabdd2339f078cd6886d3f52cc622abd5c9
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/CXX/temp/temp.decls/temp.spec.partial/temp.spec.partial.member/p2.cpp
    M clang/test/SemaTemplate/class-template-spec.cpp

  Log Message:
  -----------
  [clang] fix member specializations of class and variable partial specializations (#200092)

A partial specialization may be a member specialization even if there is
no corresponding primary member partial specialization.

For example:
```C++
template<class> struct X {
  template<class> struct Inner;
};
template<> template<class T>
struct X<int>::Inner<T*> {};
```

Make sure this state is represented, so that
[temp.spec.partial.member]p2 can be applied.

Split off from #199528



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