property syntax problems
Robert Jacques
sandford at jhu.edu
Thu Feb 5 11:35:23 PST 2009
On Thu, 05 Feb 2009 14:27:27 -0500, Bill Baxter <wbaxter at gmail.com> wrote:
> On Fri, Feb 6, 2009 at 2:34 AM, Robert Jacques <sandford at jhu.edu> wrote:
>> On Thu, 05 Feb 2009 06:55:46 -0500, Alex Burton <alexibu at mac.com> wrote:
>>> int main()
>>> {
>>> B b;
>>> b.a.j = 10; // error b.a is a temporary.
>>> }
>>
>> This isn't a bug, it's a feature. What you wanted to use were ref
>> returns
>> (see http://www.digitalmars.com/d/2.0/function.html )
>> ref A a() { return mA; }
>
> You could call it a bug that the compiler doesn't warn about the
> modification of a temporary like that in a way that has no side
> effects. Or maybe it does warn about it if you enable warnings?
>
> --bb
Actually, from that point of view
>>> b.a.j = 10; // error b.a is a temporary.
isn't the real ( or I think desired ) warning. The real issue is that
b.a.j results in an unused variable which several other compilers issue
warnings about and is a much more general issue.
More information about the Digitalmars-d
mailing list