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

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Wed May 27 17:32:02 PDT 2026


  Branch: refs/heads/users/mizvekov/fix-class-variable-member-specialization
  Home:   https://github.com/llvm/llvm-project
  Commit: 20e1831ca4372d7458ec256432bcef538465c035
      https://github.com/llvm/llvm-project/commit/20e1831ca4372d7458ec256432bcef538465c035
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2026-05-27 (Wed, 27 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

A partial specialization may be a member specialization even if it is not
an instantiation of a 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