The code below actually has two problems with the error messages produced. This bug is to report the fact that the first error message does not have a line number or file listed. dmd 2.012, Linux BEGIN MODULE "a.d" import b; import std.stdio; template typeof_each(T,TPL...) { static if(TPL.length == 0) alias Tuple!(typeof(T)) typeof_each; else alias Tuple!(typeof(T), typeof_each!(TPL)) typeof_each; } template typeid_each(T,TPL...) { static if(TPL.length == 0) alias Tuple!(typeid(T)) typeid_each; else alias Tuple!(typeid(T), typeid_each!(TPL)) typeid_each; } void foo(ARGS_TPL...)(ARGS_TPL args) { writefln("", typeid_each!(typeof_each!(ARGS_TPL))); } void bar() { foo(',' , ','); } BEGIN MODULE "b.d" template Tuple(TPL...) { alias TPL Tuple; } END CODE COMPILER OUTPUT Error: expression & _D10TypeInfo_a6__initZ is not a valid template value argument b.d(16): template instance b.Tuple!(& _D10TypeInfo_a6__initZ) error instantiating
Reduced test case. Changed title. --- template Tuple(T...) { alias T Tuple; } auto K = Tuple!(typeid(char)); --- Error: expression & D10TypeInfo_a6__initZ is not a valid template value argument a.d(7): template instance a.Tuple!(& D10TypeInfo_a6__initZ) error instantiating
Fixed DMD1.032
In my example code, the two original errors have gone away. There is a new error present, but it has a line number. I have not yet determined whether the new error is a problem in dmd or in my code. If it turns out to be DMD, I will open a new Bugzilla. So, I agree that this bug is fixed.
Fixed dmd 1.032 and 2.016
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル