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