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

2012/2/11 Martin Nowak <[email protected]>:
> 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
_______________________________________________
dmd-beta mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-beta

Reply via email to