3 ms·
What goes into another crate vs another module is an API architecture question; you can shake your fist at (overblown) compilation times but it doesn't make it
by pie_flavor 3y ago
What goes into another crate vs another module is an API architecture question; you can shake your fist at (overblown) compilation times but it doesn't make it bad practice to make stuff that's semantically a library, a library.
As an example of good practice, Go is pointed to, which is an ecosystem full of people splitting lots of stuff into separate libraries that make no sense to the end user as a separate library and in practice serve the role of submodules. This I would call bad practice, if not for the fact that Go disallows you from doing it any other way.
If Go had a central package index instead of just using GitHub, it would be a very confusing place, full of 'private submodules'.