I think I would like to have something in the middle of strict and loose 
semantics. I would like that functions marked with @property have to be called 
like a field:

auto bar = foo.field;
foo.field = 3;

But functions not marked with @property still can be called without the 
parentheses:

foo.bar();
foo.bar;

On 21 apr 2011, at 16:09, David Simcha wrote:

> As I've said before, we really need to decide whether @property has loose or 
> strict semantics.  Loose semantics means that non-@property functions would 
> still be callable without (), etc but @property functions wouldn't be allowed 
> to have ()s.  Frankly, I hate @property, want to to have as little effect as 
> possible,  like the flexibility of being able to call the same function both 
> ways, and would have a lot of code break if this were taken away, so my vote 
> is loose semantics.
> 
> On Thu, Apr 21, 2011 at 9:24 AM, Michel Fortin <[email protected]> 
> wrote:
> Le 2011-04-21 à 6:48, Torarin a écrit :
> 
> > Dmd has a bug that causes the @property attribute to be disregarded in
> > functions that return auto.
> 
> Indeed. I think I have a fix for that in the "@property" branch of my DMD 
> fork on github. Perhaps I should make a pull request from that.
> 
> Actually, I could make a pull request for the entire "@property" branch, it 
> shouldn't impact things much as enforcement of @property is only done if you 
> add the command line switch -property. Would that make sense?
> 
> --
> Michel Fortin
> [email protected]
> http://michelf.com/
> 
> 
> 
> _______________________________________________
> phobos mailing list
> [email protected]
> http://lists.puremagic.com/mailman/listinfo/phobos
> 
> _______________________________________________
> phobos mailing list
> [email protected]
> http://lists.puremagic.com/mailman/listinfo/phobos

-- 
/Jacob Carlborg

_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to