[INFO] crate subprocess-communicate 0.2.2 is already in cache [INFO] extracting crate subprocess-communicate 0.2.2 into work/ex/clippy-test-run/sources/stable/reg/subprocess-communicate/0.2.2 [INFO] extracting crate subprocess-communicate 0.2.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/subprocess-communicate/0.2.2 [INFO] validating manifest of subprocess-communicate-0.2.2 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 subprocess-communicate-0.2.2 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 subprocess-communicate-0.2.2 [INFO] finished frobbing subprocess-communicate-0.2.2 [INFO] frobbed toml for subprocess-communicate-0.2.2 written to work/ex/clippy-test-run/sources/stable/reg/subprocess-communicate/0.2.2/Cargo.toml [INFO] started frobbing subprocess-communicate-0.2.2 [INFO] finished frobbing subprocess-communicate-0.2.2 [INFO] frobbed toml for subprocess-communicate-0.2.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/subprocess-communicate/0.2.2/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 subprocess-communicate-0.2.2 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/subprocess-communicate/0.2.2:/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] 122e5cb6d26ed5831a587c35e996312c11d3401eb8de68b327fcf2d0a7c38419 [INFO] running `"docker" "start" "-a" "122e5cb6d26ed5831a587c35e996312c11d3401eb8de68b327fcf2d0a7c38419"` [INFO] [stderr] Checking subprocess-communicate v0.2.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | stdin: stdin, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `stdin` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | stdout: stdout, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stdout` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | stderr: stderr, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stderr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | stdout_bound : stdout_bound, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stdout_bound` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | stderr_bound : stderr_bound, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stderr_bound` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | return_on_stdout_fill : return_on_stdout_fill, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `return_on_stdout_fill` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | stdin: stdin, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `stdin` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | stdout: stdout, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stdout` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | stderr: stderr, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stderr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | stdout_bound : stdout_bound, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stdout_bound` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | stderr_bound : stderr_bound, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stderr_bound` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/unix.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | return_on_stdout_fill : return_on_stdout_fill, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `return_on_stdout_fill` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/unix.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/unix.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/unix.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/unix.rs:369:5 [INFO] [stderr] | [INFO] [stderr] 369 | return (ret_stdout, ret_stderr, Ok(())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(ret_stdout, ret_stderr, Ok(()))` [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: use of deprecated item 'mio::deprecated::TryRead': update to use `Poll` [INFO] [stderr] --> src/unix.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | use mio::deprecated::{TryRead, TryWrite}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryWrite': update to use `Poll` [INFO] [stderr] --> src/unix.rs:10:32 [INFO] [stderr] | [INFO] [stderr] 10 | use mio::deprecated::{TryRead, TryWrite}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | use mio::deprecated::{PipeReader, PipeWriter}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:11:35 [INFO] [stderr] | [INFO] [stderr] 11 | use mio::deprecated::{PipeReader, PipeWriter}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | stdin: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | stdout: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:19:20 [INFO] [stderr] | [INFO] [stderr] 19 | stderr: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:262:80 [INFO] [stderr] | [INFO] [stderr] 262 | pub fn from_stdin(mut stdin: Option) -> io::Result > { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | Ok(Some(PipeWriter::from_stdin(stdin.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:270:83 [INFO] [stderr] | [INFO] [stderr] 270 | pub fn from_stdout(mut stdout: Option) -> io::Result > { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | Ok(Some(PipeReader::from_stdout(stdout.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:279:83 [INFO] [stderr] | [INFO] [stderr] 279 | pub fn from_stderr(mut stderr: Option) -> io::Result > { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:284:13 [INFO] [stderr] | [INFO] [stderr] 284 | Ok(Some(PipeReader::from_stderr(stderr.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:303:24 [INFO] [stderr] | [INFO] [stderr] 303 | let stdin : Option; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:309:25 [INFO] [stderr] | [INFO] [stderr] 309 | let stdout : Option; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:315:25 [INFO] [stderr] | [INFO] [stderr] 315 | let stderr : Option; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:37:26 [INFO] [stderr] | [INFO] [stderr] 37 | fn new(stdin: Option, stdout : Option, stderr : Option, data : &[u8], [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:37:55 [INFO] [stderr] | [INFO] [stderr] 37 | fn new(stdin: Option, stdout : Option, stderr : Option, data : &[u8], [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:37:84 [INFO] [stderr] | [INFO] [stderr] 37 | fn new(stdin: Option, stdout : Option, stderr : Option, data : &[u8], [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryRead::try_read': update to use `Poll` [INFO] [stderr] --> src/unix.rs:71:51 [INFO] [stderr] | [INFO] [stderr] 71 | Some (ref mut stdout) => match stdout.try_read(&mut self.buf[..buf_bound]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryRead::try_read': update to use `Poll` [INFO] [stderr] --> src/unix.rs:142:50 [INFO] [stderr] | [INFO] [stderr] 142 | Some(ref mut stderr) => match stderr.try_read(&mut self.buf[..buf_bound]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryWrite::try_write': update to use `Poll` [INFO] [stderr] --> src/unix.rs:210:48 [INFO] [stderr] | [INFO] [stderr] 210 | Some(ref mut stdin) => match stdin.try_write(&(&self.input)[self.input_offset..]) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter::from_stdin': update to use `Poll` [INFO] [stderr] --> src/unix.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | Ok(Some(PipeWriter::from_stdin(stdin.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader::from_stdout': update to use `Poll` [INFO] [stderr] --> src/unix.rs:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | Ok(Some(PipeReader::from_stdout(stdout.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader::from_stderr': update to use `Poll` [INFO] [stderr] --> src/unix.rs:284:13 [INFO] [stderr] | [INFO] [stderr] 284 | Ok(Some(PipeReader::from_stderr(stderr.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::Event::kind': use Event::readiness() [INFO] [stderr] --> src/unix.rs:362:62 [INFO] [stderr] | [INFO] [stderr] 362 | subprocess.ready(&mut poll, event.token(), event.kind()) [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/unix.rs:65:64 [INFO] [stderr] | [INFO] [stderr] 65 | let mut buf_bound : usize = cmp::min(self.stdout_bound.unwrap_or(self.buf.len()), self.buf.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.buf.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/unix.rs:81:36 [INFO] [stderr] | [INFO] [stderr] 81 | *bound = *bound - r; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `*bound -= r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:87:39 [INFO] [stderr] | [INFO] [stderr] 87 | / match self.stderr { [INFO] [stderr] 88 | | Some(ref sub_stderr) => [INFO] [stderr] 89 | | match poll.deregister(sub_stderr){ [INFO] [stderr] 90 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 93 | | _ => {}, [INFO] [stderr] 94 | | } [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 87 | if let Some(ref sub_stderr) = self.stderr { match poll.deregister(sub_stderr){ [INFO] [stderr] 88 | Err(e) => return Err(e), [INFO] [stderr] 89 | _ => {}, [INFO] [stderr] 90 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:89:47 [INFO] [stderr] | [INFO] [stderr] 89 | / match poll.deregister(sub_stderr){ [INFO] [stderr] 90 | | Err(e) => return Err(e), [INFO] [stderr] 91 | | _ => {}, [INFO] [stderr] 92 | | }, [INFO] [stderr] | |___________________________________________^ help: try this: `if let Err(e) = poll.deregister(sub_stderr) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | / match self.stdout { [INFO] [stderr] 114 | | Some(ref sub_stdout) => [INFO] [stderr] 115 | | match poll.deregister(sub_stdout) { [INFO] [stderr] 116 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 119 | | _ => {}, [INFO] [stderr] 120 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 113 | if let Some(ref sub_stdout) = self.stdout { match poll.deregister(sub_stdout) { [INFO] [stderr] 114 | Err(e) => return Err(e), [INFO] [stderr] 115 | _ => {}, [INFO] [stderr] 116 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:115:20 [INFO] [stderr] | [INFO] [stderr] 115 | / match poll.deregister(sub_stdout) { [INFO] [stderr] 116 | | Err(e) => return Err(e), [INFO] [stderr] 117 | | _ => {}, [INFO] [stderr] 118 | | }, [INFO] [stderr] | |____________________^ help: try this: `if let Err(e) = poll.deregister(sub_stdout) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/unix.rs:136:64 [INFO] [stderr] | [INFO] [stderr] 136 | let mut buf_bound : usize = cmp::min(self.stderr_bound.unwrap_or(self.buf.len()), self.buf.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.buf.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/unix.rs:154:35 [INFO] [stderr] | [INFO] [stderr] 154 | *bound = *bound - r; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `*bound -= r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:160:39 [INFO] [stderr] | [INFO] [stderr] 160 | / match self.stdout { [INFO] [stderr] 161 | | Some(ref sub_stdout) => [INFO] [stderr] 162 | | match poll.deregister(sub_stdout){ [INFO] [stderr] 163 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 166 | | _ => {}, [INFO] [stderr] 167 | | } [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 160 | if let Some(ref sub_stdout) = self.stdout { match poll.deregister(sub_stdout){ [INFO] [stderr] 161 | Err(e) => return Err(e), [INFO] [stderr] 162 | _ => {}, [INFO] [stderr] 163 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:162:47 [INFO] [stderr] | [INFO] [stderr] 162 | / match poll.deregister(sub_stdout){ [INFO] [stderr] 163 | | Err(e) => return Err(e), [INFO] [stderr] 164 | | _ => {}, [INFO] [stderr] 165 | | }, [INFO] [stderr] | |_______________________________________________^ help: try this: `if let Err(e) = poll.deregister(sub_stdout) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | / match self.stderr { [INFO] [stderr] 186 | | Some(ref sub_stderr) => [INFO] [stderr] 187 | | match poll.deregister(sub_stderr){ [INFO] [stderr] 188 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 191 | | _ => {}, [INFO] [stderr] 192 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 185 | if let Some(ref sub_stderr) = self.stderr { match poll.deregister(sub_stderr){ [INFO] [stderr] 186 | Err(e) => return Err(e), [INFO] [stderr] 187 | _ => {}, [INFO] [stderr] 188 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:187:20 [INFO] [stderr] | [INFO] [stderr] 187 | / match poll.deregister(sub_stderr){ [INFO] [stderr] 188 | | Err(e) => return Err(e), [INFO] [stderr] 189 | | _ => {}, [INFO] [stderr] 190 | | }, [INFO] [stderr] | |____________________^ help: try this: `if let Err(e) = poll.deregister(sub_stderr) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | / match self.stdin { [INFO] [stderr] 227 | | Some(ref sub_stdin) => [INFO] [stderr] 228 | | match poll.deregister(sub_stdin) { [INFO] [stderr] 229 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 232 | | _ => {}, [INFO] [stderr] 233 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 226 | if let Some(ref sub_stdin) = self.stdin { match poll.deregister(sub_stdin) { [INFO] [stderr] 227 | Err(e) => return Err(e), [INFO] [stderr] 228 | _ => {}, [INFO] [stderr] 229 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:228:21 [INFO] [stderr] | [INFO] [stderr] 228 | / match poll.deregister(sub_stdin) { [INFO] [stderr] 229 | | Err(e) => return Err(e), [INFO] [stderr] 230 | | _ => {}, [INFO] [stderr] 231 | | }, [INFO] [stderr] | |_____________________^ help: try this: `if let Err(e) = poll.deregister(sub_stdin) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:330:5 [INFO] [stderr] | [INFO] [stderr] 330 | / match subprocess.stdout { [INFO] [stderr] 331 | | Some(ref sub_stdout) => [INFO] [stderr] 332 | | match poll.register(sub_stdout, subprocess.stdout_token, Ready::readable(), [INFO] [stderr] 333 | | PollOpt::level()) { [INFO] [stderr] ... | [INFO] [stderr] 337 | | None => {}, [INFO] [stderr] 338 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 330 | if let Some(ref sub_stdout) = subprocess.stdout { match poll.register(sub_stdout, subprocess.stdout_token, Ready::readable(), [INFO] [stderr] 331 | PollOpt::level()) { [INFO] [stderr] 332 | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 333 | Ok(_) =>{}, [INFO] [stderr] 334 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:332:11 [INFO] [stderr] | [INFO] [stderr] 332 | / match poll.register(sub_stdout, subprocess.stdout_token, Ready::readable(), [INFO] [stderr] 333 | | PollOpt::level()) { [INFO] [stderr] 334 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 335 | | Ok(_) =>{}, [INFO] [stderr] 336 | | }, [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 332 | if let Err(e) = poll.register(sub_stdout, subprocess.stdout_token, Ready::readable(), [INFO] [stderr] 333 | PollOpt::level()) { return (Vec::::new(), Vec::::new(), Err(e)) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | / match subprocess.stderr { [INFO] [stderr] 341 | | Some(ref sub_stderr) => match poll.register(sub_stderr, subprocess.stderr_token, Ready::readable(), [INFO] [stderr] 342 | | PollOpt::level()) { [INFO] [stderr] 343 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] ... | [INFO] [stderr] 346 | | None => {}, [INFO] [stderr] 347 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 340 | if let Some(ref sub_stderr) = subprocess.stderr { match poll.register(sub_stderr, subprocess.stderr_token, Ready::readable(), [INFO] [stderr] 341 | PollOpt::level()) { [INFO] [stderr] 342 | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 343 | Ok(_) => {}, [INFO] [stderr] 344 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:341:33 [INFO] [stderr] | [INFO] [stderr] 341 | Some(ref sub_stderr) => match poll.register(sub_stderr, subprocess.stderr_token, Ready::readable(), [INFO] [stderr] | _________________________________^ [INFO] [stderr] 342 | | PollOpt::level()) { [INFO] [stderr] 343 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 344 | | Ok(_) => {}, [INFO] [stderr] 345 | | }, [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 341 | Some(ref sub_stderr) => if let Err(e) = poll.register(sub_stderr, subprocess.stderr_token, Ready::readable(), [INFO] [stderr] 342 | PollOpt::level()) { return (Vec::::new(), Vec::::new(), Err(e)) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:350:5 [INFO] [stderr] | [INFO] [stderr] 350 | / match subprocess.stdin { [INFO] [stderr] 351 | | Some (ref sub_stdin) => match poll.register(sub_stdin, subprocess.stdin_token, Ready::writable(), [INFO] [stderr] 352 | | PollOpt::level()) { [INFO] [stderr] 353 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] ... | [INFO] [stderr] 356 | | None => {}, [INFO] [stderr] 357 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 350 | if let Some (ref sub_stdin) = subprocess.stdin { match poll.register(sub_stdin, subprocess.stdin_token, Ready::writable(), [INFO] [stderr] 351 | PollOpt::level()) { [INFO] [stderr] 352 | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 353 | Ok(_) => {}, [INFO] [stderr] 354 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:351:33 [INFO] [stderr] | [INFO] [stderr] 351 | Some (ref sub_stdin) => match poll.register(sub_stdin, subprocess.stdin_token, Ready::writable(), [INFO] [stderr] | _________________________________^ [INFO] [stderr] 352 | | PollOpt::level()) { [INFO] [stderr] 353 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 354 | | Ok(_) => {}, [INFO] [stderr] 355 | | }, [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 351 | Some (ref sub_stdin) => if let Err(e) = poll.register(sub_stdin, subprocess.stdin_token, Ready::writable(), [INFO] [stderr] 352 | PollOpt::level()) { return (Vec::::new(), Vec::::new(), Err(e)) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/unix.rs:127:9 [INFO] [stderr] | [INFO] [stderr] 127 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/unix.rs:199:9 [INFO] [stderr] | [INFO] [stderr] 199 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/unix.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | return Ok(()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [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/unix.rs:369:5 [INFO] [stderr] | [INFO] [stderr] 369 | return (ret_stdout, ret_stderr, Ok(())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(ret_stdout, ret_stderr, Ok(()))` [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: long literal lacking separators [INFO] [stderr] --> src/unix.rs:424:26 [INFO] [stderr] | [INFO] [stderr] 424 | let bound : usize = 130000; [INFO] [stderr] | ^^^^^^ help: consider: `130_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/unix.rs:450:26 [INFO] [stderr] | [INFO] [stderr] 450 | let bound : usize = 130000; [INFO] [stderr] | ^^^^^^ help: consider: `130_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/unix.rs:476:26 [INFO] [stderr] | [INFO] [stderr] 476 | let bound : usize = 130000; [INFO] [stderr] | ^^^^^^ help: consider: `130_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryRead': update to use `Poll` [INFO] [stderr] --> src/unix.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | use mio::deprecated::{TryRead, TryWrite}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryWrite': update to use `Poll` [INFO] [stderr] --> src/unix.rs:10:32 [INFO] [stderr] | [INFO] [stderr] 10 | use mio::deprecated::{TryRead, TryWrite}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | use mio::deprecated::{PipeReader, PipeWriter}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:11:35 [INFO] [stderr] | [INFO] [stderr] 11 | use mio::deprecated::{PipeReader, PipeWriter}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | stdin: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | stdout: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:19:20 [INFO] [stderr] | [INFO] [stderr] 19 | stderr: Option, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:262:80 [INFO] [stderr] | [INFO] [stderr] 262 | pub fn from_stdin(mut stdin: Option) -> io::Result > { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | Ok(Some(PipeWriter::from_stdin(stdin.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:270:83 [INFO] [stderr] | [INFO] [stderr] 270 | pub fn from_stdout(mut stdout: Option) -> io::Result > { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | Ok(Some(PipeReader::from_stdout(stdout.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:279:83 [INFO] [stderr] | [INFO] [stderr] 279 | pub fn from_stderr(mut stderr: Option) -> io::Result > { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:284:13 [INFO] [stderr] | [INFO] [stderr] 284 | Ok(Some(PipeReader::from_stderr(stderr.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:303:24 [INFO] [stderr] | [INFO] [stderr] 303 | let stdin : Option; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:309:25 [INFO] [stderr] | [INFO] [stderr] 309 | let stdout : Option; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:315:25 [INFO] [stderr] | [INFO] [stderr] 315 | let stderr : Option; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter': update to use `Poll` [INFO] [stderr] --> src/unix.rs:37:26 [INFO] [stderr] | [INFO] [stderr] 37 | fn new(stdin: Option, stdout : Option, stderr : Option, data : &[u8], [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:37:55 [INFO] [stderr] | [INFO] [stderr] 37 | fn new(stdin: Option, stdout : Option, stderr : Option, data : &[u8], [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader': update to use `Poll` [INFO] [stderr] --> src/unix.rs:37:84 [INFO] [stderr] | [INFO] [stderr] 37 | fn new(stdin: Option, stdout : Option, stderr : Option, data : &[u8], [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryRead::try_read': update to use `Poll` [INFO] [stderr] --> src/unix.rs:71:51 [INFO] [stderr] | [INFO] [stderr] 71 | Some (ref mut stdout) => match stdout.try_read(&mut self.buf[..buf_bound]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryRead::try_read': update to use `Poll` [INFO] [stderr] --> src/unix.rs:142:50 [INFO] [stderr] | [INFO] [stderr] 142 | Some(ref mut stderr) => match stderr.try_read(&mut self.buf[..buf_bound]) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::TryWrite::try_write': update to use `Poll` [INFO] [stderr] --> src/unix.rs:210:48 [INFO] [stderr] | [INFO] [stderr] 210 | Some(ref mut stdin) => match stdin.try_write(&(&self.input)[self.input_offset..]) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeWriter::from_stdin': update to use `Poll` [INFO] [stderr] --> src/unix.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | Ok(Some(PipeWriter::from_stdin(stdin.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader::from_stdout': update to use `Poll` [INFO] [stderr] --> src/unix.rs:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | Ok(Some(PipeReader::from_stdout(stdout.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::deprecated::PipeReader::from_stderr': update to use `Poll` [INFO] [stderr] --> src/unix.rs:284:13 [INFO] [stderr] | [INFO] [stderr] 284 | Ok(Some(PipeReader::from_stderr(stderr.take().unwrap()).unwrap())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'mio::Event::kind': use Event::readiness() [INFO] [stderr] --> src/unix.rs:362:62 [INFO] [stderr] | [INFO] [stderr] 362 | subprocess.ready(&mut poll, event.token(), event.kind()) [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/unix.rs:65:64 [INFO] [stderr] | [INFO] [stderr] 65 | let mut buf_bound : usize = cmp::min(self.stdout_bound.unwrap_or(self.buf.len()), self.buf.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.buf.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/unix.rs:81:36 [INFO] [stderr] | [INFO] [stderr] 81 | *bound = *bound - r; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `*bound -= r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:87:39 [INFO] [stderr] | [INFO] [stderr] 87 | / match self.stderr { [INFO] [stderr] 88 | | Some(ref sub_stderr) => [INFO] [stderr] 89 | | match poll.deregister(sub_stderr){ [INFO] [stderr] 90 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 93 | | _ => {}, [INFO] [stderr] 94 | | } [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 87 | if let Some(ref sub_stderr) = self.stderr { match poll.deregister(sub_stderr){ [INFO] [stderr] 88 | Err(e) => return Err(e), [INFO] [stderr] 89 | _ => {}, [INFO] [stderr] 90 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:89:47 [INFO] [stderr] | [INFO] [stderr] 89 | / match poll.deregister(sub_stderr){ [INFO] [stderr] 90 | | Err(e) => return Err(e), [INFO] [stderr] 91 | | _ => {}, [INFO] [stderr] 92 | | }, [INFO] [stderr] | |___________________________________________^ help: try this: `if let Err(e) = poll.deregister(sub_stderr) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | / match self.stdout { [INFO] [stderr] 114 | | Some(ref sub_stdout) => [INFO] [stderr] 115 | | match poll.deregister(sub_stdout) { [INFO] [stderr] 116 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 119 | | _ => {}, [INFO] [stderr] 120 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 113 | if let Some(ref sub_stdout) = self.stdout { match poll.deregister(sub_stdout) { [INFO] [stderr] 114 | Err(e) => return Err(e), [INFO] [stderr] 115 | _ => {}, [INFO] [stderr] 116 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:115:20 [INFO] [stderr] | [INFO] [stderr] 115 | / match poll.deregister(sub_stdout) { [INFO] [stderr] 116 | | Err(e) => return Err(e), [INFO] [stderr] 117 | | _ => {}, [INFO] [stderr] 118 | | }, [INFO] [stderr] | |____________________^ help: try this: `if let Err(e) = poll.deregister(sub_stdout) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/unix.rs:136:64 [INFO] [stderr] | [INFO] [stderr] 136 | let mut buf_bound : usize = cmp::min(self.stderr_bound.unwrap_or(self.buf.len()), self.buf.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| self.buf.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/unix.rs:154:35 [INFO] [stderr] | [INFO] [stderr] 154 | *bound = *bound - r; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `*bound -= r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:160:39 [INFO] [stderr] | [INFO] [stderr] 160 | / match self.stdout { [INFO] [stderr] 161 | | Some(ref sub_stdout) => [INFO] [stderr] 162 | | match poll.deregister(sub_stdout){ [INFO] [stderr] 163 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 166 | | _ => {}, [INFO] [stderr] 167 | | } [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 160 | if let Some(ref sub_stdout) = self.stdout { match poll.deregister(sub_stdout){ [INFO] [stderr] 161 | Err(e) => return Err(e), [INFO] [stderr] 162 | _ => {}, [INFO] [stderr] 163 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:162:47 [INFO] [stderr] | [INFO] [stderr] 162 | / match poll.deregister(sub_stdout){ [INFO] [stderr] 163 | | Err(e) => return Err(e), [INFO] [stderr] 164 | | _ => {}, [INFO] [stderr] 165 | | }, [INFO] [stderr] | |_______________________________________________^ help: try this: `if let Err(e) = poll.deregister(sub_stdout) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | / match self.stderr { [INFO] [stderr] 186 | | Some(ref sub_stderr) => [INFO] [stderr] 187 | | match poll.deregister(sub_stderr){ [INFO] [stderr] 188 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 191 | | _ => {}, [INFO] [stderr] 192 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 185 | if let Some(ref sub_stderr) = self.stderr { match poll.deregister(sub_stderr){ [INFO] [stderr] 186 | Err(e) => return Err(e), [INFO] [stderr] 187 | _ => {}, [INFO] [stderr] 188 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:187:20 [INFO] [stderr] | [INFO] [stderr] 187 | / match poll.deregister(sub_stderr){ [INFO] [stderr] 188 | | Err(e) => return Err(e), [INFO] [stderr] 189 | | _ => {}, [INFO] [stderr] 190 | | }, [INFO] [stderr] | |____________________^ help: try this: `if let Err(e) = poll.deregister(sub_stderr) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | / match self.stdin { [INFO] [stderr] 227 | | Some(ref sub_stdin) => [INFO] [stderr] 228 | | match poll.deregister(sub_stdin) { [INFO] [stderr] 229 | | Err(e) => return Err(e), [INFO] [stderr] ... | [INFO] [stderr] 232 | | _ => {}, [INFO] [stderr] 233 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 226 | if let Some(ref sub_stdin) = self.stdin { match poll.deregister(sub_stdin) { [INFO] [stderr] 227 | Err(e) => return Err(e), [INFO] [stderr] 228 | _ => {}, [INFO] [stderr] 229 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:228:21 [INFO] [stderr] | [INFO] [stderr] 228 | / match poll.deregister(sub_stdin) { [INFO] [stderr] 229 | | Err(e) => return Err(e), [INFO] [stderr] 230 | | _ => {}, [INFO] [stderr] 231 | | }, [INFO] [stderr] | |_____________________^ help: try this: `if let Err(e) = poll.deregister(sub_stdin) { return Err(e) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:330:5 [INFO] [stderr] | [INFO] [stderr] 330 | / match subprocess.stdout { [INFO] [stderr] 331 | | Some(ref sub_stdout) => [INFO] [stderr] 332 | | match poll.register(sub_stdout, subprocess.stdout_token, Ready::readable(), [INFO] [stderr] 333 | | PollOpt::level()) { [INFO] [stderr] ... | [INFO] [stderr] 337 | | None => {}, [INFO] [stderr] 338 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 330 | if let Some(ref sub_stdout) = subprocess.stdout { match poll.register(sub_stdout, subprocess.stdout_token, Ready::readable(), [INFO] [stderr] 331 | PollOpt::level()) { [INFO] [stderr] 332 | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 333 | Ok(_) =>{}, [INFO] [stderr] 334 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:332:11 [INFO] [stderr] | [INFO] [stderr] 332 | / match poll.register(sub_stdout, subprocess.stdout_token, Ready::readable(), [INFO] [stderr] 333 | | PollOpt::level()) { [INFO] [stderr] 334 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 335 | | Ok(_) =>{}, [INFO] [stderr] 336 | | }, [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 332 | if let Err(e) = poll.register(sub_stdout, subprocess.stdout_token, Ready::readable(), [INFO] [stderr] 333 | PollOpt::level()) { return (Vec::::new(), Vec::::new(), Err(e)) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:340:5 [INFO] [stderr] | [INFO] [stderr] 340 | / match subprocess.stderr { [INFO] [stderr] 341 | | Some(ref sub_stderr) => match poll.register(sub_stderr, subprocess.stderr_token, Ready::readable(), [INFO] [stderr] 342 | | PollOpt::level()) { [INFO] [stderr] 343 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] ... | [INFO] [stderr] 346 | | None => {}, [INFO] [stderr] 347 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 340 | if let Some(ref sub_stderr) = subprocess.stderr { match poll.register(sub_stderr, subprocess.stderr_token, Ready::readable(), [INFO] [stderr] 341 | PollOpt::level()) { [INFO] [stderr] 342 | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 343 | Ok(_) => {}, [INFO] [stderr] 344 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:341:33 [INFO] [stderr] | [INFO] [stderr] 341 | Some(ref sub_stderr) => match poll.register(sub_stderr, subprocess.stderr_token, Ready::readable(), [INFO] [stderr] | _________________________________^ [INFO] [stderr] 342 | | PollOpt::level()) { [INFO] [stderr] 343 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 344 | | Ok(_) => {}, [INFO] [stderr] 345 | | }, [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 341 | Some(ref sub_stderr) => if let Err(e) = poll.register(sub_stderr, subprocess.stderr_token, Ready::readable(), [INFO] [stderr] 342 | PollOpt::level()) { return (Vec::::new(), Vec::::new(), Err(e)) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:350:5 [INFO] [stderr] | [INFO] [stderr] 350 | / match subprocess.stdin { [INFO] [stderr] 351 | | Some (ref sub_stdin) => match poll.register(sub_stdin, subprocess.stdin_token, Ready::writable(), [INFO] [stderr] 352 | | PollOpt::level()) { [INFO] [stderr] 353 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] ... | [INFO] [stderr] 356 | | None => {}, [INFO] [stderr] 357 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 350 | if let Some (ref sub_stdin) = subprocess.stdin { match poll.register(sub_stdin, subprocess.stdin_token, Ready::writable(), [INFO] [stderr] 351 | PollOpt::level()) { [INFO] [stderr] 352 | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 353 | Ok(_) => {}, [INFO] [stderr] 354 | } } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/unix.rs:351:33 [INFO] [stderr] | [INFO] [stderr] 351 | Some (ref sub_stdin) => match poll.register(sub_stdin, subprocess.stdin_token, Ready::writable(), [INFO] [stderr] | _________________________________^ [INFO] [stderr] 352 | | PollOpt::level()) { [INFO] [stderr] 353 | | Err(e) => return (Vec::::new(), Vec::::new(), Err(e)), [INFO] [stderr] 354 | | Ok(_) => {}, [INFO] [stderr] 355 | | }, [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 351 | Some (ref sub_stdin) => if let Err(e) = poll.register(sub_stdin, subprocess.stdin_token, Ready::writable(), [INFO] [stderr] 352 | PollOpt::level()) { return (Vec::::new(), Vec::::new(), Err(e)) }, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in TEST_DATA.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/unix.rs:389:18 [INFO] [stderr] | [INFO] [stderr] 389 | for item in TEST_DATA.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in TEST_DATA[0..TEST_DATA.len() - 1].iter().enumerate()` or similar iterators [INFO] [stderr] --> src/unix.rs:410:18 [INFO] [stderr] | [INFO] [stderr] 410 | for item in TEST_DATA[0..TEST_DATA.len() - 1].iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `i` is used as a loop counter. Consider using `for (i, item) in ret_stdout.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/unix.rs:430:18 [INFO] [stderr] | [INFO] [stderr] 430 | for item in ret_stdout.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/unix.rs:431:10 [INFO] [stderr] | [INFO] [stderr] 431 | / let val : u8; [INFO] [stderr] 432 | | if (i & 1) == 1 { [INFO] [stderr] 433 | | val = '\n' as u8; [INFO] [stderr] 434 | | } else { [INFO] [stderr] 435 | | val = 'y' as u8; [INFO] [stderr] 436 | | } [INFO] [stderr] | |__________^ help: it is more idiomatic to write: `let val = if (i & 1) == 1 { '\n' as u8 } else { 'y' as u8 };` [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/unix.rs:433:20 [INFO] [stderr] | [INFO] [stderr] 433 | val = '\n' 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'\n' [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/unix.rs:435:20 [INFO] [stderr] | [INFO] [stderr] 435 | val = 'y' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'y' [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: the variable `i` is used as a loop counter. Consider using `for (i, item) in ret_stdout.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/unix.rs:456:18 [INFO] [stderr] | [INFO] [stderr] 456 | for item in ret_stdout.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/unix.rs:457:10 [INFO] [stderr] | [INFO] [stderr] 457 | / let val : u8; [INFO] [stderr] 458 | | if (i & 1) == 1 { [INFO] [stderr] 459 | | val = '\n' as u8; [INFO] [stderr] 460 | | } else { [INFO] [stderr] 461 | | val = 'y' as u8; [INFO] [stderr] 462 | | } [INFO] [stderr] | |__________^ help: it is more idiomatic to write: `let val = if (i & 1) == 1 { '\n' as u8 } else { 'y' as u8 };` [INFO] [stderr] | [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/unix.rs:459:20 [INFO] [stderr] | [INFO] [stderr] 459 | val = '\n' as u8; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/unix.rs:461:20 [INFO] [stderr] | [INFO] [stderr] 461 | val = 'y' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'y' [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: the variable `i` is used as a loop counter. Consider using `for (i, item) in ret_stdout.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/unix.rs:482:18 [INFO] [stderr] | [INFO] [stderr] 482 | for item in ret_stdout.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/unix.rs:483:10 [INFO] [stderr] | [INFO] [stderr] 483 | / let val : u8; [INFO] [stderr] 484 | | if (i & 1) == 1 { [INFO] [stderr] 485 | | val = '\n' as u8; [INFO] [stderr] 486 | | } else { [INFO] [stderr] 487 | | val = 'y' as u8; [INFO] [stderr] 488 | | } [INFO] [stderr] | |__________^ help: it is more idiomatic to write: `let val = if (i & 1) == 1 { '\n' as u8 } else { 'y' as u8 };` [INFO] [stderr] | [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/unix.rs:485:20 [INFO] [stderr] | [INFO] [stderr] 485 | val = '\n' as u8; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'\n' [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/unix.rs:487:20 [INFO] [stderr] | [INFO] [stderr] 487 | val = 'y' as u8; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'y' [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] Finished dev [unoptimized + debuginfo] target(s) in 1.47s [INFO] running `"docker" "inspect" "122e5cb6d26ed5831a587c35e996312c11d3401eb8de68b327fcf2d0a7c38419"` [INFO] running `"docker" "rm" "-f" "122e5cb6d26ed5831a587c35e996312c11d3401eb8de68b327fcf2d0a7c38419"` [INFO] [stdout] 122e5cb6d26ed5831a587c35e996312c11d3401eb8de68b327fcf2d0a7c38419