ADL
Jacob Carlborg via Digitalmars-d
digitalmars-d at puremagic.com
Mon Sep 5 02:25:42 PDT 2016
On 2016-09-05 11:06, Andrei Alexandrescu wrote:
> That is correct (and btw the example should use the member call syntax).
> But touching a type's module is modifying the type. -- Andrei
Not sure what that has to do with anything.
Example:
module foo;
struct Foo
{
int[] array = [1];
}
int front(Foo foo)
{
return foo.array[0];
}
module algo;
void algorithm(Range)(Range range)
{
auto e = range.front; // Error: no property 'front' for type 'Foo'
}
module main
import foo;
import algo;
void main()
{
algorithm(Foo());
}
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list