On Saturday, 4 May 2013 at 23:30:01 UTC, Walter Bright wrote:
On 5/4/2013 3:50 PM, deadalnix wrote:
Require isn't the right word, or you hav to explain yourself much more.

You need an explicit annotation if a ref parameter is returned by ref by that function. This is what Rust's annotations do.

Consider:

    ref T foob(ref U u) { return u.t; }

    ref U bar() { U u; return foob(u); }

The compiler cannot know that the ref return of foob is referring to local u (as opposed to, say, a ref to a global) unless it is annotated to say so. Rust is no different.

This code sample won't require any annotation in Rust. And it illustrate wonderfully what I'm saying : most people in the discussion (and it has been shown now that this includes you) were unaware of how does Rust solve the problem.

I don't think excluding a solution that isn't understood is the smartest thing to do.

Reply via email to