pubgrub-rs / pubgrub

PubGrub version solving algorithm implemented in Rust
https://pubgrub-rs.github.io/pubgrub/pubgrub/
Mozilla Public License 2.0
337 stars 30 forks source link

Move to edition 2021 #142

Closed 0xAtticus closed 8 months ago

0xAtticus commented 8 months ago

Fix #140

0xAtticus commented 8 months ago

First of all, running: cargo fix --edition does not trigger any change.

Prelude changes

No changes required. The following traits were added to the prelude:

New default resolver.

No changes required Simply an improvement of dependencies

When building the following dependencies, the given features will no longer be used:

  log v0.4.20 removed features: std
  syn v2.0.38 (as host dependency) removed features: full, visit

The following differences only apply when building with dev-dependencies:

  libc v0.2.149 removed features: extra_traits
  regex v1.10.2 removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
  regex-automata v0.4.3 removed features: unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment, unicode-word-boundary
  regex-syntax v0.8.2 removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment

IntoIterator for arrays

This may have impact for SmallVec. No lint array_into_iter were triggered, because we were using the IntoIterator::into_iter syntax. According to the migration guide, this means that we should already be ready to go for Rust 2021!. An optional migration is to replace IntoIterator::into_iter with .into_iter, which has been done in the pull request.

Disjoint capture in closures

No changes required Could not find any impact manually, and no rust_2021_incompatible_closure_captures lint are triggered.

Panic macro consistency

No changes required No panic message is concerned by the change.

Reserving syntax

No changes required We were not using any of the now reserved syntax.

Warnings promoted to errors

No changes required There are no lint warning nor errors.

Or patterns in macro-rules

No changes required If I am not mistaken, there are no macro defined in the project.

mpizenberg commented 8 months ago

Thanks for the analysis and write up @0xAtticus !