[INFO] crate sassers 0.13.5-h28 is already in cache [INFO] extracting crate sassers 0.13.5-h28 into work/ex/clippy-test-run/sources/stable/reg/sassers/0.13.5-h28 [INFO] extracting crate sassers 0.13.5-h28 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sassers/0.13.5-h28 [INFO] validating manifest of sassers-0.13.5-h28 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 sassers-0.13.5-h28 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 sassers-0.13.5-h28 [INFO] finished frobbing sassers-0.13.5-h28 [INFO] frobbed toml for sassers-0.13.5-h28 written to work/ex/clippy-test-run/sources/stable/reg/sassers/0.13.5-h28/Cargo.toml [INFO] started frobbing sassers-0.13.5-h28 [INFO] finished frobbing sassers-0.13.5-h28 [INFO] frobbed toml for sassers-0.13.5-h28 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sassers/0.13.5-h28/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 sassers-0.13.5-h28 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/sassers/0.13.5-h28:/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] d7fe59783c678d9184a23937c6511bc0feb8d0e66d7b780b6c49620cfc7d2707 [INFO] running `"docker" "start" "-a" "d7fe59783c678d9184a23937c6511bc0feb8d0e66d7b780b6c49620cfc7d2707"` [INFO] [stderr] Checking sassers v0.13.5-h28 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/context.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/context.rs:41:29 [INFO] [stderr] | [INFO] [stderr] 41 | offset: offset, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [INFO] [stderr] | [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/context.rs:37:33 [INFO] [stderr] | [INFO] [stderr] 37 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [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/context.rs:38:33 [INFO] [stderr] | [INFO] [stderr] 38 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/expression_evaluator.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | context: context, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `context` [INFO] [stderr] | [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/parser.rs:202:45 [INFO] [stderr] | [INFO] [stderr] 202 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [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/parser.rs:255:47 [INFO] [stderr] | [INFO] [stderr] 255 | SassComment { content: content } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `content` [INFO] [stderr] | [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/parser.rs:262:43 [INFO] [stderr] | [INFO] [stderr] 262 | SassComment { content: content } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `content` [INFO] [stderr] | [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/token.rs:20:21 [INFO] [stderr] | [INFO] [stderr] 20 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/token.rs:37:21 [INFO] [stderr] | [INFO] [stderr] 37 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/token.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/token.rs:71:21 [INFO] [stderr] | [INFO] [stderr] 71 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/token.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 88 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/tokenizer.rs:163:29 [INFO] [stderr] | [INFO] [stderr] 163 | Token::Number { value: value, units: Some(unit), computed: false } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [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/tokenizer.rs:165:29 [INFO] [stderr] | [INFO] [stderr] 165 | Token::Number { value: value, units: None, computed: false } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [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/tokenizer.rs:169:27 [INFO] [stderr] | [INFO] [stderr] 169 | TokenOffset { token: token, offset: Some(start) } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [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/tokenizer.rs:191:27 [INFO] [stderr] | [INFO] [stderr] 191 | TokenOffset { token: token, offset: Some(start) } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [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/tokenizer.rs:216:27 [INFO] [stderr] | [INFO] [stderr] 216 | TokenOffset { token: token, offset: Some(start) } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [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/context.rs:33:21 [INFO] [stderr] | [INFO] [stderr] 33 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/context.rs:41:29 [INFO] [stderr] | [INFO] [stderr] 41 | offset: offset, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [INFO] [stderr] | [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/context.rs:37:33 [INFO] [stderr] | [INFO] [stderr] 37 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [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/context.rs:38:33 [INFO] [stderr] | [INFO] [stderr] 38 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/expression_evaluator.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | context: context, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `context` [INFO] [stderr] | [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/parser.rs:202:45 [INFO] [stderr] | [INFO] [stderr] 202 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [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/parser.rs:255:47 [INFO] [stderr] | [INFO] [stderr] 255 | SassComment { content: content } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `content` [INFO] [stderr] | [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/parser.rs:262:43 [INFO] [stderr] | [INFO] [stderr] 262 | SassComment { content: content } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `content` [INFO] [stderr] | [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/token.rs:20:21 [INFO] [stderr] | [INFO] [stderr] 20 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/token.rs:37:21 [INFO] [stderr] | [INFO] [stderr] 37 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/token.rs:54:21 [INFO] [stderr] | [INFO] [stderr] 54 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/token.rs:71:21 [INFO] [stderr] | [INFO] [stderr] 71 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/token.rs:88:21 [INFO] [stderr] | [INFO] [stderr] 88 | units: units, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `units` [INFO] [stderr] | [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/tokenizer.rs:163:29 [INFO] [stderr] | [INFO] [stderr] 163 | Token::Number { value: value, units: Some(unit), computed: false } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [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/tokenizer.rs:165:29 [INFO] [stderr] | [INFO] [stderr] 165 | Token::Number { value: value, units: None, computed: false } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [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/tokenizer.rs:169:27 [INFO] [stderr] | [INFO] [stderr] 169 | TokenOffset { token: token, offset: Some(start) } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [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/tokenizer.rs:191:27 [INFO] [stderr] | [INFO] [stderr] 191 | TokenOffset { token: token, offset: Some(start) } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [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/tokenizer.rs:216:27 [INFO] [stderr] | [INFO] [stderr] 216 | TokenOffset { token: token, offset: Some(start) } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [INFO] [stderr] | [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/sass/rule.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | return results [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `results` [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/tokenizer.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tokenizer.rs:52:24 [INFO] [stderr] | [INFO] [stderr] 52 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 53 | | if self.multiline_comment_starting(curr_char) { [INFO] [stderr] 54 | | return self.multiline_comment(curr_char, char_offset) [INFO] [stderr] 55 | | } else if self.singleline_comment_starting(curr_char) { [INFO] [stderr] ... | [INFO] [stderr] 64 | | } [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 52 | } else if self.multiline_comment_starting(curr_char) { [INFO] [stderr] 53 | return self.multiline_comment(curr_char, char_offset) [INFO] [stderr] 54 | } else if self.singleline_comment_starting(curr_char) { [INFO] [stderr] 55 | self.discard_singleline_comment(); [INFO] [stderr] 56 | return self.parse() [INFO] [stderr] 57 | } else if curr_char == '"' { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sass/rule.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | return results [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `results` [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/tokenizer.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | return Ok(None) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(None)` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/tokenizer.rs:52:24 [INFO] [stderr] | [INFO] [stderr] 52 | } else { [INFO] [stderr] | ________________________^ [INFO] [stderr] 53 | | if self.multiline_comment_starting(curr_char) { [INFO] [stderr] 54 | | return self.multiline_comment(curr_char, char_offset) [INFO] [stderr] 55 | | } else if self.singleline_comment_starting(curr_char) { [INFO] [stderr] ... | [INFO] [stderr] 64 | | } [INFO] [stderr] 65 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 52 | } else if self.multiline_comment_starting(curr_char) { [INFO] [stderr] 53 | return self.multiline_comment(curr_char, char_offset) [INFO] [stderr] 54 | } else if self.singleline_comment_starting(curr_char) { [INFO] [stderr] 55 | self.discard_singleline_comment(); [INFO] [stderr] 56 | return self.parse() [INFO] [stderr] 57 | } else if curr_char == '"' { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: 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/ast/expression.rs:92:35 [INFO] [stderr] | [INFO] [stderr] 92 | if list.iter().any(|item| { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 93 | | match *item { [INFO] [stderr] 94 | | Expression::Value(OperatorOrToken::Operator(OperatorOffset { [INFO] [stderr] 95 | | operator: Operator::Slash, .. [INFO] [stderr] ... | [INFO] [stderr] 98 | | } [INFO] [stderr] 99 | | }) { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [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] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/ast/node.rs:26:21 [INFO] [stderr] | [INFO] [stderr] 26 | let ref n = name.token.to_string(); [INFO] [stderr] | ----^^^^^-------------------------- help: try: `let n = &name.token.to_string();` [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] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/ast/node.rs:27:21 [INFO] [stderr] | [INFO] [stderr] 27 | let ref v = expression.to_string(); [INFO] [stderr] | ----^^^^^-------------------------- help: try: `let v = &expression.to_string();` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/expression_evaluator.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | .unwrap_or(Expression::Value( [INFO] [stderr] | _________________________^ [INFO] [stderr] 25 | | OperatorOrToken::Token(t) [INFO] [stderr] 26 | | )) [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 24 | .unwrap_or_else(|| Expression::Value( [INFO] [stderr] 25 | OperatorOrToken::Token(t) [INFO] [stderr] 26 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/expression_evaluator.rs:51:32 [INFO] [stderr] | [INFO] [stderr] 51 | while let Some(part) = exprs.next() { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `for part in exprs { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/expression_evaluator.rs:96:34 [INFO] [stderr] | [INFO] [stderr] 96 | .unwrap_or(Expression::Value( [INFO] [stderr] | __________________________________^ [INFO] [stderr] 97 | | OperatorOrToken::Token(t) [INFO] [stderr] 98 | | )); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 96 | .unwrap_or_else(|| Expression::Value( [INFO] [stderr] 97 | OperatorOrToken::Token(t) [INFO] [stderr] 98 | )); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/sass/output_style.rs:28:27 [INFO] [stderr] | [INFO] [stderr] 28 | parents.split(",").map(|p| { [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: single-character string constant used as pattern [INFO] [stderr] --> src/sass/output_style.rs:30:53 [INFO] [stderr] | [INFO] [stderr] 30 | if s.token.to_string().contains("&") { [INFO] [stderr] | ^^^ help: try using a char instead: `'&'` [INFO] [stderr] | [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/sass/output_style.rs:84:32 [INFO] [stderr] | [INFO] [stderr] 84 | fn filter_child_properties<'a>(&self, children: &[Node]) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/sass/output_style.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | / String::from(content.lines() [INFO] [stderr] 185 | | .map(|s| s.trim()) [INFO] [stderr] 186 | | .collect::>() [INFO] [stderr] 187 | | .join(" ")) [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `String::from()` [INFO] [stderr] | [INFO] [stderr] 184 | content.lines() [INFO] [stderr] 185 | .map(|s| s.trim()) [INFO] [stderr] 186 | .collect::>() [INFO] [stderr] 187 | .join(" ") [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/sass/output_style.rs:239:27 [INFO] [stderr] | [INFO] [stderr] 239 | parents.split(",").map(|p| { [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/sass/output_style.rs:241:53 [INFO] [stderr] | [INFO] [stderr] 241 | if s.token.to_string().contains("&") { [INFO] [stderr] | ^^^ help: try using a char instead: `'&'` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/sass/output_style.rs:266:27 [INFO] [stderr] | [INFO] [stderr] 266 | fn compress_selectors(&self, selector_string: String) -> String { [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: passing a unit value to a function [INFO] [stderr] --> src/sass/rule.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 22 | Ok(try!(write!(output, "{}", style.rule_separator()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [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/sass/rule.rs:124:58 [INFO] [stderr] | [INFO] [stderr] 124 | pub fn collapse_with_parent_selectors(self, parents: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[TokenOffset]` [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: single-character string constant used as pattern [INFO] [stderr] --> src/parser.rs:30:46 [INFO] [stderr] | [INFO] [stderr] 30 | }) if string_val.starts_with("$") => { [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/parser.rs:198:71 [INFO] [stderr] | [INFO] [stderr] 198 | Token::String(ref s) if s.starts_with("$") => { [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/token_offset.rs:43:35 [INFO] [stderr] | [INFO] [stderr] 43 | self_string.ends_with("=") || [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [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: length comparison to zero [INFO] [stderr] --> src/tokenizer.rs:162:24 [INFO] [stderr] | [INFO] [stderr] 162 | let token = if unit.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!unit.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: single-character string constant used as pattern [INFO] [stderr] --> src/tokenizer.rs:178:53 [INFO] [stderr] | [INFO] [stderr] 178 | if peek_char == '"' && !value.ends_with("\\") { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\\'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/tokenizer.rs:203:52 [INFO] [stderr] | [INFO] [stderr] 203 | if peek_char == '/' && value.ends_with("*") { [INFO] [stderr] | ^^^ help: try using a char instead: `'*'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:39:28 [INFO] [stderr] | [INFO] [stderr] 39 | for line in sass.split("\n") { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [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: this loop could be written as a `for` loop [INFO] [stderr] --> src/lib.rs:63:37 [INFO] [stderr] | [INFO] [stderr] 63 | while let Some(token) = tokenizer.next() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `for token in tokenizer { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/lib.rs:69:36 [INFO] [stderr] | [INFO] [stderr] 69 | while let Some(root) = parser.next() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `for root in parser { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: 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/ast/expression.rs:92:35 [INFO] [stderr] | [INFO] [stderr] 92 | if list.iter().any(|item| { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 93 | | match *item { [INFO] [stderr] 94 | | Expression::Value(OperatorOrToken::Operator(OperatorOffset { [INFO] [stderr] 95 | | operator: Operator::Slash, .. [INFO] [stderr] ... | [INFO] [stderr] 98 | | } [INFO] [stderr] 99 | | }) { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [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] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/ast/node.rs:26:21 [INFO] [stderr] | [INFO] [stderr] 26 | let ref n = name.token.to_string(); [INFO] [stderr] | ----^^^^^-------------------------- help: try: `let n = &name.token.to_string();` [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] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/ast/node.rs:27:21 [INFO] [stderr] | [INFO] [stderr] 27 | let ref v = expression.to_string(); [INFO] [stderr] | ----^^^^^-------------------------- help: try: `let v = &expression.to_string();` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/expression_evaluator.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | .unwrap_or(Expression::Value( [INFO] [stderr] | _________________________^ [INFO] [stderr] 25 | | OperatorOrToken::Token(t) [INFO] [stderr] 26 | | )) [INFO] [stderr] | |_________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 24 | .unwrap_or_else(|| Expression::Value( [INFO] [stderr] 25 | OperatorOrToken::Token(t) [INFO] [stderr] 26 | )) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/expression_evaluator.rs:51:32 [INFO] [stderr] | [INFO] [stderr] 51 | while let Some(part) = exprs.next() { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `for part in exprs { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/expression_evaluator.rs:96:34 [INFO] [stderr] | [INFO] [stderr] 96 | .unwrap_or(Expression::Value( [INFO] [stderr] | __________________________________^ [INFO] [stderr] 97 | | OperatorOrToken::Token(t) [INFO] [stderr] 98 | | )); [INFO] [stderr] | |__________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 96 | .unwrap_or_else(|| Expression::Value( [INFO] [stderr] 97 | OperatorOrToken::Token(t) [INFO] [stderr] 98 | )); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/sass/output_style.rs:28:27 [INFO] [stderr] | [INFO] [stderr] 28 | parents.split(",").map(|p| { [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: single-character string constant used as pattern [INFO] [stderr] --> src/sass/output_style.rs:30:53 [INFO] [stderr] | [INFO] [stderr] 30 | if s.token.to_string().contains("&") { [INFO] [stderr] | ^^^ help: try using a char instead: `'&'` [INFO] [stderr] | [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: this lifetime isn't used in the function definition [INFO] [stderr] --> src/sass/output_style.rs:84:32 [INFO] [stderr] | [INFO] [stderr] 84 | fn filter_child_properties<'a>(&self, children: &[Node]) [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/sass/output_style.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | / String::from(content.lines() [INFO] [stderr] 185 | | .map(|s| s.trim()) [INFO] [stderr] 186 | | .collect::>() [INFO] [stderr] 187 | | .join(" ")) [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] help: consider removing `String::from()` [INFO] [stderr] | [INFO] [stderr] 184 | content.lines() [INFO] [stderr] 185 | .map(|s| s.trim()) [INFO] [stderr] 186 | .collect::>() [INFO] [stderr] 187 | .join(" ") [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/sass/output_style.rs:239:27 [INFO] [stderr] | [INFO] [stderr] 239 | parents.split(",").map(|p| { [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/sass/output_style.rs:241:53 [INFO] [stderr] | [INFO] [stderr] 241 | if s.token.to_string().contains("&") { [INFO] [stderr] | ^^^ help: try using a char instead: `'&'` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/sass/output_style.rs:266:27 [INFO] [stderr] | [INFO] [stderr] 266 | fn compress_selectors(&self, selector_string: String) -> String { [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: passing a unit value to a function [INFO] [stderr] --> src/sass/rule.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 22 | Ok(try!(write!(output, "{}", style.rule_separator()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [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/sass/rule.rs:124:58 [INFO] [stderr] | [INFO] [stderr] 124 | pub fn collapse_with_parent_selectors(self, parents: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[TokenOffset]` [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: single-character string constant used as pattern [INFO] [stderr] --> src/parser.rs:30:46 [INFO] [stderr] | [INFO] [stderr] 30 | }) if string_val.starts_with("$") => { [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/parser.rs:198:71 [INFO] [stderr] | [INFO] [stderr] 198 | Token::String(ref s) if s.starts_with("$") => { [INFO] [stderr] | ^^^ help: try using a char instead: `'$'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/token_offset.rs:43:35 [INFO] [stderr] | [INFO] [stderr] 43 | self_string.ends_with("=") || [INFO] [stderr] | ^^^ help: try using a char instead: `'='` [INFO] [stderr] | [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: length comparison to zero [INFO] [stderr] --> src/tokenizer.rs:162:24 [INFO] [stderr] | [INFO] [stderr] 162 | let token = if unit.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!unit.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: single-character string constant used as pattern [INFO] [stderr] --> src/tokenizer.rs:178:53 [INFO] [stderr] | [INFO] [stderr] 178 | if peek_char == '"' && !value.ends_with("\\") { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\\'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/tokenizer.rs:203:52 [INFO] [stderr] | [INFO] [stderr] 203 | if peek_char == '/' && value.ends_with("*") { [INFO] [stderr] | ^^^ help: try using a char instead: `'*'` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/lib.rs:39:28 [INFO] [stderr] | [INFO] [stderr] 39 | for line in sass.split("\n") { [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [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: this loop could be written as a `for` loop [INFO] [stderr] --> src/lib.rs:63:37 [INFO] [stderr] | [INFO] [stderr] 63 | while let Some(token) = tokenizer.next() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `for token in tokenizer { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> src/lib.rs:69:36 [INFO] [stderr] | [INFO] [stderr] 69 | while let Some(root) = parser.next() { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `for root in parser { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/main.rs:11:21 [INFO] [stderr] | [INFO] [stderr] 11 | const VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.98s [INFO] running `"docker" "inspect" "d7fe59783c678d9184a23937c6511bc0feb8d0e66d7b780b6c49620cfc7d2707"` [INFO] running `"docker" "rm" "-f" "d7fe59783c678d9184a23937c6511bc0feb8d0e66d7b780b6c49620cfc7d2707"` [INFO] [stdout] d7fe59783c678d9184a23937c6511bc0feb8d0e66d7b780b6c49620cfc7d2707