[INFO] crate saphir 0.7.4 is already in cache [INFO] extracting crate saphir 0.7.4 into work/ex/clippy-test-run/sources/stable/reg/saphir/0.7.4 [INFO] extracting crate saphir 0.7.4 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/saphir/0.7.4 [INFO] validating manifest of saphir-0.7.4 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 saphir-0.7.4 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 saphir-0.7.4 [INFO] removed 0 missing tests [INFO] finished frobbing saphir-0.7.4 [INFO] frobbed toml for saphir-0.7.4 written to work/ex/clippy-test-run/sources/stable/reg/saphir/0.7.4/Cargo.toml [INFO] started frobbing saphir-0.7.4 [INFO] removed 0 missing tests [INFO] finished frobbing saphir-0.7.4 [INFO] frobbed toml for saphir-0.7.4 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/saphir/0.7.4/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 saphir-0.7.4 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/saphir/0.7.4:/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] 5400f5100b6e674cb0237da81fabc789cf8d799c79a8d836740cb5b641822ab4 [INFO] running `"docker" "start" "-a" "5400f5100b6e674cb0237da81fabc789cf8d799c79a8d836740cb5b641822ab4"` [INFO] [stderr] Checking regex v1.0.6 [INFO] [stderr] Checking hyperx v0.13.2 [INFO] [stderr] Checking hyper v0.12.23 [INFO] [stderr] Checking saphir v0.7.4 (/opt/crater/workdir) [INFO] [stderr] error: you should consider deriving a `Default` implementation for `utils::RequestAddonCollection` [INFO] [stderr] --> src/utils.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> Self { [INFO] [stderr] 13 | | RequestAddonCollection { [INFO] [stderr] 14 | | inner: Vec::new(), [INFO] [stderr] 15 | | } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::new_without_default_derive)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter_mut() and will not move the Vec [INFO] [stderr] --> src/utils.rs:63:15 [INFO] [stderr] | [INFO] [stderr] 63 | inner.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter_mut` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::into_iter_on_ref)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/utils.rs:82:15 [INFO] [stderr] | [INFO] [stderr] 82 | inner.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: length comparison to one [INFO] [stderr] --> src/http.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | if path.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `path.is_empty()` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::len_zero)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: length comparison to one [INFO] [stderr] --> src/http.rs:139:20 [INFO] [stderr] | [INFO] [stderr] 139 | if path.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `path.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] error: you should consider adding a `Default` implementation for `http::SyncResponse` [INFO] [stderr] --> src/http.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | / pub fn new() -> Self{ [INFO] [stderr] 341 | | SyncResponse { [INFO] [stderr] 342 | | builder: ResponseBuilder::new(), [INFO] [stderr] 343 | | body: Box::new(EMPTY_BODY), [INFO] [stderr] 344 | | } [INFO] [stderr] 345 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::new_without_default)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 337 | impl Default for http::SyncResponse { [INFO] [stderr] 338 | fn default() -> Self { [INFO] [stderr] 339 | Self::new() [INFO] [stderr] 340 | } [INFO] [stderr] 341 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `middleware::Builder` [INFO] [stderr] --> src/middleware.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn new() -> Self { [INFO] [stderr] 15 | | Builder { [INFO] [stderr] 16 | | stack: Vec::new() [INFO] [stderr] 17 | | } [INFO] [stderr] 18 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 8 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `middleware::MiddlewareStack` [INFO] [stderr] --> src/middleware.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn new() -> Self { [INFO] [stderr] 51 | | MiddlewareStack { [INFO] [stderr] 52 | | middlewares: Arc::new(Vec::new()) [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 44 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/middleware.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | let path_clone = path.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 118 | let path_clone = &(*path).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 118 | let path_clone = &str::clone(path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/middleware.rs:120:33 [INFO] [stderr] | [INFO] [stderr] 120 | move |&(_index, r)| { [INFO] [stderr] | _________________________________^ [INFO] [stderr] 121 | | r.is_match(path_clone) [INFO] [stderr] 122 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::block_in_if_condition_stmt)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] error: called `is_some()` after searching an `Iterator` with find. This is more succinctly expressed by calling `any()`. [INFO] [stderr] --> src/middleware.rs:119:12 [INFO] [stderr] | [INFO] [stderr] 119 | if self.included_path.iter().enumerate().find( [INFO] [stderr] | ____________^ [INFO] [stderr] 120 | | move |&(_index, r)| { [INFO] [stderr] 121 | | r.is_match(path_clone) [INFO] [stderr] 122 | | } [INFO] [stderr] 123 | | ).is_some() { [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::search_is_some)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `controller::RequestGuardCollection` [INFO] [stderr] --> src/controller.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | RequestGuardCollection { [INFO] [stderr] 26 | | guards: Vec::new(), [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 18 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `utils::RequestAddonCollection` [INFO] [stderr] --> src/utils.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / pub fn new() -> Self { [INFO] [stderr] 13 | | RequestAddonCollection { [INFO] [stderr] 14 | | inner: Vec::new(), [INFO] [stderr] 15 | | } [INFO] [stderr] 16 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::new_without_default_derive)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: length comparison to zero [INFO] [stderr] --> src/controller.rs:138:12 [INFO] [stderr] | [INFO] [stderr] 138 | if retained_delegate.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `retained_delegate.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] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/controller.rs:225:12 [INFO] [stderr] | [INFO] [stderr] 225 | if req.body().len() <= 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using req.body().len() == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `router::Builder` [INFO] [stderr] --> src/router.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | / pub fn new() -> Self { [INFO] [stderr] 17 | | Builder { [INFO] [stderr] 18 | | routes: Vec::new() [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: defining a method called `add` on this type; consider implementing the `std::ops::Add` trait or choosing a less ambiguous name [INFO] [stderr] --> src/router.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | / pub fn add(mut self, controller: C) -> Self { [INFO] [stderr] 34 | | self.routes.push((reg!(controller.base_path()), Box::new(controller))); [INFO] [stderr] 35 | | [INFO] [stderr] 36 | | self [INFO] [stderr] 37 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::should_implement_trait)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] error: this .into_iter() call is equivalent to .iter_mut() and will not move the Vec [INFO] [stderr] [INFO] [stderr] --> src/utils.rs:63:15 [INFO] [stderr] | [INFO] [stderr] 63 | inner.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter_mut` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::into_iter_on_ref)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/utils.rs:82:15 [INFO] [stderr] | [INFO] [stderr] 82 | inner.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `router::Router` [INFO] [stderr] --> src/router.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | / pub fn new() -> Self { [INFO] [stderr] 83 | | Router { [INFO] [stderr] 84 | | routes: Arc::new(Vec::new()), [INFO] [stderr] 85 | | } [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 75 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/router.rs:90:16 [INFO] [stderr] | [INFO] [stderr] 90 | let h: Option<(usize, &(Regex, Box))> = self.routes.iter().enumerate().find( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::type_complexity)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `server::ListenerBuilder` [INFO] [stderr] --> src/server.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn new() -> Self { [INFO] [stderr] 26 | | ListenerBuilder { [INFO] [stderr] 27 | | request_timeout_ms: DEFAULT_REQUEST_TIMEOUT_MS, [INFO] [stderr] 28 | | uri: None, [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `server::ListenerConfig` [INFO] [stderr] --> src/server.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 93 | / pub fn new() -> Self { [INFO] [stderr] 94 | | ListenerConfig { [INFO] [stderr] 95 | | request_timeout_ms: DEFAULT_REQUEST_TIMEOUT_MS, [INFO] [stderr] 96 | | uri: None, [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 80 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: length comparison to one [INFO] [stderr] --> src/http.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | if path.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `path.is_empty()` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::len_zero)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `server::Builder` [INFO] [stderr] --> src/server.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | / pub fn new() -> Self { [INFO] [stderr] 146 | | Builder { [INFO] [stderr] 147 | | middleware_stack: None, [INFO] [stderr] 148 | | router: None, [INFO] [stderr] 149 | | listener_config: None, [INFO] [stderr] 150 | | } [INFO] [stderr] 151 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 137 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: length comparison to one [INFO] [stderr] --> src/http.rs:139:20 [INFO] [stderr] | [INFO] [stderr] 139 | if path.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `path.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] error: redundant closure found [INFO] [stderr] --> src/server.rs:182:62 [INFO] [stderr] | [INFO] [stderr] 182 | let listener_config = listener_config.unwrap_or_else(|| ListenerConfig::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ListenerConfig::new` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::redundant_closure)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] error: redundant closure found [INFO] [stderr] --> src/server.rs:186:47 [INFO] [stderr] | [INFO] [stderr] 186 | router: router.unwrap_or_else(|| Router::new()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove closure as shown: `Router::new` [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] error: redundant closure found [INFO] [stderr] --> src/server.rs:187:67 [INFO] [stderr] | [INFO] [stderr] 187 | middleware_stack: middleware_stack.unwrap_or_else(|| MiddlewareStack::new()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `MiddlewareStack::new` [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] error: you should consider adding a `Default` implementation for `http::SyncResponse` [INFO] [stderr] --> src/http.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | / pub fn new() -> Self{ [INFO] [stderr] 341 | | SyncResponse { [INFO] [stderr] 342 | | builder: ResponseBuilder::new(), [INFO] [stderr] 343 | | body: Box::new(EMPTY_BODY), [INFO] [stderr] 344 | | } [INFO] [stderr] 345 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::new_without_default)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 337 | impl Default for http::SyncResponse { [INFO] [stderr] 338 | fn default() -> Self { [INFO] [stderr] 339 | Self::new() [INFO] [stderr] 340 | } [INFO] [stderr] 341 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/server.rs:285:16 [INFO] [stderr] | [INFO] [stderr] 285 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 286 | | return Err(::error::ServerError::UnsupportedUriScheme); [INFO] [stderr] 287 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/server.rs:248:64 [INFO] [stderr] | [INFO] [stderr] 248 | } else if scheme.eq(&::http_types::uri::Scheme::HTTPS) { [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] 249 | | #[cfg(feature = "https")] [INFO] [stderr] 250 | | { [INFO] [stderr] 251 | | if let (Some(cert_path), Some(key_path)) = self.listener_config.ssl_files_path() { [INFO] [stderr] ... | [INFO] [stderr] 284 | | return Err(::error::ServerError::UnsupportedUriScheme); [INFO] [stderr] 285 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/server.rs:356:16 [INFO] [stderr] | [INFO] [stderr] 356 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 357 | | return Err(::error::ServerError::UnsupportedUriScheme); [INFO] [stderr] 358 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/server.rs:319:64 [INFO] [stderr] | [INFO] [stderr] 319 | } else if scheme.eq(&::http_types::uri::Scheme::HTTPS) { [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] 320 | | #[cfg(feature = "https")] [INFO] [stderr] 321 | | { [INFO] [stderr] 322 | | if let (Some(cert_path), Some(key_path)) = self.listener_config.ssl_files_path() { [INFO] [stderr] ... | [INFO] [stderr] 355 | | return Err(::error::ServerError::UnsupportedUriScheme); [INFO] [stderr] 356 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `middleware::Builder` [INFO] [stderr] --> src/middleware.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn new() -> Self { [INFO] [stderr] 15 | | Builder { [INFO] [stderr] 16 | | stack: Vec::new() [INFO] [stderr] 17 | | } [INFO] [stderr] 18 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 8 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: redundant closure found [INFO] [stderr] --> src/server.rs:388:42 [INFO] [stderr] | [INFO] [stderr] 388 | Box::new(req.load_body().map_err(|e| ServerError::from(e)).and_then(move |mut request| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ServerError::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] error: you should consider deriving a `Default` implementation for `middleware::MiddlewareStack` [INFO] [stderr] --> src/middleware.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn new() -> Self { [INFO] [stderr] 51 | | MiddlewareStack { [INFO] [stderr] 52 | | middlewares: Arc::new(Vec::new()) [INFO] [stderr] 53 | | } [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 44 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:422:23 [INFO] [stderr] | [INFO] [stderr] 422 | + elapsed.subsec_nanos() as f64 * 1e-9) * 1000 as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(elapsed.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::cast_lossless)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:422:63 [INFO] [stderr] | [INFO] [stderr] 422 | + elapsed.subsec_nanos() as f64 * 1e-9) * 1000 as f64); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(1000)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/middleware.rs:118:26 [INFO] [stderr] | [INFO] [stderr] 118 | let path_clone = path.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 118 | let path_clone = &(*path).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 118 | let path_clone = &str::clone(path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/middleware.rs:120:33 [INFO] [stderr] | [INFO] [stderr] 120 | move |&(_index, r)| { [INFO] [stderr] | _________________________________^ [INFO] [stderr] 121 | | r.is_match(path_clone) [INFO] [stderr] 122 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::block_in_if_condition_stmt)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] error: called `is_some()` after searching an `Iterator` with find. This is more succinctly expressed by calling `any()`. [INFO] [stderr] --> src/middleware.rs:119:12 [INFO] [stderr] | [INFO] [stderr] 119 | if self.included_path.iter().enumerate().find( [INFO] [stderr] | ____________^ [INFO] [stderr] 120 | | move |&(_index, r)| { [INFO] [stderr] 121 | | r.is_match(path_clone) [INFO] [stderr] 122 | | } [INFO] [stderr] 123 | | ).is_some() { [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::search_is_some)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some [INFO] [stderr] [INFO] [stderr] error: redundant closure found [INFO] [stderr] --> src/server.rs:435:24 [INFO] [stderr] | [INFO] [stderr] 435 | rx.map_err(|e| ServerError::from(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ServerError::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] error: you should consider deriving a `Default` implementation for `controller::RequestGuardCollection` [INFO] [stderr] --> src/controller.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | / pub fn new() -> Self { [INFO] [stderr] 25 | | RequestGuardCollection { [INFO] [stderr] 26 | | guards: Vec::new(), [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 18 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: length comparison to zero [INFO] [stderr] --> src/controller.rs:138:12 [INFO] [stderr] | [INFO] [stderr] 138 | if retained_delegate.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `retained_delegate.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] error: aborting due to 30 previous errors [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/controller.rs:225:12 [INFO] [stderr] | [INFO] [stderr] 225 | if req.body().len() <= 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using req.body().len() == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `router::Builder` [INFO] [stderr] --> src/router.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | / pub fn new() -> Self { [INFO] [stderr] 17 | | Builder { [INFO] [stderr] 18 | | routes: Vec::new() [INFO] [stderr] 19 | | } [INFO] [stderr] 20 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 9 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: defining a method called `add` on this type; consider implementing the `std::ops::Add` trait or choosing a less ambiguous name [INFO] [stderr] --> src/router.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | / pub fn add(mut self, controller: C) -> Self { [INFO] [stderr] 34 | | self.routes.push((reg!(controller.base_path()), Box::new(controller))); [INFO] [stderr] 35 | | [INFO] [stderr] 36 | | self [INFO] [stderr] 37 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::should_implement_trait)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `router::Router` [INFO] [stderr] --> src/router.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | / pub fn new() -> Self { [INFO] [stderr] 83 | | Router { [INFO] [stderr] 84 | | routes: Arc::new(Vec::new()), [INFO] [stderr] 85 | | } [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 75 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/router.rs:90:16 [INFO] [stderr] | [INFO] [stderr] 90 | let h: Option<(usize, &(Regex, Box))> = self.routes.iter().enumerate().find( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::type_complexity)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `server::ListenerBuilder` [INFO] [stderr] --> src/server.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn new() -> Self { [INFO] [stderr] 26 | | ListenerBuilder { [INFO] [stderr] 27 | | request_timeout_ms: DEFAULT_REQUEST_TIMEOUT_MS, [INFO] [stderr] 28 | | uri: None, [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 16 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: Could not compile `saphir`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: you should consider deriving a `Default` implementation for `server::ListenerConfig` [INFO] [stderr] --> src/server.rs:93:9 [INFO] [stderr] | [INFO] [stderr] 93 | / pub fn new() -> Self { [INFO] [stderr] 94 | | ListenerConfig { [INFO] [stderr] 95 | | request_timeout_ms: DEFAULT_REQUEST_TIMEOUT_MS, [INFO] [stderr] 96 | | uri: None, [INFO] [stderr] ... | [INFO] [stderr] 99 | | } [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 80 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: you should consider deriving a `Default` implementation for `server::Builder` [INFO] [stderr] --> src/server.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | / pub fn new() -> Self { [INFO] [stderr] 146 | | Builder { [INFO] [stderr] 147 | | middleware_stack: None, [INFO] [stderr] 148 | | router: None, [INFO] [stderr] 149 | | listener_config: None, [INFO] [stderr] 150 | | } [INFO] [stderr] 151 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 137 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: redundant closure found [INFO] [stderr] --> src/server.rs:182:62 [INFO] [stderr] | [INFO] [stderr] 182 | let listener_config = listener_config.unwrap_or_else(|| ListenerConfig::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ListenerConfig::new` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::redundant_closure)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] error: redundant closure found [INFO] [stderr] --> src/server.rs:186:47 [INFO] [stderr] | [INFO] [stderr] 186 | router: router.unwrap_or_else(|| Router::new()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove closure as shown: `Router::new` [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] error: redundant closure found [INFO] [stderr] --> src/server.rs:187:67 [INFO] [stderr] | [INFO] [stderr] 187 | middleware_stack: middleware_stack.unwrap_or_else(|| MiddlewareStack::new()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `MiddlewareStack::new` [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] error: this `if` has identical blocks [INFO] [stderr] --> src/server.rs:285:16 [INFO] [stderr] | [INFO] [stderr] 285 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 286 | | return Err(::error::ServerError::UnsupportedUriScheme); [INFO] [stderr] 287 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/server.rs:248:64 [INFO] [stderr] | [INFO] [stderr] 248 | } else if scheme.eq(&::http_types::uri::Scheme::HTTPS) { [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] 249 | | #[cfg(feature = "https")] [INFO] [stderr] 250 | | { [INFO] [stderr] 251 | | if let (Some(cert_path), Some(key_path)) = self.listener_config.ssl_files_path() { [INFO] [stderr] ... | [INFO] [stderr] 284 | | return Err(::error::ServerError::UnsupportedUriScheme); [INFO] [stderr] 285 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/server.rs:356:16 [INFO] [stderr] | [INFO] [stderr] 356 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 357 | | return Err(::error::ServerError::UnsupportedUriScheme); [INFO] [stderr] 358 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/server.rs:319:64 [INFO] [stderr] | [INFO] [stderr] 319 | } else if scheme.eq(&::http_types::uri::Scheme::HTTPS) { [INFO] [stderr] | ________________________________________________________________^ [INFO] [stderr] 320 | | #[cfg(feature = "https")] [INFO] [stderr] 321 | | { [INFO] [stderr] 322 | | if let (Some(cert_path), Some(key_path)) = self.listener_config.ssl_files_path() { [INFO] [stderr] ... | [INFO] [stderr] 355 | | return Err(::error::ServerError::UnsupportedUriScheme); [INFO] [stderr] 356 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: redundant closure found [INFO] [stderr] --> src/server.rs:388:42 [INFO] [stderr] | [INFO] [stderr] 388 | Box::new(req.load_body().map_err(|e| ServerError::from(e)).and_then(move |mut request| { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ServerError::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] error: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:422:23 [INFO] [stderr] | [INFO] [stderr] 422 | + elapsed.subsec_nanos() as f64 * 1e-9) * 1000 as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(elapsed.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] note: lint level defined here [INFO] [stderr] --> src/lib.rs:3:9 [INFO] [stderr] | [INFO] [stderr] 3 | #![deny(warnings)] [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] = note: #[deny(clippy::cast_lossless)] implied by #[deny(warnings)] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/server.rs:422:63 [INFO] [stderr] | [INFO] [stderr] 422 | + elapsed.subsec_nanos() as f64 * 1e-9) * 1000 as f64); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(1000)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: redundant closure found [INFO] [stderr] --> src/server.rs:435:24 [INFO] [stderr] | [INFO] [stderr] 435 | rx.map_err(|e| ServerError::from(e)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ServerError::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] error: aborting due to 30 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `saphir`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "5400f5100b6e674cb0237da81fabc789cf8d799c79a8d836740cb5b641822ab4"` [INFO] running `"docker" "rm" "-f" "5400f5100b6e674cb0237da81fabc789cf8d799c79a8d836740cb5b641822ab4"` [INFO] [stdout] 5400f5100b6e674cb0237da81fabc789cf8d799c79a8d836740cb5b641822ab4