Make dur a property?
anonymous
anonymous at example.com
Wed Jan 23 14:07:19 PST 2013
My two cents on properties (comments along the way):
alias int delegate() C;
C c;
auto noprop() {return c;}
void noprop(C v) {c = v;}
@property auto prop() {return c;}
@property void prop(C v) {c = v;}
static assert(
is(typeof( noprop ) == function) /* well ... I
guess, technically */
&& is(typeof( prop ) == C) /* ok */
&& is(typeof( {return noprop;}() ) == C) /* fails with -property.
that's goofy */
&& is(typeof( {return prop;}() ) == C) /* ok */
&& is(typeof( {noprop = c;} )) /* fails with -property.
that's alright */
&& is(typeof( {prop = c;} )) /* ok */
&& is(typeof( &noprop ) == C function()) /* of course
*/
&& is(typeof( &prop ) == C function() @property) /*
bad, should be typeof(&c) */
&& is(typeof( noprop() ) == C) /* of course */
&& is(typeof( prop() ) == C) /* bad, should be int */
&& is(typeof( noprop()() ) == int) /* of course */
&& is(typeof( prop()() ) == int) /* bad, should error */
);
More information about the Digitalmars-d
mailing list