[INFO] crate rsass 0.9.4 is already in cache [INFO] extracting crate rsass 0.9.4 into work/ex/clippy-test-run/sources/stable/reg/rsass/0.9.4 [INFO] extracting crate rsass 0.9.4 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rsass/0.9.4 [INFO] validating manifest of rsass-0.9.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 rsass-0.9.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 rsass-0.9.4 [INFO] finished frobbing rsass-0.9.4 [INFO] frobbed toml for rsass-0.9.4 written to work/ex/clippy-test-run/sources/stable/reg/rsass/0.9.4/Cargo.toml [INFO] started frobbing rsass-0.9.4 [INFO] finished frobbing rsass-0.9.4 [INFO] frobbed toml for rsass-0.9.4 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rsass/0.9.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 rsass-0.9.4 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rsass/0.9.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] 4b8579f5d567ed52492fe67d39152b35b0a5bc097bd33b8e6e1c12431621800b [INFO] running `"docker" "start" "-a" "4b8579f5d567ed52492fe67d39152b35b0a5bc097bd33b8e6e1c12431621800b"` [INFO] [stderr] Checking rsass v0.9.4 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser/value.rs:407:5 [INFO] [stderr] | [INFO] [stderr] 407 | return if v.len() > 1 { i } else { i * 0x11 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if v.len() > 1 { i } else { i * 0x11 }` [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: lint name `unreadable_literal` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/value/colors.rs:2:45 [INFO] [stderr] | [INFO] [stderr] 2 | #![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::unreadable_literal` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser/value.rs:407:5 [INFO] [stderr] | [INFO] [stderr] 407 | return if v.len() > 1 { i } else { i * 0x11 }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `if v.len() > 1 { i } else { i * 0x11 }` [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: lint name `unreadable_literal` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/value/colors.rs:2:45 [INFO] [stderr] | [INFO] [stderr] 2 | #![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::unreadable_literal` [INFO] [stderr] [INFO] [stderr] warning: lint name `unreadable_literal` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/value/colors.rs:2:45 [INFO] [stderr] | [INFO] [stderr] 2 | #![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::unreadable_literal` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `unreadable_literal` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/value/colors.rs:2:45 [INFO] [stderr] | [INFO] [stderr] 2 | #![cfg_attr(feature = "cargo-clippy", allow(unreadable_literal))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::unreadable_literal` [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/css/value.rs:197:22 [INFO] [stderr] | [INFO] [stderr] 197 | list.into_iter().map(|v| v.unrequote()).collect(), [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [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] warning: you should consider deriving a `Default` implementation for `file_context::FileContext` [INFO] [stderr] --> src/file_context.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | / pub fn new() -> Self { [INFO] [stderr] 33 | | FileContext { [INFO] [stderr] 34 | | path: PathBuf::new(), [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [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] 24 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `ordermap::OrderMap` [INFO] [stderr] --> src/ordermap.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> Self { [INFO] [stderr] 10 | | OrderMap(Vec::new()) [INFO] [stderr] 11 | | } [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] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> src/output_style.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / fn handle_root_item( [INFO] [stderr] 56 | | &self, [INFO] [stderr] 57 | | item: &Item, [INFO] [stderr] 58 | | scope: &mut Scope, [INFO] [stderr] ... | [INFO] [stderr] 299 | | Ok(()) [INFO] [stderr] 300 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: the function has a cyclomatic complexity of 28 [INFO] [stderr] --> src/output_style.rs:337:5 [INFO] [stderr] | [INFO] [stderr] 337 | / fn handle_body( [INFO] [stderr] 338 | | &self, [INFO] [stderr] 339 | | direct: &mut Vec, [INFO] [stderr] 340 | | sub: &mut Write, [INFO] [stderr] ... | [INFO] [stderr] 631 | | Ok(()) [INFO] [stderr] 632 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:338:9 [INFO] [stderr] | [INFO] [stderr] 338 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:635:9 [INFO] [stderr] | [INFO] [stderr] 635 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:659:18 [INFO] [stderr] | [INFO] [stderr] 659 | fn do_indent(&self, out: &mut Write, steps: usize) -> Result<(), Error> { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:669:9 [INFO] [stderr] | [INFO] [stderr] 669 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:681:22 [INFO] [stderr] | [INFO] [stderr] 681 | fn is_compressed(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/output_style.rs:772:19 [INFO] [stderr] | [INFO] [stderr] 772 | fn to_imports(&mut self) -> &mut Write { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/output_style.rs:775:19 [INFO] [stderr] | [INFO] [stderr] 775 | fn to_content(&mut self) -> &mut Write { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/css/value.rs:197:22 [INFO] [stderr] | [INFO] [stderr] 197 | list.into_iter().map(|v| v.unrequote()).collect(), [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [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] warning: you should consider deriving a `Default` implementation for `file_context::FileContext` [INFO] [stderr] --> src/file_context.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | / pub fn new() -> Self { [INFO] [stderr] 33 | | FileContext { [INFO] [stderr] 34 | | path: PathBuf::new(), [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [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] 24 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `ordermap::OrderMap` [INFO] [stderr] --> src/ordermap.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | / pub fn new() -> Self { [INFO] [stderr] 10 | | OrderMap(Vec::new()) [INFO] [stderr] 11 | | } [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] 6 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> src/output_style.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | / fn handle_root_item( [INFO] [stderr] 56 | | &self, [INFO] [stderr] 57 | | item: &Item, [INFO] [stderr] 58 | | scope: &mut Scope, [INFO] [stderr] ... | [INFO] [stderr] 299 | | Ok(()) [INFO] [stderr] 300 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:302:9 [INFO] [stderr] | [INFO] [stderr] 302 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: the function has a cyclomatic complexity of 28 [INFO] [stderr] --> src/output_style.rs:337:5 [INFO] [stderr] | [INFO] [stderr] 337 | / fn handle_body( [INFO] [stderr] 338 | | &self, [INFO] [stderr] 339 | | direct: &mut Vec, [INFO] [stderr] 340 | | sub: &mut Write, [INFO] [stderr] ... | [INFO] [stderr] 631 | | Ok(()) [INFO] [stderr] 632 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:338:9 [INFO] [stderr] | [INFO] [stderr] 338 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:635:9 [INFO] [stderr] | [INFO] [stderr] 635 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:659:18 [INFO] [stderr] | [INFO] [stderr] 659 | fn do_indent(&self, out: &mut Write, steps: usize) -> Result<(), Error> { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:669:9 [INFO] [stderr] | [INFO] [stderr] 669 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/output_style.rs:681:22 [INFO] [stderr] | [INFO] [stderr] 681 | fn is_compressed(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/output_style.rs:772:19 [INFO] [stderr] | [INFO] [stderr] 772 | fn to_imports(&mut self) -> &mut Write { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/output_style.rs:775:19 [INFO] [stderr] | [INFO] [stderr] 775 | fn to_content(&mut self) -> &mut Write { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/parser/mod.rs:408:1 [INFO] [stderr] | [INFO] [stderr] 408 | / fn input_to_str<'a>(s: Input<'a>) -> Result<&str, Utf8Error> { [INFO] [stderr] 409 | | from_utf8(&s) [INFO] [stderr] 410 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/value/colors.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | LOOKUP.v2n.get(&c).map(|n| *n) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `LOOKUP.v2n.get(&c).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `variablescope::GlobalScope` [INFO] [stderr] --> src/variablescope.rs:264:5 [INFO] [stderr] | [INFO] [stderr] 264 | / pub fn new() -> Self { [INFO] [stderr] 265 | | GlobalScope { [INFO] [stderr] 266 | | variables: Mutex::new(BTreeMap::new()), [INFO] [stderr] 267 | | mixins: BTreeMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 270 | | } [INFO] [stderr] 271 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [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] 262 | impl Default for variablescope::GlobalScope { [INFO] [stderr] 263 | fn default() -> Self { [INFO] [stderr] 264 | Self::new() [INFO] [stderr] 265 | } [INFO] [stderr] 266 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/parser/value.rs:736:9 [INFO] [stderr] | [INFO] [stderr] 736 | / if let &Ok((rest, ref result)) = &t { [INFO] [stderr] 737 | | assert_eq!( [INFO] [stderr] 738 | | (format!("{}", result.evaluate(&GlobalScope::new())), rest), [INFO] [stderr] 739 | | ("http://).com/".to_string(), Input(b"")) [INFO] [stderr] ... | [INFO] [stderr] 742 | | assert_eq!(format!("{:?}", t), "Done") [INFO] [stderr] 743 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 736 | if let Ok((rest, ref result)) = t { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/parser/value.rs:748:9 [INFO] [stderr] | [INFO] [stderr] 748 | / if let &Ok((rest, ref result)) = &t { [INFO] [stderr] 749 | | assert_eq!( [INFO] [stderr] 750 | | (format!("{}", result.evaluate(&GlobalScope::new())), rest), [INFO] [stderr] 751 | | ("url(http://).com/)".to_string(), Input(b"")) [INFO] [stderr] ... | [INFO] [stderr] 754 | | assert_eq!(format!("{:?}", t), "Done") [INFO] [stderr] 755 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 748 | if let Ok((rest, ref result)) = t { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/parser/value.rs:760:9 [INFO] [stderr] | [INFO] [stderr] 760 | / if let &Ok((rest, ref result)) = &t { [INFO] [stderr] 761 | | assert_eq!( [INFO] [stderr] 762 | | (format!("{}", result.evaluate(&GlobalScope::new())), rest), [INFO] [stderr] 763 | | ("url(//).com/)".to_string(), Input(b"")) [INFO] [stderr] ... | [INFO] [stderr] 766 | | assert_eq!(format!("{:?}", t), "Done") [INFO] [stderr] 767 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 760 | if let Ok((rest, ref result)) = t { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/parser/mod.rs:408:1 [INFO] [stderr] | [INFO] [stderr] 408 | / fn input_to_str<'a>(s: Input<'a>) -> Result<&str, Utf8Error> { [INFO] [stderr] 409 | | from_utf8(&s) [INFO] [stderr] 410 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/value/colors.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | LOOKUP.v2n.get(&c).map(|n| *n) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `LOOKUP.v2n.get(&c).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `variablescope::GlobalScope` [INFO] [stderr] --> src/variablescope.rs:264:5 [INFO] [stderr] | [INFO] [stderr] 264 | / pub fn new() -> Self { [INFO] [stderr] 265 | | GlobalScope { [INFO] [stderr] 266 | | variables: Mutex::new(BTreeMap::new()), [INFO] [stderr] 267 | | mixins: BTreeMap::new(), [INFO] [stderr] ... | [INFO] [stderr] 270 | | } [INFO] [stderr] 271 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [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] 262 | impl Default for variablescope::GlobalScope { [INFO] [stderr] 263 | fn default() -> Self { [INFO] [stderr] 264 | Self::new() [INFO] [stderr] 265 | } [INFO] [stderr] 266 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/variablescope.rs:679:19 [INFO] [stderr] | [INFO] [stderr] 679 | let (end, foo) = value_expression(Input(expression)).unwrap(); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: The function/method `evaluate` doesn't need a mutable reference [INFO] [stderr] --> src/variablescope.rs:681:36 [INFO] [stderr] | [INFO] [stderr] 681 | format!("{}", foo.evaluate(&mut scope)) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/colors/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/colors/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/colors/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/colors/alpha_hex/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/colors/alpha_hex/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/identifiers/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/identifiers/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/identifiers/escape/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/identifiers/escape/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/lists/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/lists/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/maps/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/maps/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/numbers/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/numbers/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/numbers/units/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/values/numbers/units/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: aborting due to 17 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rsass`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/css/unicode_range/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/css/unicode_range/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/css/unicode_range/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/css/unicode_range/error/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/css/unicode_range/error/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/css/unicode_range/error/no_digits/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> tests/css/unicode_range/error/no_digits/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[allow(unused)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: aborting due to 7 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rsass`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "4b8579f5d567ed52492fe67d39152b35b0a5bc097bd33b8e6e1c12431621800b"` [INFO] running `"docker" "rm" "-f" "4b8579f5d567ed52492fe67d39152b35b0a5bc097bd33b8e6e1c12431621800b"` [INFO] [stdout] 4b8579f5d567ed52492fe67d39152b35b0a5bc097bd33b8e6e1c12431621800b