Why Base doesn't reexport from submodules?


I was looking at baremodule Base, and noticed that it has no exports.
Fox example there is the following line:

using .Iterators: zip, enumerate

For functions like zip, enumerate to be available after using Module, at the moment I’m forced to reexport them:

module Module

export f

using .SubModule: f


But Base seemingly does no such thing, and zip and enumerate are available to us without using Base.zip(...). What’s the catch, could someone please explain?


Base have all the exports in the base/exports.jl file, and in particular here you find zip and enumerate.


Wow, thanks @fredrikekre. I thought some magic is going on here.