digitalmars.D - Auto return type
- bearophile (21/21) Dec 04 2008 The D2 docs say: "Function templates can have their return types deduced...
The D2 docs say: "Function templates can have their return types deduced based
on the first ReturnStatement in the function:".
This is a little example, that also shows a closure at work:
import std.stdio: putr = writefln;
auto make_counter()(int start_num) {
int start = start_num;
return { return start++; };
}
void main() {
auto from_ten = make_counter(10);
auto from_three = make_counter(3);
putr(from_ten()); // 10
putr(from_ten()); // 11
putr(from_three()); // 3
putr(from_ten()); // 12
putr(from_three()); // 4
}
I think it can be useful for the a future version of D2 if also normal
functions allow such return type inference:
auto make_counter(int start_num) { ...
In the current D2 how you can turn that function template make_counter into an
actual function?
Bye,
bearophile
Dec 04 2008








bearophile <bearophileHUGS lycos.com>