Problem
One of the changes made in 2021 edition is that TryInto, TryFrom, and FromIterator are now in scope by default (link). So an explicit use statement is now redundant.
However, it seems like neither cargo fix --edition nor cargo fix --edition-idioms (and not even clippy!) catches this. I'm not sure which one of the these should be responsible, but it seems like one of them should at least emit a warning for this.
Steps
- Checkout a Rust project on 2018 edition that uses
TryInto, TryFrom, and FromIterator. An example would be bat before 4b33093.
- Perform the normal edition upgrade procedure.
- Notice that the explicit
use statements are not caught (no warnings).
Possible Solution(s)
Make cargo fix --edition or cargo fix --edition-idioms catch this and warn about it. Or maybe have clippy do this. Which one is more appropriate I'm not sure.
Notes
No response
Version
cargo 1.73.0 (9c4383fb5 2023-08-26)
release: 1.73.0
commit-hash: 9c4383fb55986096b414d98125421ab87b5fd642
commit-date: 2023-08-26
host: x86_64-unknown-linux-gnu
libgit2: 1.6.4 (sys:0.17.2 vendored)
libcurl: 8.2.1-DEV (sys:0.4.65+curl-8.2.1 vendored ssl:OpenSSL/1.1.1u)
ssl: OpenSSL 1.1.1u 30 May 2023
os: EndeavourOS Rolling Release (rolling) [64-bit]
Problem
One of the changes made in 2021 edition is that
TryInto,TryFrom, andFromIteratorare now in scope by default (link). So an explicitusestatement is now redundant.However, it seems like neither
cargo fix --editionnorcargo fix --edition-idioms(and not even clippy!) catches this. I'm not sure which one of the these should be responsible, but it seems like one of them should at least emit a warning for this.Steps
TryInto,TryFrom, andFromIterator. An example would be bat before 4b33093.usestatements are not caught (no warnings).Possible Solution(s)
Make
cargo fix --editionorcargo fix --edition-idiomscatch this and warn about it. Or maybe have clippy do this. Which one is more appropriate I'm not sure.Notes
No response
Version