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.