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
