Why does this mixin fail to compile?

drug007 drug2004 at bk.ru
Mon Jul 1 10:20:25 UTC 2024


On 01.07.2024 12:39, ryuukk_ wrote:
> On Monday, 1 July 2024 at 09:29:50 UTC, Dennis wrote:
>> On Monday, 1 July 2024 at 09:25:39 UTC, ryuukk_ wrote:
>>> This simple mixin fails to compile, anyone know why?
>>>
>>> ```D
>>> mixin implement;
>>>
>>> mixin template implement() {
>>>     mixin("struct _gen(T) {");
>>>     mixin("}");
>>> }
>>
>> A string mixin must form a complete declaration / statement / 
>> expression / type, so you can't end on an open brace.
> 
> this is sad, how i am supposed to do a foreach inbetween?
> 
> ```D
> mixin implement!TEST;
> 
> mixin template implement(stuff) {
>      mixin("struct _gen(T) {");
> 
>      // pseudo code
>      static foreach(args)
>          mixin("stuff");
> 
>      mixin("}");
> }
> 
> void main(){}
> ```

No problem, make a full string then mixin it.


More information about the Digitalmars-d-learn mailing list