http://d.puremagic.com/issues/show_bug.cgi?id=3925
Michel Fortin <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #3 from Michel Fortin <[email protected]> 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: @safe void delegate() foo(ref int a) { return { writeln(a); }; } @safe 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: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
