How do I make an Rust item public within a crate, but private outside it?
I have a crate that has lots of code, so I've split it into multiple files/modules. However, some modules have internal unsafe stuff (e.g. raw pointers) that I need to make public to the different modules, but I don't want to expose to users of my crate. How can I do that? The only way I can think of is to actually have my crate just be one big module, but then there's no way to split it into different files, other than this solution which seems a bit hacky. Normally when I come up against a real world problem that the simple examples in the Rust docs don't adequately explain I just copy a