-
Notifications
You must be signed in to change notification settings - Fork 612
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove top-level re-exports #1477
Conversation
It makes sense to me to relegate the For the others, I really don't see removing the top-level re-exports as a good idea. These have been at the top-level forever, so we'd be putting every downstream user through a bunch of churn for the sole goal of removing the re-exports. I suppose we could alternatively remove the "original" re-exports from the So, after considering all the context, I would prefer to keep the situation as-is for |
I think of the API as being in two groups -- let's call them "paved path" and "detail". "Paved path" would be types that every user will need1, and I think it makes sense for these types to be front-and-centre at the top of the crate path hierarchy. "Detail" would be for complex uses, or types that need to be public but aren't directly referred to by name2, and everything else. For these commits, I think the first 6 are "detail" that deserve to be lower down in the hierarchy rather than the top level. The rest of the commits I think are "paved path" types that deserve a place at the top of the hierarchy, but shouldn't be lost further down. Footnotes |
@ctz What you describe makes sense to me, and I would be OK with leaving the I'd like Jsha to have a chance to weigh in before I make updates to the branch since he opened #1386. Let's table this until then? |
Yes this makes sense to me. As I understand it: we would keep the five
"paved path" types we're talking about exported in two places, because even
across a breaking release, it's not worth breaking someone's code over. The
types that aren't yet in a release would get a single name (under a
module). And for new "paved path" types, that's presumably a discussion for
#1386 / a contibuting.md update. 👍
|
fe0f949
to
fb860ca
Compare
I've restored the "paved path" re-exports and tacked on an update to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for getting this done!
fb860ca
to
bbcd279
Compare
bbcd279
to
ba3d5b6
Compare
This branch removes all top-level re-exports except for the "paved path" re-exports we expect all-to-most users will be using.
An informal poll indicates users find it confusing when there are multiple names for the same things. See #1386 for more discussion.