Description
With clippy 0.1.56 (b03ccac 2021-08-24)
and rustc 1.56.0-nightly (b03ccace5 2021-08-24)
I ran cargo clippy --fix
in a checkout of sourcefrog/conserve@86137c3
and it asks me to file a bug here.
I'll attach a file of the changes made.
20210825-conserve-clippy.diff.gz
[I] bobcat ~/src/conserve> cargo clippy --fix
Checking conserve v0.6.15-pre (/home/mbp/src/conserve)
Fixed src/band.rs (1 fix)
Fixed src/restore.rs (1 fix)
Fixed src/index.rs (2 fixes)
Fixed src/backup.rs (3 fixes)
Fixed src/show.rs (1 fix)
Fixed src/validate.rs (1 fix)
Fixed src/archive.rs (4 fixes)
Fixed src/transport.rs (2 fixes)
Fixed src/test_fixtures.rs (2 fixes)
Fixed src/blockdir.rs (2 fixes)
Fixed src/transport/local.rs (1 fix)
Fixed tests/cli/main.rs (1 fix)
warning: failed to automatically apply fixes suggested by rustc to crate `conserve`
after fixes were automatically applied the compiler reported errors within these files:
* src/band.rs
* src/index.rs
* src/transport/local.rs
This likely indicates a bug in either rustc or cargo itself,
and we would appreciate a bug report! You're likely to see
a number of compiler warnings after this message which cargo
attempted to fix but failed. If you could open an issue at
https://github.com/rust-lang/rust/issues
quoting the full output of this command we'd be very appreciative!
Note that you may be able to make some more progress in the near-term
fixing code with the `--broken-code` flag
The following errors were reported:
warning: used `assert_eq!` with a literal bool
--> src/band.rs:292:9
|
292 | assert_eq!(info.is_closed, true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= note: `#[warn(clippy::bool_assert_comparison)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> src/band.rs:306:9
|
306 | assert_eq!(af.transport().exists("b0000").unwrap(), false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> src/transport/local.rs:225:9
|
225 | assert_eq!(transport.exists("root file").unwrap(), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> src/transport/local.rs:226:9
|
226 | assert_eq!(transport.exists("nuh-uh").unwrap(), false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
error[E0282]: type annotations needed
--> src/index.rs:658:14
|
658 | .map(|entry| entry.apath.into()).next().is_none());
| ^^^ ------------------ this method call resolves to `T`
| |
| cannot infer type for type parameter `B` declared on the associated function `map`
error: aborting due to previous error; 4 warnings emitted
For more information about this error, try `rustc --explain E0282`.
Original diagnostics will follow.
warning: used `assert_eq!` with a literal bool
--> src/band.rs:292:9
|
292 | assert_eq!(info.is_closed, true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= note: `#[warn(clippy::bool_assert_comparison)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> src/band.rs:306:9
|
306 | assert_eq!(af.transport().exists("b0000").unwrap(), false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> src/transport/local.rs:225:9
|
225 | assert_eq!(transport.exists("root file").unwrap(), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> src/transport/local.rs:226:9
|
226 | assert_eq!(transport.exists("nuh-uh").unwrap(), false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
Fixed src/bin/conserve.rs (6 fixes)
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/archive.rs:461:43
|
461 | let result = Archive::create_path(&temp.path());
| ^^^^^^^^^^^^ help: change this to: `temp.path()`
|
= note: `#[warn(clippy::needless_borrow)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&[u8]`) that is immediately dereferenced by the compiler
--> src/compress/snappy.rs:97:44
|
97 | assert_eq!(decompressor.decompress(&comp).unwrap(), b"hello world");
| ^^^^^ help: change this to: `comp`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&[u8]`) that is immediately dereferenced by the compiler
--> src/compress/snappy.rs:102:44
|
102 | assert_eq!(decompressor.decompress(&comp).unwrap(), &long_input[..]);
| ^^^^^ help: change this to: `comp`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:595:43
|
595 | let mut it = IndexRead::open_path(&testdir.path()).iter_entries();
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:611:47
|
611 | let index_read = IndexRead::open_path(&testdir.path());
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:618:34
|
618 | IndexRead::open_path(&testdir.path()).iter_hunks().collect();
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: avoid using `collect()` when not needed
--> src/index.rs:658:14
|
658 | .collect();
| ^^^^^^^
659 | assert!(names.is_empty());
| ---------------- the iterator could be used here instead
|
= note: `#[warn(clippy::needless_collect)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_collect
help: check if the original Iterator has anything instead of collecting it and seeing if it's empty
|
653 ~
654 ~ assert!(index_read
655 + .iter_hunks()
656 + .advance_to_after(&"/subdir".into())
657 + .flatten()
658 ~ .map(|entry| entry.apath.into()).next().is_none());
|
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:644:47
|
644 | let index_read = IndexRead::open_path(&testdir.path());
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:733:43
|
733 | let mut it = IndexRead::open_path(&testdir.path()).iter_entries();
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:739:43
|
739 | let mut it = IndexRead::open_path(&testdir.path()).iter_entries();
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:745:43
|
745 | let mut it = IndexRead::open_path(&testdir.path()).iter_entries();
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:751:43
|
751 | let mut it = IndexRead::open_path(&testdir.path()).iter_entries();
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/index.rs:768:47
|
768 | let read_index = IndexRead::open_path(&testdir.path());
| ^^^^^^^^^^^^^^^ help: change this to: `testdir.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/jsonio.rs:83:45
|
83 | let transport = LocalTransport::new(&temp.path());
| ^^^^^^^^^^^^ help: change this to: `temp.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
Fixed tests/api/transport.rs (1 fix)
Fixed tests/api/diff.rs (1 fix)
Fixed tests/api/old_archives.rs (3 fixes)
Fixed tests/api/blockhash.rs (1 fix)
Fixed tests/api/restore.rs (6 fixes)
Fixed tests/api/backup.rs (5 fixes)
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/stitch.rs:211:42
|
211 | let archive = Archive::open_path(&af.path())?;
| ^^^^^^^^^^ help: change this to: `af.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> src/transport/local.rs:159:29
|
159 | transport.read_file(&filename, &mut buf).unwrap();
| ^^^^^^^^^ help: change this to: `filename`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> src/transport/local.rs:174:39
|
174 | assert_eq!(transport.metadata(&filename).unwrap(), Metadata { len: 24 });
| ^^^^^^^^^ help: change this to: `filename`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&str`) that is immediately dereferenced by the compiler
--> src/transport/local.rs:186:29
|
186 | transport.read_file(&filename, &mut buf).unwrap();
| ^^^^^^^^^ help: change this to: `filename`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/transport/local.rs:204:45
|
204 | let transport = LocalTransport::new(&temp.path());
| ^^^^^^^^^^^^ help: change this to: `temp.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/transport/local.rs:248:45
|
248 | let transport = LocalTransport::new(&temp.path());
| ^^^^^^^^^^^^ help: change this to: `temp.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/transport/local.rs:266:45
|
266 | let transport = LocalTransport::new(&temp.path());
| ^^^^^^^^^^^^ help: change this to: `temp.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/transport/local.rs:278:45
|
278 | let transport = LocalTransport::new(&temp.path());
| ^^^^^^^^^^^^ help: change this to: `temp.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: this expression borrows a reference (`&std::path::Path`) that is immediately dereferenced by the compiler
--> src/transport/local.rs:299:45
|
299 | let transport = LocalTransport::new(&temp.path());
| ^^^^^^^^^^^^ help: change this to: `temp.path()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
warning: used `assert_eq!` with a literal bool
--> tests/api/backup.rs:46:5
|
46 | assert_eq!(archive.band_exists(&BandId::zero()).unwrap(), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= note: `#[warn(clippy::bool_assert_comparison)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> tests/api/backup.rs:47:5
|
47 | assert_eq!(archive.band_is_closed(&BandId::zero()).unwrap(), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> tests/api/backup.rs:48:5
|
48 | assert_eq!(archive.band_exists(&BandId::new(&[1])).unwrap(), false);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> tests/api/backup.rs:88:5
|
88 | assert_eq!(band_info.is_closed, true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> tests/api/damaged.rs:25:5
|
25 | assert_eq!(validate_stats.has_problems(), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: used `assert_eq!` with a literal bool
--> tests/api/damaged.rs:37:5
|
37 | assert_eq!(validate_stats.has_problems(), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
warning: struct update has no effect, all the fields in the struct have already been specified
--> tests/api/gc.rs:63:11
|
63 | ..Default::default()
| ^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(clippy::needless_update)]` on by default
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_update
warning: `conserve` (lib test) generated 27 warnings
warning: `conserve` (test "api") generated 7 warnings
Finished dev [unoptimized + debuginfo] target(s) in 2.56s
Meta
rustc --version --verbose
:
rustc 1.56.0-nightly (b03ccace5 2021-08-24)
binary: rustc
commit-hash: b03ccace573bb91e27625c190a0f7807045a1012
commit-date: 2021-08-24
host: x86_64-unknown-linux-gnu
release: 1.56.0-nightly
LLVM version: 13.0.0