possible "solution" for ufcs

Timon Gehr timon.gehr at gmx.ch
Mon Jun 6 12:49:14 PDT 2011


KennyTM~ wrote:
>
> Maybe better
>
>      auto ref opDispatch(string name, T...)(auto ref T args) {
>          mixin("return ." ~ name ~ "(this, args);");
>      }
>
> so that ref-returns and ref-parameters can be handled as well. Doesn't
> work for 'lazy' though. It also cannot preserve 'pure'-ity,
> 'nothrow'-ness and '@safe'-ty of the original function.

Yes, but this is an unresolved problem of the language in general. We can have the
template mixin just mixin all 8 versions with different template constraints until
that gets fixed (thats what will be done anyways, at least purity is reflected in
the mangled name AFAIK). The most important feature needed to make it work
correctly, "auto ref" is already there.


Timon


More information about the Digitalmars-d mailing list