Been writing some parsers in Rust with Nom recently. Very impressed with the new changes this year in versions 5 and 6. The error handling features are particularly good now for custom parser errors, although I wish there was cleaner "Nom for Haskellers" migration guide for people used to mega/atto/parsec. Perhaps I'll write one one of these days when I know the library a little better.