On Thu, 21 Apr 2011 17:54:34 -0400, Jonathan M Davis <[email protected]>
wrote:
> On Thu, 21 Apr 2011 16:14:22 -0400, Jonathan M Davis
> <[email protected]>
>
> wrote:
> >> On Thu, 21 Apr 2011 15:57:57 -0400, Jonathan M Davis
> >> <[email protected]>
> >>
> >> 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
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos