[Issue 3008] Members of non-lvalues (rvalues) can be assigned to.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Jul 30 10:59:33 PDT 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3008
--- Comment #11 from BCS <shro8822 at vandals.uidaho.edu> 2009-07-30 10:59:32 PDT ---
(In reply to comment #10)
> (In reply to comment #8)
> >
> > This assumes that the body of x is available for analysis and is simple
> > enough to be analysed.
>
> Oh my, I made it sound like the body of the thing would be analysed. Poor
> wording.
>
> No that's not the case, I was mostly just referring to the declaration.
>
> The only thing that matters there is that it looks at foo's return type, finds
> an rvalue, and thinks "hmmm, that might mess up someone's day."
>
> My point was that it doesn't matter whether it looks at the noop version or
> the non-noop version, either way it finds the same rvalue in the return and
> decides to the negative.
>
OK then that's another (potentially worse) problem because I can think of
several cases where I want to return a struct (by value) and invoke functions
on it. Based on your rule, I'd always have to store it in a local to do that. I
don't see that flying.
The only cases I can see being banned is member variable assignment on a struct
return.
> > Any implementation that doesn't give the same functionality as .di files
> > (no-source symbol decelerations) effectively eliminates the ability to have
> > closed source D libraries. Therefor, the feature causing problems
> > effectively is part of the spec.
>
> .di files and bodyless function declarations, these are two different things.
Well, as I pointed out, one or the other is needed so, either way, there side
effect have to be dealt with.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list