This compiles and runs in D2: -- import std.stdio; auto foo() { return 1; } void main() { writefln("%s", foo()); } -- Since when a non-templated function can have its return type deduced? :)