On Saturday, 28 February 2015 at 10:40:32 UTC, bearophile wrote:
Andrei Alexandrescu:

I'm following with interest the discussion "My Reference Safety System (DIP???)". Right now it looks like a lot of work - a long opener, subsequent refinements, good discussion. It also seems just that - there's work but there's no edge to it yet; right now a DIP along those ideas is more likely to be rejected than approved. But I certainly hope something good will come out of it.

The second scope proposal looks simpler than the first:
http://wiki.dlang.org/User:Schuetzm/scope2


Still working on it, but I think we're on the right track. Zach had some really good ideas.

Later in Rust they have added some lifetime inference to reduce the annotation burden in many cases.

I just modified Walter's RCArray to work with the new proposal. It looks almost identical, but now supports safe slicing. (It currently lacks a way to actually get an RCArray of a slice, but that can be added as an `alias this`). There's only one `scope` annotation in the entire code. Even though the proposal includes a `return` annotation, it's not needed in this case.

In general, if it works out like I imagine, there will be almost no annotations. They will only ever be necessary for function signatures, and then only in `@system` code, `extern`/`export` declarations, and occasionally for `@safe` functions. Everything else will just work. (@safe will become slightly stricter, but that's a good thing.)

Reply via email to