I was poking around the dmd code just to "learn from the best"
and I came across some files that ended with the .d extension
which did not have the module statement. (I was under the naive
impression that all .d files must have a module statement)
However, in the directory:
https://github.com/dlang/dmd/blob/master/samples
I can see many examples where this is not the case. Most of them
have things like Windows or C structures or calls, etc.
In stark difference, there is
https://github.com/dlang/dmd/tree/master/src/dmd/backend
where all its files seem to have file name = module name strictly
enforced.
So I guess my question is when is the module statement required?
Are they recommended but not essential? Maybe some "Best
Practices" notation?
the spec sasy "Modules automatically provide a namespace scope
for their contents..." so maybe my question becomes, when are
namespace scopes required to be present or required to be absent?