[Issue 14836] New: Multiple variadic template argument trick broken in 2.068.0-b2
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Sun Jul 26 15:33:07 PDT 2015
https://issues.dlang.org/show_bug.cgi?id=14836
Issue ID: 14836
Summary: Multiple variadic template argument trick broken in
2.068.0-b2
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Keywords: industry
Severity: regression
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: briancschott at gmail.com
There is a trick that allows multiple variadic template arguments in a function
if the second variadic template argument list is derived only from the function
arguments. This trick worked in versions prior to the 2.068.0 betas, but it
does not work with them. Exmaple code:
---
import std.stdio : writeln;
template alpha(alias Beta, Charlie...)
{
void alpha(Delta...)() if (Delta.length == 0)
{
writeln("First");
}
void alpha(Delta...)(Delta delta) if (Delta.length > 0)
{
writeln("Second");
}
}
void main(string[] args)
{
int a;
alpha!(a)();
}
/*
digger: Commit 396da76e77d8dce16895291d0d39a05009d7c0bb (2/2) is untestable.
digger: There are only untestable commits left to bisect.
digger: The first bad commit could be any of:
digger: 396da76e77d8dce16895291d0d39a05009d7c0bb
digger: e5dcde500b44b5c19c6af76d6c4f67fe4102d7b5
digger: b6ffe33aa07c46953f1f14c290c47863608
*/
---
--
More information about the Digitalmars-d-bugs
mailing list