alias c=mixin(expr); disallowed, why?
Timon Gehr
timon.gehr at gmx.ch
Sat Jun 22 14:55:49 PDT 2013
On 06/22/2013 11:51 PM, Timothee Cour wrote:
>
>
> On Sat, Jun 22, 2013 at 2:47 PM, Timon Gehr <timon.gehr at gmx.ch
> <mailto:timon.gehr at gmx.ch>> wrote:
>
> On 06/22/2013 09:52 PM, Timothee Cour wrote:
>
> Is there a reason the language spec disallows this?
>
> ----
> void main(){
> auto a=mixin("1");//OK
> alias b=a;//OK
> mixin("alias c=a;");//OK
> // alias c=mixin("a");//NG : Error: basic type expected,
> not mixin
> }
> ----
>
>
> No, it is arbitrary.
>
>
> that's what i thought!
> same with template mixin's being restricated.
>
?
> ... can we fix it?
>
> it makes for cleaner code.
>
It surely could be fixed if you want to spend the time hacking on DMD.
I think the grammar is somewhat poorly designed in general.
More information about the Digitalmars-d-learn
mailing list