[INFO] crate codespawn 0.3.3 is already in cache [INFO] extracting crate codespawn 0.3.3 into work/ex/clippy-test-run/sources/stable/reg/codespawn/0.3.3 [INFO] extracting crate codespawn 0.3.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/codespawn/0.3.3 [INFO] validating manifest of codespawn-0.3.3 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 codespawn-0.3.3 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 codespawn-0.3.3 [INFO] finished frobbing codespawn-0.3.3 [INFO] frobbed toml for codespawn-0.3.3 written to work/ex/clippy-test-run/sources/stable/reg/codespawn/0.3.3/Cargo.toml [INFO] started frobbing codespawn-0.3.3 [INFO] finished frobbing codespawn-0.3.3 [INFO] frobbed toml for codespawn-0.3.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/codespawn/0.3.3/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 codespawn-0.3.3 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/codespawn/0.3.3:/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 -Dclippy::into_iter_on_array" "-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] 86b7ea91a9bf377ab065c9754483a19e22ae1eefb804e4fc32e55789f2f056e8 [INFO] running `"docker" "start" "-a" "86b7ea91a9bf377ab065c9754483a19e22ae1eefb804e4fc32e55789f2f056e8"` [INFO] [stderr] Checking json v0.10.3 [INFO] [stderr] Checking codespawn v0.3.3 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:119:17 [INFO] [stderr] | [INFO] [stderr] 119 | let _ = write!(f, "\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | let _ = write!(f, "*\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | write!(f, "*\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | let _ = write!(f, "Config: {}\n", self.name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:133:21 [INFO] [stderr] | [INFO] [stderr] 133 | let _ = write!(f, "Settings:\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | let _ = write!(f, " {} = {}\n", k, match v.as_str() { [INFO] [stderr] | _____________________^ [INFO] [stderr] 137 | | " " => "", " " => "", _ => v.as_str() }); [INFO] [stderr] | |_______________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | let _ = write!(f, "Names:\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:143:21 [INFO] [stderr] | [INFO] [stderr] 143 | let _ = write!(f, " {} = {}\n", k, v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:146:21 [INFO] [stderr] | [INFO] [stderr] 146 | let _ = write!(f, "Types:\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:149:21 [INFO] [stderr] | [INFO] [stderr] 149 | let _ = write!(f, " {} = {}\n", k, v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | let _ = write!(f, "\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/fmt_code.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | let _ = write!(f, "Target: {}\n", self.language); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/fmt_code.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | let _ = write!(f, "*\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/fmt_code.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | write!(f, "*\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/string_gen/cpp.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | let mut q = String::from(""); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/string_gen/rust.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | let mut q = String::from("const"); // default qualifier for non-struct variable [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:119:17 [INFO] [stderr] | [INFO] [stderr] 119 | let _ = write!(f, "\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:120:17 [INFO] [stderr] | [INFO] [stderr] 120 | let _ = write!(f, "*\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:125:9 [INFO] [stderr] | [INFO] [stderr] 125 | write!(f, "*\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:131:17 [INFO] [stderr] | [INFO] [stderr] 131 | let _ = write!(f, "Config: {}\n", self.name); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:133:21 [INFO] [stderr] | [INFO] [stderr] 133 | let _ = write!(f, "Settings:\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | let _ = write!(f, " {} = {}\n", k, match v.as_str() { [INFO] [stderr] | _____________________^ [INFO] [stderr] 137 | | " " => "", " " => "", _ => v.as_str() }); [INFO] [stderr] | |_______________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | let _ = write!(f, "Names:\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:143:21 [INFO] [stderr] | [INFO] [stderr] 143 | let _ = write!(f, " {} = {}\n", k, v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:146:21 [INFO] [stderr] | [INFO] [stderr] 146 | let _ = write!(f, "Types:\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:149:21 [INFO] [stderr] | [INFO] [stderr] 149 | let _ = write!(f, " {} = {}\n", k, v); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/raw_code.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | let _ = write!(f, "\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/fmt_code.rs:137:17 [INFO] [stderr] | [INFO] [stderr] 137 | let _ = write!(f, "Target: {}\n", self.language); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/fmt_code.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | let _ = write!(f, "*\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/fmt_code.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | write!(f, "*\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/string_gen/cpp.rs:85:13 [INFO] [stderr] | [INFO] [stderr] 85 | let mut q = String::from(""); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/string_gen/rust.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | let mut q = String::from("const"); // default qualifier for non-struct variable [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | pub const CONFIG: &'static str = "config"; [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] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | pub const ENUM: &'static str = "enum"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | pub const VAR: &'static str = "var"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:5:20 [INFO] [stderr] | [INFO] [stderr] 5 | pub const FUNC: &'static str = "func"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | pub const FPTR: &'static str = "fptr"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:7:20 [INFO] [stderr] | [INFO] [stderr] 7 | pub const STRUCT: &'static str = "struct"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | pub const BITFLAGS: &'static str = "bitflags"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | pub const NAME: &'static str = "name"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:12:19 [INFO] [stderr] | [INFO] [stderr] 12 | pub const TYPE: &'static str = "type"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | pub const VALUE: &'static str = "value"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | pub const NUM_TABS: &'static str = "num_tabs"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | pub const TAB_CHAR: &'static str = "tab_char"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | pub const ATTRIBUTE: &'static str = "attribute"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:17:23 [INFO] [stderr] | [INFO] [stderr] 17 | pub const QUALIFIER: &'static str = "qualifier"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:19:27 [INFO] [stderr] | [INFO] [stderr] 19 | pub const ATTRIB_ARRAY: [&'static str; 7] = [NAME, TYPE, VALUE, NUM_TABS, [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/mod.rs:8:28 [INFO] [stderr] | [INFO] [stderr] 8 | pub const AUTOGEN_HEADER: &'static str = concat!("!!! Autogenerated with codespawn (", env!("CARGO_PKG_VERSION"), ") - do not modify. !!!\n"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/mod.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | pub const AUTOGEN_FOOTER: &'static str = "!!! End of autogenerated data. !!!\n"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:2:20 [INFO] [stderr] | [INFO] [stderr] 2 | pub const CONFIG: &'static str = "config"; [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] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | pub const ENUM: &'static str = "enum"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | pub const VAR: &'static str = "var"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:5:20 [INFO] [stderr] | [INFO] [stderr] 5 | pub const FUNC: &'static str = "func"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | pub const FPTR: &'static str = "fptr"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:7:20 [INFO] [stderr] | [INFO] [stderr] 7 | pub const STRUCT: &'static str = "struct"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | pub const BITFLAGS: &'static str = "bitflags"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | pub const NAME: &'static str = "name"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:12:19 [INFO] [stderr] | [INFO] [stderr] 12 | pub const TYPE: &'static str = "type"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | pub const VALUE: &'static str = "value"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | pub const NUM_TABS: &'static str = "num_tabs"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | pub const TAB_CHAR: &'static str = "tab_char"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | pub const ATTRIBUTE: &'static str = "attribute"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:17:23 [INFO] [stderr] | [INFO] [stderr] 17 | pub const QUALIFIER: &'static str = "qualifier"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/keywords.rs:19:27 [INFO] [stderr] | [INFO] [stderr] 19 | pub const ATTRIB_ARRAY: [&'static str; 7] = [NAME, TYPE, VALUE, NUM_TABS, [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/mod.rs:8:28 [INFO] [stderr] | [INFO] [stderr] 8 | pub const AUTOGEN_HEADER: &'static str = concat!("!!! Autogenerated with codespawn (", env!("CARGO_PKG_VERSION"), ") - do not modify. !!!\n"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/string_gen/mod.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | pub const AUTOGEN_FOOTER: &'static str = "!!! End of autogenerated data. !!!\n"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `raw_code::RawCode` [INFO] [stderr] --> src/raw_code.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | / pub fn new() -> RawCode { [INFO] [stderr] 71 | | let mut rc = RawCode { [INFO] [stderr] 72 | | configs: HashMap::::new(), [INFO] [stderr] 73 | | elements: Vec::::new(), [INFO] [stderr] ... | [INFO] [stderr] 80 | | rc [INFO] [stderr] 81 | | } [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] 60 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:132:12 [INFO] [stderr] | [INFO] [stderr] 132 | if self.global_cfg.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.global_cfg.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: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:139:12 [INFO] [stderr] | [INFO] [stderr] 139 | if self.name_dict.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.name_dict.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:145:12 [INFO] [stderr] | [INFO] [stderr] 145 | if self.type_dict.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.type_dict.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:172:8 [INFO] [stderr] | [INFO] [stderr] 172 | if e.attributes.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!e.attributes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:185:8 [INFO] [stderr] | [INFO] [stderr] 185 | if e.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!e.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/raw_code.rs:193:17 [INFO] [stderr] | [INFO] [stderr] 193 | match idx { Ok(_) => { empty_spaces.remove(idx.unwrap()); }, _ => {} }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `if let Ok(_) = idx { empty_spaces.remove(idx.unwrap()); }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/raw_code.rs:207:27 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn generate_raw(data: &Vec, config_data: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeData]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/raw_code.rs:207:56 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn generate_raw(data: &Vec, config_data: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeData]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:228:12 [INFO] [stderr] | [INFO] [stderr] 228 | if n.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!n.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:231:12 [INFO] [stderr] | [INFO] [stderr] 231 | if t.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!t.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/raw_code.rs:243:82 [INFO] [stderr] | [INFO] [stderr] 243 | fn process_kids(item: &mut CodeItem, depth: u8, name: &str, attribs: &Vec<(String, String)>) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, String)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmt_code.rs:35:61 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(lang: Lang, cfg: &Option<&CodeConfig>, data: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeItem]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/fmt_code.rs:35:33 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(lang: Lang, cfg: &Option<&CodeConfig>, data: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&CodeConfig>` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/fmt_code.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / match *cfg { [INFO] [stderr] 44 | | Some(config) => { [INFO] [stderr] 45 | | // replace types and names using data from config file [INFO] [stderr] 46 | | try!(fmt_code.process_config(&config)); [INFO] [stderr] 47 | | }, [INFO] [stderr] 48 | | None => {} [INFO] [stderr] 49 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 43 | if let Some(config) = *cfg { [INFO] [stderr] 44 | // replace types and names using data from config file [INFO] [stderr] 45 | try!(fmt_code.process_config(&config)); [INFO] [stderr] 46 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fmt_code.rs:76:46 [INFO] [stderr] | [INFO] [stderr] 76 | fn update_element(e: &mut CodeItem, key: &String, value: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fmt_code.rs:76:62 [INFO] [stderr] | [INFO] [stderr] 76 | fn update_element(e: &mut CodeItem, key: &String, value: &String) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 76 | fn update_element(e: &mut CodeItem, key: &String, value: &str) { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `value.clone()` to [INFO] [stderr] | [INFO] [stderr] 82 | a.1 = value.to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_parser.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | if i.1.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.1.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/string_gen/cpp.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn convert(code_items: &Vec, num_tabs: u8, tab_char: char) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeItem]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/string_gen/cpp.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match a.0.as_ref() { [INFO] [stderr] 40 | | NAME => if !a.1.is_empty() { e_name = format!(" {}", a.1) }, [INFO] [stderr] 41 | | _ => {} [INFO] [stderr] 42 | | } [INFO] [stderr] | |_________^ help: try this: `if let NAME = a.0.as_ref() { if !a.1.is_empty() { e_name = format!(" {}", a.1) } }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:54:38 [INFO] [stderr] | [INFO] [stderr] 54 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:55:38 [INFO] [stderr] | [INFO] [stderr] 55 | VALUE => v = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:88:26 [INFO] [stderr] | [INFO] [stderr] 88 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:89:26 [INFO] [stderr] | [INFO] [stderr] 89 | TYPE => t = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: you should consider deriving a `Default` implementation for `raw_code::RawCode` [INFO] [stderr] --> src/raw_code.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | / pub fn new() -> RawCode { [INFO] [stderr] 71 | | let mut rc = RawCode { [INFO] [stderr] 72 | | configs: HashMap::::new(), [INFO] [stderr] 73 | | elements: Vec::::new(), [INFO] [stderr] ... | [INFO] [stderr] 80 | | rc [INFO] [stderr] 81 | | } [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] 60 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:123:31 [INFO] [stderr] | [INFO] [stderr] 123 | TYPE => f_type = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/string_gen/cpp.rs:149:21 [INFO] [stderr] | [INFO] [stderr] 149 | / match vc.name.as_ref() { [INFO] [stderr] 150 | | FPTR => { [INFO] [stderr] 151 | | let separator = if comma && !first_arg { ", " } else { "" }; [INFO] [stderr] 152 | | let fptr_str = make_function(vc, depth, num_tabs, tab_char, true, true); [INFO] [stderr] ... | [INFO] [stderr] 156 | | _ => {} [INFO] [stderr] 157 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 149 | if let FPTR = vc.name.as_ref() { [INFO] [stderr] 150 | let separator = if comma && !first_arg { ", " } else { "" }; [INFO] [stderr] 151 | let fptr_str = make_function(vc, depth, num_tabs, tab_char, true, true); [INFO] [stderr] 152 | func_str.push_str(format!("{}{}", separator, fptr_str).as_str()); [INFO] [stderr] 153 | first_arg = false; [INFO] [stderr] 154 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/string_gen/cpp.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | / match a.0.as_ref() { [INFO] [stderr] 201 | | NAME => if !a.1.is_empty() { s_name = format!(" {}", a.1) }, [INFO] [stderr] 202 | | _ => {} [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________^ help: try this: `if let NAME = a.0.as_ref() { if !a.1.is_empty() { s_name = format!(" {}", a.1) } }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:132:12 [INFO] [stderr] | [INFO] [stderr] 132 | if self.global_cfg.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.global_cfg.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: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:139:12 [INFO] [stderr] | [INFO] [stderr] 139 | if self.name_dict.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.name_dict.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:145:12 [INFO] [stderr] | [INFO] [stderr] 145 | if self.type_dict.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.type_dict.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/string_gen/rust.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn convert(code_items: &Vec, num_tabs: u8, tab_char: char) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeItem]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:58:38 [INFO] [stderr] | [INFO] [stderr] 58 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:59:38 [INFO] [stderr] | [INFO] [stderr] 59 | VALUE => v = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:172:8 [INFO] [stderr] | [INFO] [stderr] 172 | if e.attributes.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!e.attributes.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:185:8 [INFO] [stderr] | [INFO] [stderr] 185 | if e.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!e.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/raw_code.rs:193:17 [INFO] [stderr] | [INFO] [stderr] 193 | match idx { Ok(_) => { empty_spaces.remove(idx.unwrap()); }, _ => {} }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `if let Ok(_) = idx { empty_spaces.remove(idx.unwrap()); }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/raw_code.rs:207:27 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn generate_raw(data: &Vec, config_data: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeData]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/raw_code.rs:207:56 [INFO] [stderr] | [INFO] [stderr] 207 | pub fn generate_raw(data: &Vec, config_data: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeData]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:96:26 [INFO] [stderr] | [INFO] [stderr] 96 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:228:12 [INFO] [stderr] | [INFO] [stderr] 228 | if n.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!n.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/raw_code.rs:231:12 [INFO] [stderr] | [INFO] [stderr] 231 | if t.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!t.is_empty()` [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] | [INFO] [stderr] --> src/string_gen/rust.rs:97:26 [INFO] [stderr] | [INFO] [stderr] 97 | TYPE => t = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:99:30 [INFO] [stderr] | [INFO] [stderr] 99 | QUALIFIER => q = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/string_gen/rust.rs:107:16 [INFO] [stderr] | [INFO] [stderr] 107 | if let Some(_) = q.find('<') { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 108 | | return format!("{}pub {}: {}{}{}>;\n", start_indent, n, q, t, v); [INFO] [stderr] 109 | | } [INFO] [stderr] 110 | | else if !q.is_empty() { [INFO] [stderr] 111 | | q.push(' '); [INFO] [stderr] 112 | | } [INFO] [stderr] | |_________- help: try this: `if q.find('<').is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/raw_code.rs:243:82 [INFO] [stderr] | [INFO] [stderr] 243 | fn process_kids(item: &mut CodeItem, depth: u8, name: &str, attribs: &Vec<(String, String)>) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, String)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/fmt_code.rs:35:61 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(lang: Lang, cfg: &Option<&CodeConfig>, data: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeItem]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/fmt_code.rs:35:33 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn new(lang: Lang, cfg: &Option<&CodeConfig>, data: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option<&CodeConfig>` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/fmt_code.rs:43:9 [INFO] [stderr] | [INFO] [stderr] 43 | / match *cfg { [INFO] [stderr] 44 | | Some(config) => { [INFO] [stderr] 45 | | // replace types and names using data from config file [INFO] [stderr] 46 | | try!(fmt_code.process_config(&config)); [INFO] [stderr] 47 | | }, [INFO] [stderr] 48 | | None => {} [INFO] [stderr] 49 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 43 | if let Some(config) = *cfg { [INFO] [stderr] 44 | // replace types and names using data from config file [INFO] [stderr] 45 | try!(fmt_code.process_config(&config)); [INFO] [stderr] 46 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:141:31 [INFO] [stderr] | [INFO] [stderr] 141 | NAME => f_name = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:142:31 [INFO] [stderr] | [INFO] [stderr] 142 | TYPE => f_type = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:143:56 [INFO] [stderr] | [INFO] [stderr] 143 | QUALIFIER => if !a.1.is_empty() { f_qual = format!("{}", a.1) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/string_gen/rust.rs:152:12 [INFO] [stderr] | [INFO] [stderr] 152 | if let Some(_) = f_qual.find('<') { [INFO] [stderr] | _____- ^^^^^^^ [INFO] [stderr] 153 | | opt_suffix.push_str(">"); [INFO] [stderr] 154 | | } [INFO] [stderr] 155 | | else if !f_qual.is_empty() { [INFO] [stderr] 156 | | f_qual.push(' '); [INFO] [stderr] 157 | | } [INFO] [stderr] | |_____- help: try this: `if f_qual.find('<').is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:174:38 [INFO] [stderr] | [INFO] [stderr] 174 | TYPE => t = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/string_gen/rust.rs:180:21 [INFO] [stderr] | [INFO] [stderr] 180 | / match vc.name.as_ref() { [INFO] [stderr] 181 | | FPTR => { [INFO] [stderr] 182 | | let separator = if comma && !first_arg { ", " } else { "" }; [INFO] [stderr] 183 | | let fptr_str = make_function(vc, depth, num_tabs, tab_char, false, true, true); [INFO] [stderr] ... | [INFO] [stderr] 187 | | _ => {} [INFO] [stderr] 188 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 180 | if let FPTR = vc.name.as_ref() { [INFO] [stderr] 181 | let separator = if comma && !first_arg { ", " } else { "" }; [INFO] [stderr] 182 | let fptr_str = make_function(vc, depth, num_tabs, tab_char, false, true, true); [INFO] [stderr] 183 | func_str.push_str(format!("{}{}", separator, fptr_str).as_str()); [INFO] [stderr] 184 | first_arg = false; [INFO] [stderr] 185 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fmt_code.rs:76:46 [INFO] [stderr] | [INFO] [stderr] 76 | fn update_element(e: &mut CodeItem, key: &String, value: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/fmt_code.rs:76:62 [INFO] [stderr] | [INFO] [stderr] 76 | fn update_element(e: &mut CodeItem, key: &String, value: &String) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 76 | fn update_element(e: &mut CodeItem, key: &String, value: &str) { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `value.clone()` to [INFO] [stderr] | [INFO] [stderr] 82 | a.1 = value.to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/json_parser.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | if i.1.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `i.1.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:290:38 [INFO] [stderr] | [INFO] [stderr] 290 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:291:38 [INFO] [stderr] | [INFO] [stderr] 291 | VALUE => v = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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/string_gen/cpp.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn convert(code_items: &Vec, num_tabs: u8, tab_char: char) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeItem]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/string_gen/cpp.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / match a.0.as_ref() { [INFO] [stderr] 40 | | NAME => if !a.1.is_empty() { e_name = format!(" {}", a.1) }, [INFO] [stderr] 41 | | _ => {} [INFO] [stderr] 42 | | } [INFO] [stderr] | |_________^ help: try this: `if let NAME = a.0.as_ref() { if !a.1.is_empty() { e_name = format!(" {}", a.1) } }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:54:38 [INFO] [stderr] | [INFO] [stderr] 54 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:55:38 [INFO] [stderr] | [INFO] [stderr] 55 | VALUE => v = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:88:26 [INFO] [stderr] | [INFO] [stderr] 88 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:89:26 [INFO] [stderr] | [INFO] [stderr] 89 | TYPE => t = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/cpp.rs:123:31 [INFO] [stderr] | [INFO] [stderr] 123 | TYPE => f_type = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/string_gen/cpp.rs:149:21 [INFO] [stderr] | [INFO] [stderr] 149 | / match vc.name.as_ref() { [INFO] [stderr] 150 | | FPTR => { [INFO] [stderr] 151 | | let separator = if comma && !first_arg { ", " } else { "" }; [INFO] [stderr] 152 | | let fptr_str = make_function(vc, depth, num_tabs, tab_char, true, true); [INFO] [stderr] ... | [INFO] [stderr] 156 | | _ => {} [INFO] [stderr] 157 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 149 | if let FPTR = vc.name.as_ref() { [INFO] [stderr] 150 | let separator = if comma && !first_arg { ", " } else { "" }; [INFO] [stderr] 151 | let fptr_str = make_function(vc, depth, num_tabs, tab_char, true, true); [INFO] [stderr] 152 | func_str.push_str(format!("{}{}", separator, fptr_str).as_str()); [INFO] [stderr] 153 | first_arg = false; [INFO] [stderr] 154 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/string_gen/cpp.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | / match a.0.as_ref() { [INFO] [stderr] 201 | | NAME => if !a.1.is_empty() { s_name = format!(" {}", a.1) }, [INFO] [stderr] 202 | | _ => {} [INFO] [stderr] 203 | | } [INFO] [stderr] | |_________^ help: try this: `if let NAME = a.0.as_ref() { if !a.1.is_empty() { s_name = format!(" {}", a.1) } }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [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/string_gen/rust.rs:5:28 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn convert(code_items: &Vec, num_tabs: u8, tab_char: char) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[CodeItem]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:58:38 [INFO] [stderr] | [INFO] [stderr] 58 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:59:38 [INFO] [stderr] | [INFO] [stderr] 59 | VALUE => v = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:96:26 [INFO] [stderr] | [INFO] [stderr] 96 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:97:26 [INFO] [stderr] | [INFO] [stderr] 97 | TYPE => t = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:99:30 [INFO] [stderr] | [INFO] [stderr] 99 | QUALIFIER => q = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/string_gen/rust.rs:107:16 [INFO] [stderr] | [INFO] [stderr] 107 | if let Some(_) = q.find('<') { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 108 | | return format!("{}pub {}: {}{}{}>;\n", start_indent, n, q, t, v); [INFO] [stderr] 109 | | } [INFO] [stderr] 110 | | else if !q.is_empty() { [INFO] [stderr] 111 | | q.push(' '); [INFO] [stderr] 112 | | } [INFO] [stderr] | |_________- help: try this: `if q.find('<').is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:141:31 [INFO] [stderr] | [INFO] [stderr] 141 | NAME => f_name = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:142:31 [INFO] [stderr] | [INFO] [stderr] 142 | TYPE => f_type = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:143:56 [INFO] [stderr] | [INFO] [stderr] 143 | QUALIFIER => if !a.1.is_empty() { f_qual = format!("{}", a.1) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/string_gen/rust.rs:152:12 [INFO] [stderr] | [INFO] [stderr] 152 | if let Some(_) = f_qual.find('<') { [INFO] [stderr] | _____- ^^^^^^^ [INFO] [stderr] 153 | | opt_suffix.push_str(">"); [INFO] [stderr] 154 | | } [INFO] [stderr] 155 | | else if !f_qual.is_empty() { [INFO] [stderr] 156 | | f_qual.push(' '); [INFO] [stderr] 157 | | } [INFO] [stderr] | |_____- help: try this: `if f_qual.find('<').is_some()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:174:38 [INFO] [stderr] | [INFO] [stderr] 174 | TYPE => t = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/string_gen/rust.rs:180:21 [INFO] [stderr] | [INFO] [stderr] 180 | / match vc.name.as_ref() { [INFO] [stderr] 181 | | FPTR => { [INFO] [stderr] 182 | | let separator = if comma && !first_arg { ", " } else { "" }; [INFO] [stderr] 183 | | let fptr_str = make_function(vc, depth, num_tabs, tab_char, false, true, true); [INFO] [stderr] ... | [INFO] [stderr] 187 | | _ => {} [INFO] [stderr] 188 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 180 | if let FPTR = vc.name.as_ref() { [INFO] [stderr] 181 | let separator = if comma && !first_arg { ", " } else { "" }; [INFO] [stderr] 182 | let fptr_str = make_function(vc, depth, num_tabs, tab_char, false, true, true); [INFO] [stderr] 183 | func_str.push_str(format!("{}{}", separator, fptr_str).as_str()); [INFO] [stderr] 184 | first_arg = false; [INFO] [stderr] 185 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:290:38 [INFO] [stderr] | [INFO] [stderr] 290 | NAME => n = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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: useless use of `format!` [INFO] [stderr] --> src/string_gen/rust.rs:291:38 [INFO] [stderr] | [INFO] [stderr] 291 | VALUE => v = format!("{}", a.1), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `a.1.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [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] Finished dev [unoptimized + debuginfo] target(s) in 5.17s [INFO] running `"docker" "inspect" "86b7ea91a9bf377ab065c9754483a19e22ae1eefb804e4fc32e55789f2f056e8"` [INFO] running `"docker" "rm" "-f" "86b7ea91a9bf377ab065c9754483a19e22ae1eefb804e4fc32e55789f2f056e8"` [INFO] [stdout] 86b7ea91a9bf377ab065c9754483a19e22ae1eefb804e4fc32e55789f2f056e8