March 16, 2021 [Issue 7686] template argument ignored with specialization for dependent parameter | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7686 RazvanN <razvan.nitu1305@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |razvan.nitu1305@gmail.com Resolution|--- |WORKSFORME --- Comment #2 from RazvanN <razvan.nitu1305@gmail.com> --- The code example in [1] now compiles successfully, as it should. The code example in [2] fails the first 2 asserts. That is the correct behavior IMHO. The first and second Pair instantiations match both overloads and the third one matches a single template (the one that is not specialized on U). What else could be the correct behavior? For example, in [1], both: static assert(__traits(compiles, foo!(Pair!(double, short), short))); static assert(__traits(compiles, bar!(Pair!(double, short), short))); and static assert(__traits(compiles, foo!(Pair!(double, int), int))); static assert(__traits(compiles, bar!(Pair!(double, int), int))); compile successfully. Closing as WORKSFORME. Please reopen if I am missing something. [1] https://issues.dlang.org/show_bug.cgi?id=7686#c0 [2] https://issues.dlang.org/show_bug.cgi?id=7686#c1 -- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply