Skip to content

Commit d1889b8

Browse files
committed
[FOLD] address review comments
1 parent c5071eb commit d1889b8

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,10 @@ Bug Fixes to C++ Support
695695
until the noexcept-specifier is instantiated.
696696
- Fix a crash when an implicitly declared ``operator==`` function with a trailing requires-clause has its
697697
constraints compared to that of another declaration.
698+
- Fix a bug where explicit specializations of member functions/function templates would have substitution
699+
performed incorrectly when checking constraints. Fixes (#GH90349).
700+
- Clang now allows constrained member functions to be explicitly specialized for an implicit instantiation
701+
of a class template.
698702

699703
Bug Fixes to AST Handling
700704
^^^^^^^^^^^^^^^^^^^^^^^^^

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5438,7 +5438,7 @@ def err_function_template_partial_spec : Error<
54385438
"function template partial specialization is not allowed">;
54395439

54405440
def err_function_member_spec_ambiguous : Error<
5441-
"ambiguous member function specialization of %q0">;
5441+
"ambiguous member function specialization of %0">;
54425442
def note_function_member_spec_matched : Note<
54435443
"member function specialization matches %0">;
54445444

clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ template<>
4141
constexpr int A<8>::g() { return 3; }
4242

4343
template<>
44-
constexpr int A<6>::g() { return 4; } // expected-error {{ambiguous member function specialization of 'A<6>::g'}}
44+
constexpr int A<6>::g() { return 4; } // expected-error {{ambiguous member function specialization of 'g'}}
4545

4646
static_assert(A<9>::g() == 0);
4747
static_assert(A<1>::g() == 1);

0 commit comments

Comments
 (0)