[phobos] Time to get ready for the next release

Robert Jacques sandford at jhu.edu
Thu Apr 21 15:02:17 PDT 2011


On Thu, 21 Apr 2011 17:54:34 -0400, Jonathan M Davis <jmdavisProg at gmx.com>  
wrote:

>> > On Thu, 21 Apr 2011 16:14:22 -0400, Jonathan M Davis
>> > <jmdavisProg at gmx.com>
>> >
>> > wrote:
>> > >> On Thu, 21 Apr 2011 15:57:57 -0400, Jonathan M Davis
>> > >> <jmdavisProg at gmx.com>
>> > >>
>> > >> wrote:
>> > >> >> 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.
>> > >>
>> > >> What about auto b = a.prop1(5).prop2(6).prop3(7); ?
>> > >
>> > > I'd consider that to be the same. It should work, but it doesn't.
>> > > There's a
>> > > bug report for it.
>> >
>> > Ahem, so you'd consider auto b = a.prop1(7); valid code under strict
>> > property rules?
>>
>> Oh wait. You're right. I didn't read that right. No, that wouldn't be
>> legal. That would be both getting and setting. Why would you even try  
>> and
>> do that with a property, let alone with several chained together?
>
> Oh. I suppose that that could be legal if the value of the property was
> callable with a single integer and that function returned a value. If  
> so, that
> should be legal. But other than that, I can't think of why it would be  
> legal
> to do that, or make any sense to for that matter.
>
> - Jonathan M Davis

See: http://en.wikipedia.org/wiki/Method_chaining and specifically,  
http://en.wikipedia.org/wiki/Fluent_interface


More information about the phobos mailing list