Andrei Alexandrescu wrote:
Pelle Månsson wrote:
Andrei Alexandrescu wrote:
Pelle Månsson wrote:
Jason House wrote:
Andrei Alexandrescu Wrote:

Jason House wrote:
Am I the only one that has trouble remembering how to write an inline
anonymous delegate when calling a function? At a minimum, both Scala
and C# use (args) => { body; } syntax. Can we please sneak it into
D2?
We have (args) { body; }

Andrei

Somehow, I missed that. What kind of type inference, if any, is allowed? Scala and C# allow omiting the type. Lately I'm doing a lot of (x) => { return x.foo(7); } in C# and it's nice to omit the amazingly long type for x. The IDE even knows the type of x for intellisense... I think scala would allow x => foo(7), or maybe even => _.foo(7) or even _.foo(7). I haven't written much scala, so I may be way off...

Recent experiments by myself indicate you cannot omit the type and you cannot use auto for the type, so you actually need to type your VeryLongClassName!(With, Templates) if you need it.

I sort of miss automatic type deduction.

Actually, full type deduction should be in vigor, but it is known that the feature has more than a few bugs. Feel free to report any instance in which type deduction does not work in bugzilla.

Andrei

int f(int delegate(int) g) {
    return g(13);
}
void main() {
    f((auto x) { return x+13; });
}

This does not compile in D v2.034. Am I missing something?

Dropping the "auto" should yield a compilable program. Please report that to bugzilla (http://d.puremagic.com/issues/enter_bug.cgi) or let me know and I'll do so.

Thanks!

Andrei

I'm afraid I do not understand, simply omitting the auto does not compile either. Which one is the bug?

I'm putting this on the bugzilla now.

Reply via email to