[phobos] Time to get ready for the next release

Jonathan M Davis jmdavisProg at gmx.com
Thu Apr 21 12:57:57 PDT 2011


> How about the amount of existing code it breaks?  How about the fact that
> it breaks using the same function for both method chaining and with
> property syntax?

Something like

auto b = a.prop1.prop2.prop3;

should work. I doesn't at present, but it should. There's a bug report on it. 
As for breaking existing code, _of course_ it's going to. That's to be 
expected, and I would have thought that that was expected when @property was 
introduced in the first place. It just hasn't happened yet because @property 
has been introduced in steps. First it's added but not enforced. Then, once it 
works properly, we can make the change to enforcement like any other breaking 
change: first warning about it, then deprecating it, and then outright making 
it an error.

I don't think that there's much question that @property can't currently be 
enforced - there are too many @property bugs - and we're going to have make 
the switch in stages just like any other breaking change. But I don't think 
that that's reason enough to not go for strict enforcement. I definitely think 
that @property is essentially pointless without strict enforcement.

- Jonathan M Davis


More information about the phobos mailing list