rust-analyzer / smol_str

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

0.1.17 doesn't build on fairly-recent rust releases

antifuchs opened this issue · comments

I just stumbled over serokell/deploy-rs#27, where smol_str is pulled into a deploy tool via a transitive dependency.

I know that smol_str doesn't have a published minimum supported rust version, but it feels like the transition between 0.1.16 and 0.1.17 should have been a major version bump, being a breaking change for rust versions from this July...

I don't have any good ideas on how to fix this situation now - but maybe cutting a major release and maybe pulling or reverting the 0.1.17 release will not be too painful?

see: #27 (comment)

TL;DR: at the moment, SmolStr is maintained in the "good enough for rust-analyzer" state. If someone wants to shoulder maintenanc burden and make this crate into a generally-reusable crates.io package, feel free to reach out to me.

Note that this'll be a rather hard and time-consuming task, as the current API is pretty ad-hoc, and a lot has to be done to make this production ready. At least:

  • mutation via make_mut
  • enforcment of canonicalization
  • hiding the weird whitespace handling behind a feature flag.

Agh, missed that issue. Thanks for the explanation. I think we'll just pin it over in the tool depending on rnix (which depends on rowan, which in turn depends on smol_str, ...) and go from there.

Also, thanks for offering maintenance but I can't take on more crates right now - I might return to the offer & this issue in the future though!