Am 14.07.2010 20:55, schrieb bearophile:
This small D2 program compiles with no errors:

T foo(T)(T x) {}
void main() {}

But there is no way it can compile, regardless of the type T, because foo()() 
lacks a return statement.
So is it possible for the D compiler to perform some sanity tests for the 
template functions too, to catch a bugs like this one?

Imagine T was void. Then no return was ok. It wouldn't (shouldn't) compile anyways because a parameter of type void is (should be) invalid. However to enforce the compiler to see that T can't be void is a bit to complicated, I think.

Mafi

Reply via email to