[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
Fri Aug 26 09:45:49 PDT 2022
ychen added a comment.
In D128745#3751471 <https://reviews.llvm.org/D128745#3751471>, @joanahalili wrote:
> We have some compilation failures on our end because of function template parameter deduction when passing the function template to a function pointer.
>
> typedef void (*f)(const int&);
>
> template <typename T>
> void F(T value) {}
>
> template <typename T>
> void F(const T& value){}
>
> void q(f);
>
> void w() {
> q(&F);
> }
>
> https://gcc.godbolt.org/z/faoq74q7G
> Is this an intended outcome for this patch?
Thanks for the report. No that's not the intent. This should only affect partial ordering but not which candidate is viable (error message `candidate function not viable ...`). I'll take a look.
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