[INFO] updating cached repository reiver-dev/cenv [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/reiver-dev/cenv [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/reiver-dev/cenv" "work/ex/clippy-test-run/sources/stable/gh/reiver-dev/cenv"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/reiver-dev/cenv'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/reiver-dev/cenv" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/reiver-dev/cenv"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/reiver-dev/cenv'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 126d2ee4c40aa0e095e7a13602e70664ac0b8910 [INFO] sha for GitHub repo reiver-dev/cenv: 126d2ee4c40aa0e095e7a13602e70664ac0b8910 [INFO] validating manifest of reiver-dev/cenv 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 reiver-dev/cenv 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 reiver-dev/cenv [INFO] finished frobbing reiver-dev/cenv [INFO] frobbed toml for reiver-dev/cenv written to work/ex/clippy-test-run/sources/stable/gh/reiver-dev/cenv/Cargo.toml [INFO] started frobbing reiver-dev/cenv [INFO] finished frobbing reiver-dev/cenv [INFO] frobbed toml for reiver-dev/cenv written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/reiver-dev/cenv/Cargo.toml [INFO] crate reiver-dev/cenv has a lockfile. skipping [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 reiver-dev/cenv 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-4/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/gh/reiver-dev/cenv:/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] c3e9082eb54b5026ea8fc6354c0de576f0186813d407be8cd3ebccf5cae70821 [INFO] running `"docker" "start" "-a" "c3e9082eb54b5026ea8fc6354c0de576f0186813d407be8cd3ebccf5cae70821"` [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking atty v0.2.6 [INFO] [stderr] Checking nix v0.9.0 [INFO] [stderr] Checking clap v2.30.0 [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking tempfile v2.2.0 [INFO] [stderr] Checking os_pipe v0.6.0 [INFO] [stderr] Checking cenv v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | / return Argv { [INFO] [stderr] 240 | | stdin: stdin_arg, [INFO] [stderr] 241 | | stdout: stdout_arg, [INFO] [stderr] 242 | | stderr: stderr_arg, [INFO] [stderr] ... | [INFO] [stderr] 250 | | exitfile: argv.value_of_os("exitfile") [INFO] [stderr] 251 | | }; [INFO] [stderr] | |______^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 239 | Argv { [INFO] [stderr] 240 | stdin: stdin_arg, [INFO] [stderr] 241 | stdout: stdout_arg, [INFO] [stderr] 242 | stderr: stderr_arg, [INFO] [stderr] 243 | command: argv.values_of_os("command").unwrap(), [INFO] [stderr] 244 | workdir: argv.value_of_os("workdir"), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | return exitcode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `exitcode` [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/main.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 239 | / return Argv { [INFO] [stderr] 240 | | stdin: stdin_arg, [INFO] [stderr] 241 | | stdout: stdout_arg, [INFO] [stderr] 242 | | stderr: stderr_arg, [INFO] [stderr] ... | [INFO] [stderr] 250 | | exitfile: argv.value_of_os("exitfile") [INFO] [stderr] 251 | | }; [INFO] [stderr] | |______^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 239 | Argv { [INFO] [stderr] 240 | stdin: stdin_arg, [INFO] [stderr] 241 | stdout: stdout_arg, [INFO] [stderr] 242 | stderr: stderr_arg, [INFO] [stderr] 243 | command: argv.values_of_os("command").unwrap(), [INFO] [stderr] 244 | workdir: argv.value_of_os("workdir"), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | return exitcode; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `exitcode` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/main.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | / fn stream_file_arg<'a>(arg: Option<&'a OsStr>) -> StdStream<'a> { [INFO] [stderr] 31 | | if let Some(s) = arg { [INFO] [stderr] 32 | | if s == OsStr::new("-") { [INFO] [stderr] 33 | | return StdStream::Inherit; [INFO] [stderr] ... | [INFO] [stderr] 37 | | StdStream::Inherit [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/main.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / fn stdin_file_arg<'a>(arg: Option<&'a OsStr>) -> StdIn<'a> { [INFO] [stderr] 42 | | if let Some(s) = arg { [INFO] [stderr] 43 | | if s == OsStr::new("-") { [INFO] [stderr] 44 | | return StdIn::Inherit; [INFO] [stderr] ... | [INFO] [stderr] 48 | | StdIn::Inherit [INFO] [stderr] 49 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:85:23 [INFO] [stderr] | [INFO] [stderr] 85 | let out = match _stdout { [INFO] [stderr] | _______________________^ [INFO] [stderr] 86 | | &StdStream::Null => Stdio::null(), [INFO] [stderr] 87 | | &StdStream::Inherit => Stdio::inherit(), [INFO] [stderr] 88 | | &StdStream::Redirect(path) => { [INFO] [stderr] ... | [INFO] [stderr] 92 | | _ => unreachable!() [INFO] [stderr] 93 | | }; [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] 85 | let out = match *_stdout { [INFO] [stderr] 86 | StdStream::Null => Stdio::null(), [INFO] [stderr] 87 | StdStream::Inherit => Stdio::inherit(), [INFO] [stderr] 88 | StdStream::Redirect(path) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:94:23 [INFO] [stderr] | [INFO] [stderr] 94 | let err = match _stderr { [INFO] [stderr] | _______________________^ [INFO] [stderr] 95 | | &StdStream::Null => Stdio::null(), [INFO] [stderr] 96 | | &StdStream::Inherit => Stdio::inherit(), [INFO] [stderr] 97 | | &StdStream::Redirect(path) => { [INFO] [stderr] ... | [INFO] [stderr] 101 | | _ => unreachable!() [INFO] [stderr] 102 | | }; [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] 94 | let err = match *_stderr { [INFO] [stderr] 95 | StdStream::Null => Stdio::null(), [INFO] [stderr] 96 | StdStream::Inherit => Stdio::inherit(), [INFO] [stderr] 97 | StdStream::Redirect(path) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/main.rs:112:1 [INFO] [stderr] | [INFO] [stderr] 112 | / fn env_to_kv<'a>(arg: &'a OsStr) -> (&'a OsStr, &'a OsStr) { [INFO] [stderr] 113 | | let data = arg.to_str().map(|s| s.as_bytes()).unwrap(); [INFO] [stderr] 114 | | for (i, b) in data.iter().enumerate() { [INFO] [stderr] 115 | | if *b == ('=' as u8) { [INFO] [stderr] ... | [INFO] [stderr] 124 | | (arg, unsafe { std::mem::transmute(&data[data.len() .. data.len()]) }) [INFO] [stderr] 125 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/main.rs:115:18 [INFO] [stderr] | [INFO] [stderr] 115 | if *b == ('=' as u8) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'=' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/main.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | std::mem::transmute(&data[..i]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&data[..i] as *const [u8] as *const std::ffi::OsStr)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/main.rs:119:21 [INFO] [stderr] | [INFO] [stderr] 119 | std::mem::transmute(&data[i + 1..]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&data[i + 1..] as *const [u8] as *const std::ffi::OsStr)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/main.rs:124:20 [INFO] [stderr] | [INFO] [stderr] 124 | (arg, unsafe { std::mem::transmute(&data[data.len() .. data.len()]) }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&data[data.len() .. data.len()] as *const [u8] as *const std::ffi::OsStr)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:290:22 [INFO] [stderr] | [INFO] [stderr] 290 | |path| fs::File::create(path)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `fs::File::create` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/main.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | / fn stream_file_arg<'a>(arg: Option<&'a OsStr>) -> StdStream<'a> { [INFO] [stderr] 31 | | if let Some(s) = arg { [INFO] [stderr] 32 | | if s == OsStr::new("-") { [INFO] [stderr] 33 | | return StdStream::Inherit; [INFO] [stderr] ... | [INFO] [stderr] 37 | | StdStream::Inherit [INFO] [stderr] 38 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/main.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / fn stdin_file_arg<'a>(arg: Option<&'a OsStr>) -> StdIn<'a> { [INFO] [stderr] 42 | | if let Some(s) = arg { [INFO] [stderr] 43 | | if s == OsStr::new("-") { [INFO] [stderr] 44 | | return StdIn::Inherit; [INFO] [stderr] ... | [INFO] [stderr] 48 | | StdIn::Inherit [INFO] [stderr] 49 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:85:23 [INFO] [stderr] | [INFO] [stderr] 85 | let out = match _stdout { [INFO] [stderr] | _______________________^ [INFO] [stderr] 86 | | &StdStream::Null => Stdio::null(), [INFO] [stderr] 87 | | &StdStream::Inherit => Stdio::inherit(), [INFO] [stderr] 88 | | &StdStream::Redirect(path) => { [INFO] [stderr] ... | [INFO] [stderr] 92 | | _ => unreachable!() [INFO] [stderr] 93 | | }; [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] 85 | let out = match *_stdout { [INFO] [stderr] 86 | StdStream::Null => Stdio::null(), [INFO] [stderr] 87 | StdStream::Inherit => Stdio::inherit(), [INFO] [stderr] 88 | StdStream::Redirect(path) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/main.rs:94:23 [INFO] [stderr] | [INFO] [stderr] 94 | let err = match _stderr { [INFO] [stderr] | _______________________^ [INFO] [stderr] 95 | | &StdStream::Null => Stdio::null(), [INFO] [stderr] 96 | | &StdStream::Inherit => Stdio::inherit(), [INFO] [stderr] 97 | | &StdStream::Redirect(path) => { [INFO] [stderr] ... | [INFO] [stderr] 101 | | _ => unreachable!() [INFO] [stderr] 102 | | }; [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] 94 | let err = match *_stderr { [INFO] [stderr] 95 | StdStream::Null => Stdio::null(), [INFO] [stderr] 96 | StdStream::Inherit => Stdio::inherit(), [INFO] [stderr] 97 | StdStream::Redirect(path) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/main.rs:112:1 [INFO] [stderr] | [INFO] [stderr] 112 | / fn env_to_kv<'a>(arg: &'a OsStr) -> (&'a OsStr, &'a OsStr) { [INFO] [stderr] 113 | | let data = arg.to_str().map(|s| s.as_bytes()).unwrap(); [INFO] [stderr] 114 | | for (i, b) in data.iter().enumerate() { [INFO] [stderr] 115 | | if *b == ('=' as u8) { [INFO] [stderr] ... | [INFO] [stderr] 124 | | (arg, unsafe { std::mem::transmute(&data[data.len() .. data.len()]) }) [INFO] [stderr] 125 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/main.rs:115:18 [INFO] [stderr] | [INFO] [stderr] 115 | if *b == ('=' as u8) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'=' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/main.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | std::mem::transmute(&data[..i]), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&data[..i] as *const [u8] as *const std::ffi::OsStr)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::transmute_ptr_to_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/main.rs:119:21 [INFO] [stderr] | [INFO] [stderr] 119 | std::mem::transmute(&data[i + 1..]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&data[i + 1..] as *const [u8] as *const std::ffi::OsStr)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: transmute from a reference to a reference [INFO] [stderr] --> src/main.rs:124:20 [INFO] [stderr] | [INFO] [stderr] 124 | (arg, unsafe { std::mem::transmute(&data[data.len() .. data.len()]) }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&*(&data[data.len() .. data.len()] as *const [u8] as *const std::ffi::OsStr)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#transmute_ptr_to_ptr [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:290:22 [INFO] [stderr] | [INFO] [stderr] 290 | |path| fs::File::create(path)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `fs::File::create` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.12s [INFO] running `"docker" "inspect" "c3e9082eb54b5026ea8fc6354c0de576f0186813d407be8cd3ebccf5cae70821"` [INFO] running `"docker" "rm" "-f" "c3e9082eb54b5026ea8fc6354c0de576f0186813d407be8cd3ebccf5cae70821"` [INFO] [stdout] c3e9082eb54b5026ea8fc6354c0de576f0186813d407be8cd3ebccf5cae70821