Michel Fortin <> changed:

           What    |Removed                     |Added
                 CC|                            |

--- Comment #3 from Michel Fortin <> 2010-03-10 
15:04:05 EST ---
(In reply to comment #2)
> I've just been dealing with ref returns in my recent CTFE patch. But I don't
> think it's very complicated.
> As far as I can tell, ref returns are only a problem if a local variable is
> passed as a ref parameter, or if it is a member function of a local struct.
> If either of those is true, it should be considered to potentially be a return
> of a local variable.
> I don't think there's any problem with foo, but bar should generate an error.

This seems fair. There is a similar problem with delegates:

void delegate() foo(ref int a) {
    return { writeln(a); };

void delegate() bar() {
    int a;
    return foo(a); // leaking reference to a beyound bar's scope

It could be solved in the same way.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to