I find it convenient to split implementation of public methods into several modules, so that I don't have a huge file if there are a lot of methods with complicated implementations.
However, rustdoc displays it in an unpleasant way, for instance: UBig.
All the impl blocks are shown separately, even though users shouldn't care about this implementation detail. Plus, all the blocks are collapsed, so links to methods don't work.
Is there a better way to write this code? I could move all public methods to one file and have them delegate to non-public methods in separate modules, but this adds an extra indirection that seems unnatural.
Well, at least the collapsed blocks and not-working-links to methods is a separate problem that has since been fixed. It’s only present on UBig because nightly rustdoc had that bug at the time its docs.rs documentation was built.
Each impl block can have it's own documentation to for example indicate low-level api's or platform specific api's. This won't work if you merge them into a single block.