On 11.11.2014 21:41, Steven Schveighoffer wrote:
In other words, putting a struct in the GC heap that was written to be scope-destroyed is an error before and after this pull. Before the pull, the dtor doesn't run, which is wrong, and after the pull the dtor may cause race issues, which is wrong. So either way, it's wrong :)
I think if someone uses "new" to allocate a struct on the GC heap, he must be aware of the consequences of using the GC. What happens within destruction/finalization is just the same as if it had been wrapped in a class, and that's what everyone(?) expects.
