ychen added a comment.

In D133683#3818804 <https://reviews.llvm.org/D133683#3818804>, @mizvekov wrote:

> In D133683#3818752 <https://reviews.llvm.org/D133683#3818752>, @ychen wrote:
>
>> I didn't add that because this patch is logically part of D128745 
>> <https://reviews.llvm.org/D128745> which has a release note already.
>
> Okay, I see that the existing release note entry talks just about 
> implementing those DRs without going specific, so that is fine.
> It does not mention that DR1432 implementation is tentative as there is no 
> published resolution though.
>
>> I think GCC is the one that is not conforming. MSVC agrees it is ambiguous 
>> (https://godbolt.org/z/T5zbxaTYq). Basically, only the first parameter is 
>> considered for partial ordering. 
>> (https://eel.is/c++draft/temp.deduct.partial#3.1)
>
> I could totally buy that the GCC behavior is accidental, but it does make 
> sense, with the idea behind DR1432, that we should prefer the first overload 
> because that deduction is simpler, or because it does not deduce a parameter 
> pack.
>
> If there was a resolution, the answer here would be clear cut, but since 
> there isn't, we are making up our own rules and getting into a language 
> design discussion.
> If you don't think that is clear cut, it's fine, we can move this discussion 
> elsewhere :)

It is clear cut by https://eel.is/c++draft/temp.deduct.partial#3.1. It is 
orthogonal to the DRs implemented in D128745 <https://reviews.llvm.org/D128745> 
and here.
https://godbolt.org/z/s49sqrabY  : if you call `g(42,42)`, it would reveal that 
the function without pack indeed wins. It is ambiguous because the caller 
`g(42)` does not use the pack. So the wording prevents us from letting the 
non-pack version win. I do somewhat agree that it is more consistent and 
predictable to always consider all function parameters for partial ordering. 
Yeah, that needs a whole separate discussion on 
https://eel.is/c++draft/temp.deduct.partial#3.1.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133683/new/

https://reviews.llvm.org/D133683

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to