UFCS with constructors
qznc
qznc at web.de
Wed Nov 6 06:31:09 PST 2013
On Wednesday, 6 November 2013 at 11:04:05 UTC, bearophile wrote:
> import std.typecons: Typedef;
> alias Foo = Typedef!double;
> void main() {
> auto a1 = Foo(1);
> pragma(msg, typeof(a1));
> auto a2 = 1.Foo;
> pragma(msg, typeof(a2));
> auto a3 = Foo(-1);
> pragma(msg, typeof(a3));
> auto a4 = -1.Foo;
> pragma(msg, typeof(a4));
> }
>
>
> It prints:
>
> Typedef!(double, nan)
> Typedef!(double, nan)
> Typedef!(double, nan)
> double
>
>
> Is this expected/acceptable/good?
Operator precedence of "." is higher than unary minus. That
should be the explanation, why the fourth output is different
than the others.
However, what is Typedef for?
More information about the Digitalmars-d-learn
mailing list