Skip to content
This repository has been archived by the owner on Jan 3, 2024. It is now read-only.

the following packages contain code that will be rejected by a future version of Rust: nom v6.1.2 #146

Open
epage opened this issue Mar 28, 2023 · 2 comments

Comments

@epage
Copy link

epage commented Mar 28, 2023

vimwiki appears to use an older version of nom that has a future-incompat warning. I see this when building cobalt.

If open to alternatives to nom, I can offer my biased opinion that winnow is great

@chipsenkbeil
Copy link
Owner

@epage what is the advantage of winnow over nom? I'll need to see what is breaking when it comes to updating the nom dependency as well.

Is there a migration guide for using winnow? I have no particular reason why I'm using one parser combinator library over another, so if either is an easier path to pursue, I'll go in that direction.

@epage
Copy link
Author

epage commented Mar 28, 2023

what is the advantage of winnow over nom?

https://epage.github.io/blog/2023/02/winnow-toml-edit-combine-nom/#winnow discusses the differences from nom (and the rest covers motivation). Currently, the main advantage is readability improvements but I'm working towards improving handling and performance of more complex text processing cases, like error recovery.

Is there a migration guide for using winnow? I have no particular reason why I'm using one parser combinator library over another, so if either is an easier path to pursue, I'll go in that direction.

  1. Upgrade to nom v7
  2. Switch the dependency and imports to winnow v0.3 (very few changes needed, if any)
  3. Resolve deprecations
  4. Upgrade to winnow 0.4

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants