Keep module details private
Declarations are private to their module until marked pub. This keeps helper names out of the import surface while allowing public functions to use them internally.
Check rejects this import at the boundary. Add pub to secret, or export a public operation that owns the private detail.
use vault
fn main() { println(vault.secret()) }
Detailed reference →
Examples use the moon toolchain version shown beside each result.