D-Programming-Language/dmd — comment on commit 675898721c04d0bf155a85abf986eae99c37c0dc
File:  line 0
By denis-sh:

`=>` is a [C# lambda operator](http://msdn.microsoft.com/en-us/library/bb397687.aspx) so it's common for many people.

Type of expression like `a => a` is inferred from using.
auto func = a => a; // error
int function(int) d = a=>a; // compiles

If it is passed as `alias` template parameter, the expression is passed (without instantiation). One can call `t!(a=>a)();` or `t!((a){ return a; })();` where `t` is:
void t(alias f)() {
pragma(msg, typeof( f(1) )); // prints int, like (a=>a)(1)
pragma(msg, typeof( f(1.0) )); // prints double, like (a=>a)(1.0)
}