-
Notifications
You must be signed in to change notification settings - Fork 809
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
Swap module hierarchy so streaming
/complete
is in the root
#1414
Comments
We can do this in a way so that we don't immediately break compatibility. We can move to the new module paths and provide stub modules that pull everything in and just not list them in the docs. The big question is what to do about the items in |
Whats odd is
|
I work on a crate that contains ABNF core rules, still not published for the upgrade but its use Since most For now we could just let them stay where there are.
meh, I think this could just add confusion maybe just do it for nom 8, that just a move, that not as we get rid of a feature.
|
With clap and other crates, I've found its nice to provide a transition path for people, especially if you can mark something as deprecated so people get a message in-line to their workflow telling them how to transition. I would think a module hidden in the docs that gives people a deprecation message to use the other module path wouldn't be confusing. New users would only see the new version. Existing users would have the deprection message clarifying whats going on. |
having top level streaming and complete modules would make sense. I'm not particularly worried about the character module elements, they could be exported through multiple paths. That'll have to wait for nom 8 though |
Why does this need to wait for 8.0? We could provide both paths now, with deprecation messages
|
nom 7.0 was just released 7 weeks ago that removed macros. |
As I said, more clarity, having duplicate path is not helping. Better do it in one time. For example, std have this problem https://doc.rust-lang.org/std/?search=usize. |
we can do that without adding the deprecation warnings. Those can come in a minor version before 8.0 |
So we have many options here, I just want to confirm what is acceptable for moving forward before I implement. Quick summary of everything on the table so far:
My original proposal was:
It sounds like the discussion led to
Is that correct and we ready to move forward with it? |
I feel like hiding the old paths without adding deprecation warnings will lead to confusion. Code will compile silently, but when trying to understand what it does, the nom docs will be all wrong unless you figure out you have to select the correct minor version. Maybe that's just me though. |
#1535 offers an alternative. See winnow-rs/winnow#28 for what it looks like |
Prerequisites
Here are a few things you should provide to help me understand the issue:
Test case
Please provide a short, complete (with crate import, etc) test case for
the issue, showing clearly the expected and obtained results.
Example test case:
@Stargateur said
Forked from #1408
The text was updated successfully, but these errors were encountered: