-
Notifications
You must be signed in to change notification settings - Fork 825
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
usability: address changes introduced with Complete* and many* combinators #839
Comments
Just want to say that this particular issue is a blocker for my moving a project over to nom4. I was really excited to see the improvements in error handling in nom4 but this change and the invasiveness of the fix are giving me pause to finishing the conversion. Most of the other changes are pretty mechanical and easy to do. This one does not fall in that category though. |
@zaphar can you provide examples of code that is affected by the changes? This will help me think about the issue |
Since my issue is mentioned, I'll add I'm blocked form upgrading from nom 2 as well. @khernyo appears to have written a PR to fix my particular problem (referenced in the issue) |
I experimented a bit in snack with edition 2018, to see if the edition 2018 could change things. I have another idea though. It is possible to rename macros when importing them. So we could have I could go further with this and making nom a very small crates with only the core types, and separate the streaming or not streaming macros in different crates. But that might be a bit more annoying to maintain. |
That is nice! With that change is there even a use case for That means the |
the current behaviour of |
Ahh okay I was under the impression that |
I noticed my issue was closed, but doesn't work on 4.2. These changes will be included in 5? |
closing this now, as nom 5 will fix those usability issues with Now there are specialized versions of parsers for streaming or complete input data in the |
references:
There are especially issues around transforming to and from the
Complete*
types, when reusing parsers or passing the results throughflat_map!
and other combinators.There's also the problem of making sure basic parser functions work with all types. As an example, the
hex_u32
,be_*
andle_*
only work on&[u8]
, notCompleteByteSlice
The text was updated successfully, but these errors were encountered: