[INFO] crate flowclib 0.2.0 is already in cache [INFO] extracting crate flowclib 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/flowclib/0.2.0 [INFO] extracting crate flowclib 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/flowclib/0.2.0 [INFO] validating manifest of flowclib-0.2.0 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 flowclib-0.2.0 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 flowclib-0.2.0 [INFO] finished frobbing flowclib-0.2.0 [INFO] frobbed toml for flowclib-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/flowclib/0.2.0/Cargo.toml [INFO] started frobbing flowclib-0.2.0 [INFO] finished frobbing flowclib-0.2.0 [INFO] frobbed toml for flowclib-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/flowclib/0.2.0/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 flowclib-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/flowclib/0.2.0:/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] 3eceea3807a7898c4effb0e9c9c6d980cc8248f2ef4db2e6491175dd5950f20c [INFO] running `"docker" "start" "-a" "3eceea3807a7898c4effb0e9c9c6d980cc8248f2ef4db2e6491175dd5950f20c"` [INFO] [stderr] Compiling flowstdlib v0.2.0 [INFO] [stderr] Checking flowrlib v0.2.0 [INFO] [stderr] Checking url v1.6.1 [INFO] [stderr] Checking flowclib v0.2.0 (/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/model/function.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | / write!(f, "\t\t\t\t\t\t\t\tname: \t\t{}\n", [INFO] [stderr] 76 | | self.name).unwrap(); [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/model/function.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | write!(f, "\t\t\t\t\t\t\t\tinputs:\n").unwrap(); [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/model/function.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | write!(f, "\t\t\t\t\t\t\t{}\n", input).unwrap(); [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/model/function.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | write!(f, "\t\t\t\t\t\t\t\toutputs:\n").unwrap(); [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/model/function.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | write!(f, "\t\t\t\t\t\t\t{}\n", output).unwrap(); [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/model/flow.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | write!(f, "\tvalues:\n").unwrap(); [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/model/flow.rs:102:17 [INFO] [stderr] | [INFO] [stderr] 102 | write!(f, "\t\t\t\t{}\n", value).unwrap(); [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/model/flow.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | write!(f, "\tinputs:\n").unwrap(); [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/model/flow.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | write!(f, "\t\t\t\t\t{}\n", input).unwrap(); [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/model/flow.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | write!(f, "\touputs:\n").unwrap(); [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/model/flow.rs:116:17 [INFO] [stderr] | [INFO] [stderr] 116 | write!(f, "\t\t\t\t\t{}\n", output).unwrap(); [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/model/flow.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | write!(f, "\tsubflows:\n").unwrap(); [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/model/flow.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | write!(f, "\t{}\n", flow_ref).unwrap(); [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/model/flow.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | write!(f, "\tfunctions: \t\n").unwrap(); [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/model/flow.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | write!(f, "\tconnections: \t\n").unwrap(); [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/model/flow.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | write!(f, "\t\t\t\t\t{}\n", connection).unwrap(); [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/model/function.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | / write!(f, "\t\t\t\t\t\t\t\tname: \t\t{}\n", [INFO] [stderr] 76 | | self.name).unwrap(); [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/model/function.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | write!(f, "\t\t\t\t\t\t\t\tinputs:\n").unwrap(); [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/model/function.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | write!(f, "\t\t\t\t\t\t\t{}\n", input).unwrap(); [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/model/function.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | write!(f, "\t\t\t\t\t\t\t\toutputs:\n").unwrap(); [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/model/function.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | write!(f, "\t\t\t\t\t\t\t{}\n", output).unwrap(); [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/model/flow.rs:99:9 [INFO] [stderr] | [INFO] [stderr] 99 | write!(f, "\tvalues:\n").unwrap(); [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/model/flow.rs:102:17 [INFO] [stderr] | [INFO] [stderr] 102 | write!(f, "\t\t\t\t{}\n", value).unwrap(); [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/model/flow.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | write!(f, "\tinputs:\n").unwrap(); [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/model/flow.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | write!(f, "\t\t\t\t\t{}\n", input).unwrap(); [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/model/flow.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | write!(f, "\touputs:\n").unwrap(); [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/model/flow.rs:116:17 [INFO] [stderr] | [INFO] [stderr] 116 | write!(f, "\t\t\t\t\t{}\n", output).unwrap(); [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/model/flow.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 120 | write!(f, "\tsubflows:\n").unwrap(); [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/model/flow.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | write!(f, "\t{}\n", flow_ref).unwrap(); [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/model/flow.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | write!(f, "\tfunctions: \t\n").unwrap(); [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/model/flow.rs:135:9 [INFO] [stderr] | [INFO] [stderr] 135 | write!(f, "\tconnections: \t\n").unwrap(); [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/model/flow.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | write!(f, "\t\t\t\t\t{}\n", connection).unwrap(); [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: module has the same name as its containing module [INFO] [stderr] --> src/loader/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | pub mod loader; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/dumper/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod dumper; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/info.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | 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] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/compiler/generator/cargo_gen.rs:5:24 [INFO] [stderr] | [INFO] [stderr] 5 | const CARGO_TEMPLATE: &'static str = " [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/compiler/generator/main_gen.rs:5:23 [INFO] [stderr] | [INFO] [stderr] 5 | const MAIN_TEMPLATE: &'static str = " [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/compiler/generator/runnables_gen.rs:6:26 [INFO] [stderr] | [INFO] [stderr] 6 | const RUNNABLES_PREFIX: &'static str = " [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/compiler/generator/runnables_gen.rs:13:23 [INFO] [stderr] | [INFO] [stderr] 13 | const GET_RUNNABLES: &'static str = " [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/compiler/generator/runnables_gen.rs:18:26 [INFO] [stderr] | [INFO] [stderr] 18 | const RUNNABLES_SUFFIX: &'static str = " [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/model/datatype.rs:1:19 [INFO] [stderr] | [INFO] [stderr] 1 | const DATATYPES: &'static [&'static str] = &["String"]; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'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/model/datatype.rs:1:29 [INFO] [stderr] | [INFO] [stderr] 1 | const DATATYPES: &'static [&'static str] = &["String"]; [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: unneeded return statement [INFO] [stderr] --> src/model/function_reference.rs:77:18 [INFO] [stderr] | [INFO] [stderr] 77 | _ => return Err(format!("Invalid name '{}' used in connection", name)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Invalid name '{}' used in connection", name))` [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/model/flow.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | return Err("No subflows present".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("No subflows present".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/model/flow.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | return Err("No functions present".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("No functions present".to_string())` [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: module has the same name as its containing module [INFO] [stderr] --> src/loader/mod.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | pub mod loader; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/dumper/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod dumper; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/info.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | 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] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/compiler/generator/cargo_gen.rs:5:24 [INFO] [stderr] | [INFO] [stderr] 5 | const CARGO_TEMPLATE: &'static str = " [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/compiler/generator/main_gen.rs:5:23 [INFO] [stderr] | [INFO] [stderr] 5 | const MAIN_TEMPLATE: &'static str = " [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/compiler/generator/runnables_gen.rs:6:26 [INFO] [stderr] | [INFO] [stderr] 6 | const RUNNABLES_PREFIX: &'static str = " [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/compiler/generator/runnables_gen.rs:13:23 [INFO] [stderr] | [INFO] [stderr] 13 | const GET_RUNNABLES: &'static str = " [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/compiler/generator/runnables_gen.rs:18:26 [INFO] [stderr] | [INFO] [stderr] 18 | const RUNNABLES_SUFFIX: &'static str = " [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/model/datatype.rs:1:19 [INFO] [stderr] | [INFO] [stderr] 1 | const DATATYPES: &'static [&'static str] = &["String"]; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'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/model/datatype.rs:1:29 [INFO] [stderr] | [INFO] [stderr] 1 | const DATATYPES: &'static [&'static str] = &["String"]; [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: unneeded return statement [INFO] [stderr] --> src/model/function_reference.rs:77:18 [INFO] [stderr] | [INFO] [stderr] 77 | _ => return Err(format!("Invalid name '{}' used in connection", name)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Invalid name '{}' used in connection", name))` [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/model/flow.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | return Err("No subflows present".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("No subflows present".to_string())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/model/flow.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | return Err("No functions present".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("No functions present".to_string())` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | for ref mut input in inputs { [INFO] [stderr] | ^^^^^^^^^^^^^ ------ help: try: `let input = &mut inputs;` [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/loader/loader.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | for ref mut output in outputs { [INFO] [stderr] | ^^^^^^^^^^^^^^ ------- help: try: `let output = &mut outputs;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | for ref mut function_ref in function_refs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ------------- help: try: `let function_ref = &mut function_refs;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | for ref mut value in values { [INFO] [stderr] | ^^^^^^^^^^^^^ ------ help: try: `let value = &mut values;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | for ref mut flow_ref in flow_refs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ --------- help: try: `let flow_ref = &mut flow_refs;` [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] error: this loop never actually loops [INFO] [stderr] --> src/content/file_provider.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / for entry in glob(file_pattern.as_str()).expect("Failed to read glob pattern") { [INFO] [stderr] 61 | | // return first file found that matches the pattern, or error if none match [INFO] [stderr] 62 | | match entry { [INFO] [stderr] 63 | | Ok(context_file) => return Ok(context_file), [INFO] [stderr] ... | [INFO] [stderr] 66 | | } [INFO] [stderr] 67 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/compiler/compile.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | / let log_level; [INFO] [stderr] 59 | | if dump { [INFO] [stderr] 60 | | print(&connection_table, "Collapsed Connections"); [INFO] [stderr] 61 | | print(&value_table, "Values"); [INFO] [stderr] ... | [INFO] [stderr] 65 | | log_level = "Warn"; [INFO] [stderr] 66 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let log_level = if dump { ..; "Info" } else { "Warn" };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/compiler/compile.rs:74:34 [INFO] [stderr] | [INFO] [stderr] 74 | fn print(table: &Vec, title: &str) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[E]` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | for ref mut input in inputs { [INFO] [stderr] | ^^^^^^^^^^^^^ ------ help: try: `let input = &mut inputs;` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/compiler/compile.rs:85:30 [INFO] [stderr] | [INFO] [stderr] 85 | fn inputs_table(value_table: &Vec, function_table: &Vec) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Value]` [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/compiler/compile.rs:85:59 [INFO] [stderr] | [INFO] [stderr] 85 | fn inputs_table(value_table: &Vec, function_table: &Vec) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Function]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | for ref mut output in outputs { [INFO] [stderr] | ^^^^^^^^^^^^^^ ------- help: try: `let output = &mut outputs;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:123:13 [INFO] [stderr] | [INFO] [stderr] 123 | for ref mut function_ref in function_refs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ------------- help: try: `let function_ref = &mut function_refs;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:137:13 [INFO] [stderr] | [INFO] [stderr] 137 | for ref mut value in values { [INFO] [stderr] | ^^^^^^^^^^^^^ ------ help: try: `let value = &mut values;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/loader/loader.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | for ref mut flow_ref in flow_refs { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ --------- help: try: `let flow_ref = &mut flow_refs;` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/compiler/compile.rs:136:41 [INFO] [stderr] | [INFO] [stderr] 136 | output_connections.push(inputs_routes.get(&connection.to_route).unwrap().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&inputs_routes[&connection.to_route]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/compiler/compile.rs:156:46 [INFO] [stderr] | [INFO] [stderr] 156 | output_connections.push(*inputs_routes.get(&connection.to_route).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&inputs_routes[&connection.to_route]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [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/compiler/compile.rs:171:41 [INFO] [stderr] | [INFO] [stderr] 171 | fn collapse_connections(complete_table: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Connection]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/compiler/compile.rs:176:17 [INFO] [stderr] | [INFO] [stderr] 176 | for ref right in complete_table { [INFO] [stderr] | ^^^^^^^^^ -------------- help: try: `let right = &complete_table;` [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: useless use of `format!` [INFO] [stderr] --> src/compiler/compile.rs:180:50 [INFO] [stderr] | [INFO] [stderr] 180 | joined_connection.to_route = format!("{}", right.to_route); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `right.to_route.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/model/name.rs:8:24 [INFO] [stderr] | [INFO] [stderr] 8 | return Err(format!("Name cannot have an empty or whitespace name")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Name cannot have an empty or whitespace name".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] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/content/file_provider.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / for entry in glob(file_pattern.as_str()).expect("Failed to read glob pattern") { [INFO] [stderr] 61 | | // return first file found that matches the pattern, or error if none match [INFO] [stderr] 62 | | match entry { [INFO] [stderr] 63 | | Ok(context_file) => return Ok(context_file), [INFO] [stderr] ... | [INFO] [stderr] 66 | | } [INFO] [stderr] 67 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/compiler/compile.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | / let log_level; [INFO] [stderr] 59 | | if dump { [INFO] [stderr] 60 | | print(&connection_table, "Collapsed Connections"); [INFO] [stderr] 61 | | print(&value_table, "Values"); [INFO] [stderr] ... | [INFO] [stderr] 65 | | log_level = "Warn"; [INFO] [stderr] 66 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let log_level = if dump { ..; "Info" } else { "Warn" };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/compiler/compile.rs:74:34 [INFO] [stderr] | [INFO] [stderr] 74 | fn print(table: &Vec, title: &str) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[E]` [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/compiler/compile.rs:85:30 [INFO] [stderr] | [INFO] [stderr] 85 | fn inputs_table(value_table: &Vec, function_table: &Vec) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Value]` [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/compiler/compile.rs:85:59 [INFO] [stderr] | [INFO] [stderr] 85 | fn inputs_table(value_table: &Vec, function_table: &Vec) -> HashMap { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Function]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/compiler/compile.rs:136:41 [INFO] [stderr] | [INFO] [stderr] 136 | output_connections.push(inputs_routes.get(&connection.to_route).unwrap().clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&inputs_routes[&connection.to_route]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/compiler/compile.rs:156:46 [INFO] [stderr] | [INFO] [stderr] 156 | output_connections.push(*inputs_routes.get(&connection.to_route).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&inputs_routes[&connection.to_route]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [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/compiler/compile.rs:171:41 [INFO] [stderr] | [INFO] [stderr] 171 | fn collapse_connections(complete_table: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Connection]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/compiler/compile.rs:176:17 [INFO] [stderr] | [INFO] [stderr] 176 | for ref right in complete_table { [INFO] [stderr] | ^^^^^^^^^ -------------- help: try: `let right = &complete_table;` [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: useless use of `format!` [INFO] [stderr] --> src/compiler/compile.rs:180:50 [INFO] [stderr] | [INFO] [stderr] 180 | joined_connection.to_route = format!("{}", right.to_route); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `right.to_route.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/model/name.rs:8:24 [INFO] [stderr] | [INFO] [stderr] 8 | return Err(format!("Name cannot have an empty or whitespace name")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Name cannot have an empty or whitespace name".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] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/model/datatype.rs:25:23 [INFO] [stderr] | [INFO] [stderr] 25 | let string_type = DataType::from("String".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `DataType::from()`: `"String".to_string()` [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/function.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | / if let &Some(ref elements) = collection { [INFO] [stderr] 102 | | for element in elements { [INFO] [stderr] 103 | | if element.name() == element_name { [INFO] [stderr] 104 | | return Ok((format!("{}", element.route()), format!("{}", element.datatype()))); [INFO] [stderr] ... | [INFO] [stderr] 107 | | return Err(format!("No output with name '{}' was found", element_name)); [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 101 | if let Some(ref elements) = *collection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [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] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/model/datatype.rs:32:23 [INFO] [stderr] | [INFO] [stderr] 32 | let string_type = DataType::from("foo".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `DataType::from()`: `"foo".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/model/function.rs:104:32 [INFO] [stderr] | [INFO] [stderr] 104 | return Ok((format!("{}", element.route()), format!("{}", element.datatype()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.route().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/model/function.rs:104:64 [INFO] [stderr] | [INFO] [stderr] 104 | return Ok((format!("{}", element.route()), format!("{}", element.datatype()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.datatype().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/model/function.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | Err(format!("No outputs found.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No outputs found.".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] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/model/function.rs:112:49 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn get_io(&self, direction: &str, name: &Name) -> Result<(Route, DataType), 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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/function_reference.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / if let &Some(ref elements) = collection { [INFO] [stderr] 61 | | for element in elements { [INFO] [stderr] 62 | | if element.name() == element_name { [INFO] [stderr] 63 | | return Ok((format!("{}", element.route()), [INFO] [stderr] ... | [INFO] [stderr] 68 | | return Err(format!("No element with name '{}' was found", element_name)); [INFO] [stderr] 69 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 60 | if let Some(ref elements) = *collection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/model/function_reference.rs:63:32 [INFO] [stderr] | [INFO] [stderr] 63 | return Ok((format!("{}", element.route()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.route().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/model/function_reference.rs:64:32 [INFO] [stderr] | [INFO] [stderr] 64 | format!("{}", element.datatype()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.datatype().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/model/function_reference.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | Err(format!("No elements found.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No elements found.".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] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/function.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | / if let &Some(ref elements) = collection { [INFO] [stderr] 102 | | for element in elements { [INFO] [stderr] 103 | | if element.name() == element_name { [INFO] [stderr] 104 | | return Ok((format!("{}", element.route()), format!("{}", element.datatype()))); [INFO] [stderr] ... | [INFO] [stderr] 107 | | return Err(format!("No output with name '{}' was found", element_name)); [INFO] [stderr] 108 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 101 | if let Some(ref elements) = *collection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/model/function.rs:104:32 [INFO] [stderr] | [INFO] [stderr] 104 | return Ok((format!("{}", element.route()), format!("{}", element.datatype()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.route().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/model/function.rs:104:64 [INFO] [stderr] | [INFO] [stderr] 104 | return Ok((format!("{}", element.route()), format!("{}", element.datatype()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.datatype().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/model/function.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | Err(format!("No outputs found.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No outputs found.".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] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/model/function.rs:112:49 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn get_io(&self, direction: &str, name: &Name) -> Result<(Route, DataType), 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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/function_reference.rs:60:9 [INFO] [stderr] | [INFO] [stderr] 60 | / if let &Some(ref elements) = collection { [INFO] [stderr] 61 | | for element in elements { [INFO] [stderr] 62 | | if element.name() == element_name { [INFO] [stderr] 63 | | return Ok((format!("{}", element.route()), [INFO] [stderr] ... | [INFO] [stderr] 68 | | return Err(format!("No element with name '{}' was found", element_name)); [INFO] [stderr] 69 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 60 | if let Some(ref elements) = *collection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/model/function_reference.rs:63:32 [INFO] [stderr] | [INFO] [stderr] 63 | return Ok((format!("{}", element.route()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.route().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/model/function_reference.rs:64:32 [INFO] [stderr] | [INFO] [stderr] 64 | format!("{}", element.datatype()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.datatype().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/model/function_reference.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | Err(format!("No elements found.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No elements found.".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] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/flow.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | / if let &mut Some(ref mut ios) = &mut self.inputs { [INFO] [stderr] 173 | | for ref mut io in ios { [INFO] [stderr] 174 | | io.route = format!("{}/{}", self.route, io.name); [INFO] [stderr] 175 | | } [INFO] [stderr] 176 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 172 | if let Some(ref mut ios) = *(&mut self.inputs) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/model/flow.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | for ref mut io in ios { [INFO] [stderr] | ^^^^^^^^^^ --- help: try: `let io = &mut ios;` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/flow.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | / if let &mut Some(ref mut ios) = &mut self.outputs { [INFO] [stderr] 178 | | for ref mut io in ios { [INFO] [stderr] 179 | | io.route = format!("{}/{}", self.route, io.name); [INFO] [stderr] 180 | | } [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 177 | if let Some(ref mut ios) = *(&mut self.outputs) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/model/flow.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | for ref mut io in ios { [INFO] [stderr] | ^^^^^^^^^^ --- help: try: `let io = &mut ios;` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/flow.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | / if let &Some(ref elements) = collection { [INFO] [stderr] 189 | | for element in elements { [INFO] [stderr] 190 | | if element.name() == element_name { [INFO] [stderr] 191 | | return Ok((format!("{}", element.route()), [INFO] [stderr] ... | [INFO] [stderr] 196 | | return Err(format!("No output with name '{}' was found", element_name)); [INFO] [stderr] 197 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 188 | if let Some(ref elements) = *collection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/model/flow.rs:191:32 [INFO] [stderr] | [INFO] [stderr] 191 | return Ok((format!("{}", element.route()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.route().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/model/flow.rs:192:32 [INFO] [stderr] | [INFO] [stderr] 192 | format!("{}", element.datatype()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.datatype().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/model/flow.rs:198:13 [INFO] [stderr] | [INFO] [stderr] 198 | Err(format!("No outputs found.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No outputs found.".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] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/flow.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | / if let &mut Some(ref mut ios) = &mut self.inputs { [INFO] [stderr] 173 | | for ref mut io in ios { [INFO] [stderr] 174 | | io.route = format!("{}/{}", self.route, io.name); [INFO] [stderr] 175 | | } [INFO] [stderr] 176 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 172 | if let Some(ref mut ios) = *(&mut self.inputs) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/model/flow.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | for ref mut io in ios { [INFO] [stderr] | ^^^^^^^^^^ --- help: try: `let io = &mut ios;` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/flow.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | / if let &mut Some(ref mut ios) = &mut self.outputs { [INFO] [stderr] 178 | | for ref mut io in ios { [INFO] [stderr] 179 | | io.route = format!("{}/{}", self.route, io.name); [INFO] [stderr] 180 | | } [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 177 | if let Some(ref mut ios) = *(&mut self.outputs) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/model/flow.rs:178:17 [INFO] [stderr] | [INFO] [stderr] 178 | for ref mut io in ios { [INFO] [stderr] | ^^^^^^^^^^ --- help: try: `let io = &mut ios;` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/model/flow.rs:188:9 [INFO] [stderr] | [INFO] [stderr] 188 | / if let &Some(ref elements) = collection { [INFO] [stderr] 189 | | for element in elements { [INFO] [stderr] 190 | | if element.name() == element_name { [INFO] [stderr] 191 | | return Ok((format!("{}", element.route()), [INFO] [stderr] ... | [INFO] [stderr] 196 | | return Err(format!("No output with name '{}' was found", element_name)); [INFO] [stderr] 197 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 188 | if let Some(ref elements) = *collection { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/model/flow.rs:191:32 [INFO] [stderr] | [INFO] [stderr] 191 | return Ok((format!("{}", element.route()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.route().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/model/flow.rs:192:32 [INFO] [stderr] | [INFO] [stderr] 192 | format!("{}", element.datatype()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `element.datatype().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/model/flow.rs:198:13 [INFO] [stderr] | [INFO] [stderr] 198 | Err(format!("No outputs found.")) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"No outputs found.".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] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `flowclib`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `flowclib`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "3eceea3807a7898c4effb0e9c9c6d980cc8248f2ef4db2e6491175dd5950f20c"` [INFO] running `"docker" "rm" "-f" "3eceea3807a7898c4effb0e9c9c6d980cc8248f2ef4db2e6491175dd5950f20c"` [INFO] [stdout] 3eceea3807a7898c4effb0e9c9c6d980cc8248f2ef4db2e6491175dd5950f20c