Pseudo Members

Vadim Goryunov vadim.goryunov at
Sun Feb 26 02:37:33 PST 2012

In "The D programming language" chapter 5.9.1 Pseudo Members 
Andrei says that D rewrites,c,d) as fun(a,b,c,d) if fun 
is not a member of a's type.
In the following example this is working for arrays only (T[]), 
but not for user defined class A.
Are pseudo members going to be implemented for user defined types 
eventually? Or is it considered a "hack" for arrays only?

class A {
     @property int length() { return 0; }

@property bool empty(T)(T a) { return a.length == 0; }

unittest {
     int[] array;

     auto obj = new A();
     obj.empty;   // Error: no property 'empty' for class 'Test.A'

More information about the Digitalmars-d mailing list