alias butAtLeast = max; 5.butAtLeast(6);
JR via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Dec 12 05:23:06 PST 2015
On Saturday, 12 December 2015 at 12:43:36 UTC, SimonN wrote:
> DMD v2.069.2-b1 on Linux.
> import std.algorithm;
> int a = max(5, 6); // works, a == 6
> int b = max!(int, int)(5, 6); // works, manual instantiation
> int c = 5.max(6); // works, UFCS call
> I would like to use the last syntax, but with an alias.
> alias butAtLeast = max; // works
> int d = butAtLeast(5, 6); // works
> int e = 5.butAtLeast(6); // error: no property
> 'butAtLeast' for type 'int'
> Aliasing the instantiated function 'max!(int, int)' instead of
> aliasing 'max' doesn't help: The 'int e' line will fail with
> the exact same error.
> Can I get the alias to work somehow in an UFCS chain?
> -- Simon
By putting it in the top level. I believe this is intentional but
I don't remember the reasoning.
More information about the Digitalmars-d-learn