On Wednesday, 18 February 2015 at 20:47:36 UTC, deadalnix wrote:
On Wednesday, 18 February 2015 at 20:25:07 UTC, Dicebot wrote:
Right now I don't care for full memory safety or type safety of any proposed solution. I will be glad to have any that actually works - and I have not heard of any idea that allows to do that without language changes. Your push for owned is also hardly relevant because exceptions are good examples of data with shared / non-determenistic ownership and thus won't benefit from it.

I think it make sense to require that something thrown to be owned. That means ownership can be transferred from one thread to the other. That also mean that the compiler can free the exception when it goes out of scope, which is what is wanted for exception and @nogc to work together.

The invalid operation in @nogc would become promoting owned to Tl/shared/immutable rather than not allocating at all.

This has added benefit to allow for way more code to be @nogc, and in many cases transfers the GCness of something in the caller, which makes for @nogc compatible libraries that can be used in both @nogc and gc situation.

If we are gonna add something in the language, it'd better be worth it.

+1

Could you take the time to make a concrete proposal? I'll try to have another go at `scope`, which is of course deeply linked with ownership, and these two things need to work well together. I want to avoid proposing something that will later collide with your ideas.

Reply via email to