DIP28, on properties, availabel for destruction as well

deadalnix deadalnix at gmail.com
Wed Mar 13 08:55:47 PDT 2013


On Saturday, 2 March 2013 at 16:48:14 UTC, Timon Gehr wrote:
>>  - typeof(__traits(propertyAccessors, prop)(exp)) is void and 
>> its
>> result is used. I don't see the point of special casing this.
>
> Consistent support for multiple assignment.
>

It isn't prevented by DIP28. Plus, this is already the behavior 
of opAssign and firends.

>> It increase complexity
>
> Yup, marginally.
>
>> and reduces what you can express.
>>
>
> Not strictly.
>

It does. I''m not sure that the extra possibility are really 
useful, but I'm reluctant to increase complexity to reduce 
expression capabilities (unless they cause real problems).

>> It is unclear what happen when the property is aliased or 
>> passed as
>> alias parameter in both DIP, and should be effectively 
>> corrected.
>
> No, both DIPs specify it exactly. DIP28 is broken in that 
> regard.
> But DIP28 leaves it up to imagination what it means for an 
> expression to occur in the left-hand side of an assignment.

DIP28 is fixed in that regard. You were right.


More information about the Digitalmars-d mailing list