www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: equivariant functions

reply ore-sama <spam here.lot> writes:
Andrei Alexandrescu Wrote:

 Denis Koroskin wrote:
 class Storage
 {
    sameconst(Foo) foo() sameconst(this) // const, invariant or none
    {
         return _foo;
    }
 
    private Foo _foo;
 }
 
 Your version?

class Storage { typeof(this._foo) foo() const { return _foo; } }

In this example signature (interface) explicitly depends on private field (implementation). I just tried to imagine how to document its return type.
Oct 13 2008
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
ore-sama wrote:
 Andrei Alexandrescu Wrote:
 
 Denis Koroskin wrote:
 class Storage { sameconst(Foo) foo() sameconst(this) // const,
 invariant or none { return _foo; }
 
 private Foo _foo; }
 
 Your version?


In this example signature (interface) explicitly depends on private field (implementation). I just tried to imagine how to document its return type.

That's a good point. Andrei
Oct 13 2008