Hi all,

When aliases are used I expect to see it names on compile errors. But when
I use:

> struct __Bulk(T) {
>     T[] chunks;
> }
> alias __Bulk!(byte) Bulk;
> alias __Bulk!Bulk   MultiBulk;


The compilation error for:

> void question1() {
>     Bulk("bad");
> }


is:

> bla.d(12): Error: cannot implicitly convert expression ("bad") of type
> string to byte[]
> bla.d(12): Error: structliteral has no effect in expression
> (__Bulk((__error)))


I expected to see (Bulk((__error))) instead of (__Bulk((__error))).

And the runtime output error for:

> void question2() {
>     MultiBulk mb;
>     writeln(typeid(mb));
> }


is:

> bla.__Bulk!(__Bulk!(byte)).__Bulk


Despite in runtime I accept don't see aliases name, if it is needed for
accomplish speed.

What are your opinions about these erros output?

Pedro Lacerda

Reply via email to