On 2015-04-10 23:22:17 +0000, "deadalnix" <deadal...@gmail.com> said:

On Friday, 10 April 2015 at 23:18:59 UTC, Martin Nowak wrote:
On 04/10/2015 11:29 PM, Walter Bright wrote:

The latter.

Can you update that part in the DIP, it wasn't clear that the temporary
selectively pins RCO fields of a normal struct passed by ref.

If a struct has RCO fields, shouldn't it be an RCO itself, and as such be pinned ?

Not necessarily. A @disabled postblit could make it no longer RCO (including a @disabled postblit in one of the fields).

It sounds like this is implied in the DIP.

That's what I thought too. But when confronted to a case where that wouldn't work Walter said in this thread that the compiler would make a temporary of the fields. So I'm not too sure what to think anymore. The DIP should clarify what happens with @disabled postblit and RCO fields inside non-RCO structs.

--
Michel Fortin
michel.for...@michelf.ca
http://michelf.ca

Reply via email to