[PATCH] D128745: [c++] implements DR692, DR1395 and tentatively DR1432, about partial ordering of variadic template partial specialization or function template
Yuanfang Chen via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 16 17:44:55 PDT 2022
ychen added a comment.
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.
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