Due to separate compilation, the D compiler cannot know if a start address exists with a function provided for it. The responsibility of this is the linker, which will error if no start address with executable code is provided.