There was a time when imports were public by default; that is, when you imported another module, its contents will be not only visible from your module, but also from any module that imported your module.
In the end, it was changed so that they were private by default.
However, there are several reasons to manually specify private :
Imports can be made public if they are in the public context. For example:
public: // Lots of stuff import blah; // oh no, everyone can see my imports!
DMD flows with import related errors. For example, selective imports are publicly accessible by default, although they are supposedly private. This can lead to all kinds of horrible nightmare scenarios where characters (mistakenly) imported publicly in one module cause characters in a completely different module to just disappear and break your program.
In other words, they are probably private in Tango because the developers have worked with DMD for too long to trust it in order to get this right.
DK.
source share