On Sat, 14 Mar 2015 18:20:47 -0700, Timothee Cour via Digitalmars-d-learn
wrote:

> Why can't we allow mixin templates to contain statements, as is the case
> for regular mixins?
> Is there a workaround?
> 
> here's a dummy example:
> 
> template mixin Foo{
>  //some statement, eg: 'return;'
> }
> 
> void fun(){
>   mixin Foo;
> }
> 
> Note that I can do this with a regular mixin, but template mixins are
> cleaner (esp in more complex examples).

template Foo(int a, string b) {
  import std.format : format;
  enum Foo = q{
    {
      import std.conv : to;
      return %2$s+to!string(%1$s);
    }
  }.format(a, b.stringof);
}

positional args, syntax highlighting, usage like `mixin(Foo!(42, "z"));`.
maybe this will help.

Attachment: signature.asc
Description: PGP signature

Reply via email to