digitalmars.D.bugs - [Issue 875] New: crash in glue.c line 700
- d-bugmail puremagic.com (45/45) Jan 22 2007 http://d.puremagic.com/issues/show_bug.cgi?id=875
- d-bugmail puremagic.com (8/8) Feb 27 2007 http://d.puremagic.com/issues/show_bug.cgi?id=875
http://d.puremagic.com/issues/show_bug.cgi?id=875
Summary: crash in glue.c line 700
Product: D
Version: 1.00
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla digitalmars.com
ReportedBy: kevinbealer gmail.com
Boiled down code shown below; I'm not sure how legal this syntax should be, but
its enough to derail dmd. What I'm trying to do is specialize on two variadic
type lists by wrapping them in tuples.
Thanks,
Kevin
-----
import std.traits;
int main(char[][] args)
{
double bongos(int flux, char[] soup)
{
return 0.0;
}
auto foo = mk_future(& bongos, 99, "soup"[]);
return 0;
}
int mk_future(A, B...)(A cmd, B args)
{
typedef ReturnType!(A) TReturn;
typedef ParameterTypeTuple!(A) TParams;
typedef B TArgs;
alias Foo!(TReturn, TParams, TArgs) TFoo;
return 0;
}
class Foo(A, B, C) {
this(A delegate(B), C)
{
}
}
-----
dmd -ofbasic basic.d
dmd: glue.c:700: virtual unsigned int Type::totym(): Assertion `0' failed.
--
Jan 22 2007
http://d.puremagic.com/issues/show_bug.cgi?id=875 Added to DStress as http://dstress.kuehne.cn/run/b/bug_glue_700_A.d http://dstress.kuehne.cn/run/b/bug_glue_700_B.d http://dstress.kuehne.cn/run/b/bug_glue_700_C.d http://dstress.kuehne.cn/run/b/bug_glue_700_D.d --
Feb 27 2007








d-bugmail puremagic.com