[PATCH] D128745: [c++] implements DR692, DR1395 and tentatively DR1432, about partial ordering of variadic template partial specialization or function template
Alex Brachet via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 16 18:00:27 PDT 2022
abrachet added a comment.
In D128745#3727715 <https://reviews.llvm.org/D128745#3727715>, @ychen wrote:
> In D128745#3727697 <https://reviews.llvm.org/D128745#3727697>, @abrachet wrote:
>
>> This is breaking us.
>>
>> template <typename T, typename... Ts> struct S; // #1
>>
>> template <typename T> struct S<T> {}; // #2
>>
>> The following compiled before but is now broken, (we use `-fclang-abi-compat=13.0`). We get a warning from `-Winvalid-partial-specialization`
>>
>> This change _does_ make https://eel.is/c++draft/temp.func.order#example-5 work, ie for function overload resolution but regresses the type deduction example above.
>>
>> There seem to be examples in the standard that suggest #2 is more specialized. @mcgrathr found https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1432 and https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1395 among others. WDYT?
>
> I tried your test case but was unable to reproduce the issue. Is this the complete test case? I'm asking because the provided test case does not involve deduction.
Just that input is enough to get the error. I did `clang++ test.cpp -fsyntax-only -fclang-abi-compat=14.0`
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128745/new/
https://reviews.llvm.org/D128745
More information about the cfe-commits
mailing list