On Wednesday, 30 January 2013 at 11:10:17 UTC, bearophile wrote:
Currently you are allowed to write a lambda literal as in line
3, but you can't omit "ref" as in line 4:
void foo(int delegate(ref int[1]) spam) {}
void main() {
foo((ref x) => 0); // line3, OK
foo(x => 0); // line4, Error
}
Do you think "ref" annotation should be required at the call
site?
This is the Bugzilla thread. Hara has already implemented the
"ref" inference, but he's not sure if it's a good idea:
http://d.puremagic.com/issues/show_bug.cgi?id=9423
Bye,
bearophile
By the way, recently problem with functions taking by ref and
returning passed ref was discussed and was considered to be a
@safity hole. If your proposal is accepted, issue with ref and
@safe may be needed to be taken into account in application to
your proposal.