Bug 875 – crash in glue.c line 700

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86
OS
Linux
Creation time
2007-01-22T22:21:00Z
Last change time
2014-02-15T13:13:10Z
Assigned to
bugzilla
Creator
kevinbealer

Comments

Comment #0 by kevinbealer — 2007-01-22T22:21:21Z
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.
Comment #1 by bugzilla — 2007-02-12T03:40:27Z
Fixed DMD 1.005
Comment #2 by thomas-dloop — 2007-02-27T10:48:26Z