https://issues.dlang.org/show_bug.cgi?id=16455
[email protected] changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |[email protected] Resolution|--- |INVALID --- Comment #1 from [email protected] --- (In reply to apham from comment #0) > struct NodeRange(S) > { [...] > void delegate() doPopFront; > > void doMove() > { [...] > } [...] > this(Node!S aParent) > { [...] > doPopFront = &doMove; > } [...] > } As far as I see, that code is invalid. &doMove refers to the current location of the struct. But structs can be copied and moved around (the compiler is even allowed to do it on its own). Whenever that happens, doPopFront is invalidated. Closing as invalid. Please reopen if you disagree. --
