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.
Fixed DMD 1.005
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
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル