[dmd-beta] D2 2.058 beta

kenji hara k.hara.pg at gmail.com
Sat Feb 11 04:13:33 PST 2012


Posted a pull. Walter, please merge it.
https://github.com/D-Programming-Language/dmd/pull/709

2012/2/11 Martin Nowak <dawg at dawgfoto.de>:
> While this will solve the current problem, the following code will remain
> broken.
> The root cause is contradicting preferences for variadic templates
> in deduceFunctionTemplateMatch and leastAsSpecialized.
>
> void foo(V)(in V v)     // A
> {
> }
>
> void foo(Args...)(auto ref const Args args)    // B
> {
>    foo(cast(const(int))args[0]);
> }
>
> void main()
> {
>    foo(10);
> }

What is "remain broken"? With my pull, foo(10) calls non variadic
version (A) as expected.

Kenji Hara


More information about the dmd-beta mailing list