[INFO] crate git-sql 0.0.1 is already in cache [INFO] extracting crate git-sql 0.0.1 into work/ex/clippy-test-run/sources/stable/reg/git-sql/0.0.1 [INFO] extracting crate git-sql 0.0.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/git-sql/0.0.1 [INFO] validating manifest of git-sql-0.0.1 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of git-sql-0.0.1 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing git-sql-0.0.1 [INFO] finished frobbing git-sql-0.0.1 [INFO] frobbed toml for git-sql-0.0.1 written to work/ex/clippy-test-run/sources/stable/reg/git-sql/0.0.1/Cargo.toml [INFO] started frobbing git-sql-0.0.1 [INFO] finished frobbing git-sql-0.0.1 [INFO] frobbed toml for git-sql-0.0.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/git-sql/0.0.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting git-sql-0.0.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/git-sql/0.0.1:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] c42073056736429e0d188533fc9ca3ef2da924613c9ecfc658a4f3bb128c795a [INFO] running `"docker" "start" "-a" "c42073056736429e0d188533fc9ca3ef2da924613c9ecfc658a4f3bb128c795a"` [INFO] [stderr] Compiling git-sql v0.0.1 (/opt/crater/workdir) [INFO] [stderr] Checking postgres_array v0.9.0 [INFO] [stderr] Checking postgres v0.15.2 [INFO] [stderr] Checking logger v0.4.0 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/updater/mod.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | handle: handle [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/updater/mod.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | handle: handle [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/server/mod.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | return GitSqlServer { loader } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `GitSqlServer { loader }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/server/mod.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | return router; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `router` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/server/mod.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | return GitSqlServer::new(self.loader) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `GitSqlServer::new(self.loader)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | return Ok(GitSqlClient { conn }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(GitSqlClient { conn })` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return Ok(data.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(data.unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | return Ok((rtype.unwrap(), bytes.unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((rtype.unwrap(), bytes.unwrap()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | return Ok((rtype.unwrap(), bytes.unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((rtype.unwrap(), bytes.unwrap()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | return Ok(resolved.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(resolved.unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | return Ok(refs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(refs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | return Ok(refs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(refs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/client/mod.rs:164:12 [INFO] [stderr] | [INFO] [stderr] 164 | Ok((stmt.unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/client/mod.rs:164:12 [INFO] [stderr] | [INFO] [stderr] 164 | Ok((stmt.unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | return out; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `out` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:257:9 [INFO] [stderr] | [INFO] [stderr] 257 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:281:9 [INFO] [stderr] | [INFO] [stderr] 281 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:295:9 [INFO] [stderr] | [INFO] [stderr] 295 | return Ok(result.unwrap() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result.unwrap() > 0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/updater/mod.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | return self.callback(x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.callback(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/server/mod.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | return GitSqlServer { loader } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `GitSqlServer { loader }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/server/mod.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | return router; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `router` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/server/mod.rs:168:9 [INFO] [stderr] | [INFO] [stderr] 168 | return GitSqlServer::new(self.loader) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `GitSqlServer::new(self.loader)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | return Ok(GitSqlClient { conn }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(GitSqlClient { conn })` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | return Ok(data.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(data.unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | return Ok((rtype.unwrap(), bytes.unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((rtype.unwrap(), bytes.unwrap()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | return Ok((rtype.unwrap(), bytes.unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((rtype.unwrap(), bytes.unwrap()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | return Ok(resolved.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(resolved.unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | return Ok(refs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(refs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | return Ok(refs); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(refs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/client/mod.rs:164:12 [INFO] [stderr] | [INFO] [stderr] 164 | Ok((stmt.unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/client/mod.rs:164:12 [INFO] [stderr] | [INFO] [stderr] 164 | Ok((stmt.unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:234:9 [INFO] [stderr] | [INFO] [stderr] 234 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | return out; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `out` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:257:9 [INFO] [stderr] | [INFO] [stderr] 257 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:281:9 [INFO] [stderr] | [INFO] [stderr] 281 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/client/mod.rs:295:9 [INFO] [stderr] | [INFO] [stderr] 295 | return Ok(result.unwrap() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result.unwrap() > 0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/updater/mod.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | return self.callback(x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.callback(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/core/mod.rs:22:53 [INFO] [stderr] | [INFO] [stderr] 22 | let mut file = fs::File::open(path).map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/core/mod.rs:22:53 [INFO] [stderr] | [INFO] [stderr] 22 | let mut file = fs::File::open(path).map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/core/mod.rs:25:51 [INFO] [stderr] | [INFO] [stderr] 25 | file.read_to_string(&mut content).map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/core/mod.rs:26:53 [INFO] [stderr] | [INFO] [stderr] 26 | let root = content.parse::().map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/mod.rs:39:41 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn get_repo_db_url(&self, repo: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/mod.rs:50:38 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn get_repo_cfg(&self, repo: &String) -> Option<&Value> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 50 | pub fn get_repo_cfg(&self, repo: &str) -> Option<&Value> { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `repo.as_str()` to [INFO] [stderr] | [INFO] [stderr] 57 | let name = repo; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/mod.rs:66:42 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn get_repo_cfg_str(&self, repo: &String, opt: &str) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/core/mod.rs:25:51 [INFO] [stderr] | [INFO] [stderr] 25 | file.read_to_string(&mut content).map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/core/mod.rs:26:53 [INFO] [stderr] | [INFO] [stderr] 26 | let root = content.parse::().map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/mod.rs:39:41 [INFO] [stderr] | [INFO] [stderr] 39 | pub fn get_repo_db_url(&self, repo: &String) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/mod.rs:50:38 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn get_repo_cfg(&self, repo: &String) -> Option<&Value> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 50 | pub fn get_repo_cfg(&self, repo: &str) -> Option<&Value> { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `repo.as_str()` to [INFO] [stderr] | [INFO] [stderr] 57 | let name = repo; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/core/mod.rs:66:42 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn get_repo_cfg_str(&self, repo: &String, opt: &str) -> Option { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn download_object(&self, repo: &String, hash: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:31:56 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn download_object(&self, repo: &String, hash: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn download_object(&self, repo: &String, hash: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:31:56 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn download_object(&self, repo: &String, hash: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:48:35 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn list_refs(&self, repo: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:70:42 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn fetch_content_of(&self, repo: &String, hash: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:48:35 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn list_refs(&self, repo: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:70:42 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn fetch_content_of(&self, repo: &String, hash: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:70:57 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn fetch_content_of(&self, repo: &String, hash: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:85:41 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn view_content_of(&self, repo: &String, path: &String, at: &String, again: bool) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:85:56 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn view_content_of(&self, repo: &String, path: &String, at: &String, again: bool) -> IronResult { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 85 | pub fn view_content_of(&self, repo: &String, path: &str, at: &String, again: bool) -> IronResult { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `path.clone()` to [INFO] [stderr] | [INFO] [stderr] 103| let mut again_path = path.to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:85:69 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn view_content_of(&self, repo: &String, path: &String, at: &String, again: bool) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:70:57 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn fetch_content_of(&self, repo: &String, hash: &String) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/server/mod.rs:104:38 [INFO] [stderr] | [INFO] [stderr] 104 | if !again_path.ends_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:85:41 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn view_content_of(&self, repo: &String, path: &String, at: &String, again: bool) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | let ref repo = rt.find("repo").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let repo = &rt.find("repo").unwrap();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | let ref ha = rt.find("ha").unwrap(); [INFO] [stderr] | ----^^^^^^-------------------------- help: try: `let ha = &rt.find("ha").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | let ref hb = rt.find("hb").unwrap(); [INFO] [stderr] | ----^^^^^^-------------------------- help: try: `let hb = &rt.find("hb").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:85:56 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn view_content_of(&self, repo: &String, path: &String, at: &String, again: bool) -> IronResult { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 85 | pub fn view_content_of(&self, repo: &String, path: &str, at: &String, again: bool) -> IronResult { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `path.clone()` to [INFO] [stderr] | [INFO] [stderr] 103| let mut again_path = path.to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/server/mod.rs:85:69 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn view_content_of(&self, repo: &String, path: &String, at: &String, again: bool) -> IronResult { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:130:13 [INFO] [stderr] | [INFO] [stderr] 130 | let ref repo = rt.find("repo").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let repo = &rt.find("repo").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | let ref hash = rt.find("hash").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let hash = &rt.find("hash").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | let ref repo = rt.find("repo").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let repo = &rt.find("repo").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/server/mod.rs:104:38 [INFO] [stderr] | [INFO] [stderr] 104 | if !again_path.ends_with("/") { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | let ref repo = rt.find("repo").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let repo = &rt.find("repo").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | let ref repo = rt.find("repo").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let repo = &rt.find("repo").unwrap();` [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | let ref path = rt.find("path").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let path = &rt.find("path").unwrap();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | let ref ha = rt.find("ha").unwrap(); [INFO] [stderr] | ----^^^^^^-------------------------- help: try: `let ha = &rt.find("ha").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | let ref hb = rt.find("hb").unwrap(); [INFO] [stderr] | ----^^^^^^-------------------------- help: try: `let hb = &rt.find("hb").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | let ref rev = req.url.query().unwrap_or("HEAD"); [INFO] [stderr] | ----^^^^^^^------------------------------------- help: try: `let rev = &req.url.query().unwrap_or("HEAD");` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:130:13 [INFO] [stderr] | [INFO] [stderr] 130 | let ref repo = rt.find("repo").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let repo = &rt.find("repo").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | let ref hash = rt.find("hash").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let hash = &rt.find("hash").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | let ref repo = rt.find("repo").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let repo = &rt.find("repo").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | let ref repo = rt.find("repo").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let repo = &rt.find("repo").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | let ref path = rt.find("path").unwrap(); [INFO] [stderr] | ----^^^^^^^^---------------------------- help: try: `let path = &rt.find("path").unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/server/mod.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | let ref rev = req.url.query().unwrap_or("HEAD"); [INFO] [stderr] | ----^^^^^^^------------------------------------- help: try: `let rev = &req.url.query().unwrap_or("HEAD");` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn read_raw_object(&self, hash: &String) -> Result> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/client/mod.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 39 | if rows.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:47:37 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn read_object(&self, hash: &String) -> Result<(ObjectType, Vec)> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:31:41 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn read_raw_object(&self, hash: &String) -> Result> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/client/mod.rs:55:12 [INFO] [stderr] | [INFO] [stderr] 55 | if rows.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:67:38 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn read_file_at(&self, path: &String, at: &String) -> Result<(ObjectType, Vec)> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:67:51 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn read_file_at(&self, path: &String, at: &String) -> Result<(ObjectType, Vec)> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/client/mod.rs:80:12 [INFO] [stderr] | [INFO] [stderr] 80 | if rows.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:92:38 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn resolve_ref(&self, input: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:104:34 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn run_sql(&self, input: &String) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/client/mod.rs:105:48 [INFO] [stderr] | [INFO] [stderr] 105 | self.conn.batch_execute(input).map_err(|x| SimpleError::from(x)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/client/mod.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 39 | if rows.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rows.is_empty()` [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/client/mod.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | hashes: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 170 | hashes: &[String], [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: change `hashes.clone()` to [INFO] [stderr] | [INFO] [stderr] 174 | let hash_vec = hashes.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:47:37 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn read_object(&self, hash: &String) -> Result<(ObjectType, Vec)> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/client/mod.rs:55:12 [INFO] [stderr] | [INFO] [stderr] 55 | if rows.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:67:38 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn read_file_at(&self, path: &String, at: &String) -> Result<(ObjectType, Vec)> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:67:51 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn read_file_at(&self, path: &String, at: &String) -> Result<(ObjectType, Vec)> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/client/mod.rs:80:12 [INFO] [stderr] | [INFO] [stderr] 80 | if rows.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `rows.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:92:38 [INFO] [stderr] | [INFO] [stderr] 92 | pub fn resolve_ref(&self, input: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/client/mod.rs:237:32 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn encode_object(kind: &ObjectType, size: usize, data: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `ObjectType` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:104:34 [INFO] [stderr] | [INFO] [stderr] 104 | pub fn run_sql(&self, input: &String) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/client/mod.rs:105:48 [INFO] [stderr] | [INFO] [stderr] 105 | self.conn.batch_execute(input).map_err(|x| SimpleError::from(x)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:246:39 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn insert_object(&self, hash: &String, kind: &ObjectType, size: usize, data: &[u8]) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/client/mod.rs:246:54 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn insert_object(&self, hash: &String, kind: &ObjectType, size: usize, data: &[u8]) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `ObjectType` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:260:95 [INFO] [stderr] | [INFO] [stderr] 260 | pub fn insert_object_verify(&self, kind: &ObjectType, size: usize, data: &[u8], expected: &String) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/client/mod.rs:260:46 [INFO] [stderr] | [INFO] [stderr] 260 | pub fn insert_object_verify(&self, kind: &ObjectType, size: usize, data: &[u8], expected: &String) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `ObjectType` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:284:33 [INFO] [stderr] | [INFO] [stderr] 284 | pub fn set_ref(&self, name: &String, target: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:284:50 [INFO] [stderr] | [INFO] [stderr] 284 | pub fn set_ref(&self, name: &String, target: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/client/mod.rs:170:17 [INFO] [stderr] | [INFO] [stderr] 170 | hashes: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/updater/mod.rs:49:38 [INFO] [stderr] | [INFO] [stderr] 49 | let odb = repo.odb().map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/updater/mod.rs:67:38 [INFO] [stderr] | [INFO] [stderr] 67 | let odb = repo.odb().map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/updater/mod.rs:84:12 [INFO] [stderr] | [INFO] [stderr] 84 | if !rf.symbolic_target().is_none() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `rf.symbolic_target().is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 170 | hashes: &[String], [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] help: change `hashes.clone()` to [INFO] [stderr] | [INFO] [stderr] 174 | let hash_vec = hashes.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/updater/mod.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | / let target : String; [INFO] [stderr] 83 | | [INFO] [stderr] 84 | | if !rf.symbolic_target().is_none() { [INFO] [stderr] 85 | | target = rf.symbolic_target().unwrap().to_string(); [INFO] [stderr] 86 | | } else { [INFO] [stderr] 87 | | target = rf.target().unwrap().to_string(); [INFO] [stderr] 88 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let target = if !rf.symbolic_target().is_none() { rf.symbolic_target().unwrap().to_string() } else { rf.target().unwrap().to_string() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/updater/mod.rs:113:46 [INFO] [stderr] | [INFO] [stderr] 113 | let refs = repo.references().map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/client/mod.rs:237:32 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn encode_object(kind: &ObjectType, size: usize, data: &[u8]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `ObjectType` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:246:39 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn insert_object(&self, hash: &String, kind: &ObjectType, size: usize, data: &[u8]) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/client/mod.rs:246:54 [INFO] [stderr] | [INFO] [stderr] 246 | pub fn insert_object(&self, hash: &String, kind: &ObjectType, size: usize, data: &[u8]) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `ObjectType` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:260:95 [INFO] [stderr] | [INFO] [stderr] 260 | pub fn insert_object_verify(&self, kind: &ObjectType, size: usize, data: &[u8], expected: &String) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/client/mod.rs:260:46 [INFO] [stderr] | [INFO] [stderr] 260 | pub fn insert_object_verify(&self, kind: &ObjectType, size: usize, data: &[u8], expected: &String) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^ help: consider passing by value instead: `ObjectType` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:284:33 [INFO] [stderr] | [INFO] [stderr] 284 | pub fn set_ref(&self, name: &String, target: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/client/mod.rs:284:50 [INFO] [stderr] | [INFO] [stderr] 284 | pub fn set_ref(&self, name: &String, target: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:88:12 [INFO] [stderr] | [INFO] [stderr] 88 | if let Some(_) = args.subcommand_matches("list-refs") { [INFO] [stderr] | _____- ^^^^^^^ [INFO] [stderr] 89 | | if maybe_client.is_none() { [INFO] [stderr] 90 | | println!("[ERROR] Please specify a repository to operate on (-r myrepo)"); [INFO] [stderr] 91 | | exit(1); [INFO] [stderr] ... | [INFO] [stderr] 180 | | exit(1); [INFO] [stderr] 181 | | } [INFO] [stderr] | |_____- help: try this: `if args.subcommand_matches("list-refs").is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:99:19 [INFO] [stderr] | [INFO] [stderr] 99 | } else if let Some(_) = args.subcommand_matches("update") { [INFO] [stderr] | ____________- ^^^^^^^ [INFO] [stderr] 100 | | if maybe_client.is_none() { [INFO] [stderr] 101 | | println!("[ERROR] Please specify a repository to operate on (-r myrepo)"); [INFO] [stderr] 102 | | exit(1); [INFO] [stderr] ... | [INFO] [stderr] 180 | | exit(1); [INFO] [stderr] 181 | | } [INFO] [stderr] | |_____- help: try this: `if args.subcommand_matches("update").is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:150:19 [INFO] [stderr] | [INFO] [stderr] 150 | } else if let Some(_) = args.subcommand_matches("serve") { [INFO] [stderr] | ____________- ^^^^^^^ [INFO] [stderr] 151 | | let maybe_server_cfg = conf.get_server_cfg(); [INFO] [stderr] 152 | | [INFO] [stderr] 153 | | if maybe_server_cfg.is_none() { [INFO] [stderr] ... | [INFO] [stderr] 180 | | exit(1); [INFO] [stderr] 181 | | } [INFO] [stderr] | |_____- help: try this: `if args.subcommand_matches("serve").is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/updater/mod.rs:49:38 [INFO] [stderr] | [INFO] [stderr] 49 | let odb = repo.odb().map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/updater/mod.rs:67:38 [INFO] [stderr] | [INFO] [stderr] 67 | let odb = repo.odb().map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/updater/mod.rs:84:12 [INFO] [stderr] | [INFO] [stderr] 84 | if !rf.symbolic_target().is_none() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `rf.symbolic_target().is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/updater/mod.rs:82:9 [INFO] [stderr] | [INFO] [stderr] 82 | / let target : String; [INFO] [stderr] 83 | | [INFO] [stderr] 84 | | if !rf.symbolic_target().is_none() { [INFO] [stderr] 85 | | target = rf.symbolic_target().unwrap().to_string(); [INFO] [stderr] 86 | | } else { [INFO] [stderr] 87 | | target = rf.target().unwrap().to_string(); [INFO] [stderr] 88 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let target = if !rf.symbolic_target().is_none() { rf.symbolic_target().unwrap().to_string() } else { rf.target().unwrap().to_string() };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/updater/mod.rs:113:46 [INFO] [stderr] | [INFO] [stderr] 113 | let refs = repo.references().map_err(|x| SimpleError::from(x))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `SimpleError::from` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:88:12 [INFO] [stderr] | [INFO] [stderr] 88 | if let Some(_) = args.subcommand_matches("list-refs") { [INFO] [stderr] | _____- ^^^^^^^ [INFO] [stderr] 89 | | if maybe_client.is_none() { [INFO] [stderr] 90 | | println!("[ERROR] Please specify a repository to operate on (-r myrepo)"); [INFO] [stderr] 91 | | exit(1); [INFO] [stderr] ... | [INFO] [stderr] 180 | | exit(1); [INFO] [stderr] 181 | | } [INFO] [stderr] | |_____- help: try this: `if args.subcommand_matches("list-refs").is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:99:19 [INFO] [stderr] | [INFO] [stderr] 99 | } else if let Some(_) = args.subcommand_matches("update") { [INFO] [stderr] | ____________- ^^^^^^^ [INFO] [stderr] 100 | | if maybe_client.is_none() { [INFO] [stderr] 101 | | println!("[ERROR] Please specify a repository to operate on (-r myrepo)"); [INFO] [stderr] 102 | | exit(1); [INFO] [stderr] ... | [INFO] [stderr] 180 | | exit(1); [INFO] [stderr] 181 | | } [INFO] [stderr] | |_____- help: try this: `if args.subcommand_matches("update").is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/main.rs:150:19 [INFO] [stderr] | [INFO] [stderr] 150 | } else if let Some(_) = args.subcommand_matches("serve") { [INFO] [stderr] | ____________- ^^^^^^^ [INFO] [stderr] 151 | | let maybe_server_cfg = conf.get_server_cfg(); [INFO] [stderr] 152 | | [INFO] [stderr] 153 | | if maybe_server_cfg.is_none() { [INFO] [stderr] ... | [INFO] [stderr] 180 | | exit(1); [INFO] [stderr] 181 | | } [INFO] [stderr] | |_____- help: try this: `if args.subcommand_matches("serve").is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.13s [INFO] running `"docker" "inspect" "c42073056736429e0d188533fc9ca3ef2da924613c9ecfc658a4f3bb128c795a"` [INFO] running `"docker" "rm" "-f" "c42073056736429e0d188533fc9ca3ef2da924613c9ecfc658a4f3bb128c795a"` [INFO] [stdout] c42073056736429e0d188533fc9ca3ef2da924613c9ecfc658a4f3bb128c795a