[INFO] updating cached repository tailhook/lithos [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/tailhook/lithos [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/tailhook/lithos" "work/ex/clippy-test-run/sources/stable/gh/tailhook/lithos"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/tailhook/lithos'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/tailhook/lithos" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tailhook/lithos"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tailhook/lithos'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 03c1989a9e1b4832232990bb7a131b2163f33f5d [INFO] sha for GitHub repo tailhook/lithos: 03c1989a9e1b4832232990bb7a131b2163f33f5d [INFO] validating manifest of tailhook/lithos 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 tailhook/lithos 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 tailhook/lithos [INFO] finished frobbing tailhook/lithos [INFO] frobbed toml for tailhook/lithos written to work/ex/clippy-test-run/sources/stable/gh/tailhook/lithos/Cargo.toml [INFO] started frobbing tailhook/lithos [INFO] finished frobbing tailhook/lithos [INFO] frobbed toml for tailhook/lithos written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/tailhook/lithos/Cargo.toml [INFO] crate tailhook/lithos has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting tailhook/lithos against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/tailhook/lithos:/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] b3ea82d76dfd10461f1f6b4875178ab0383b1abde011df9825c7263be876f1d8 [INFO] running `"docker" "start" "-a" "b3ea82d76dfd10461f1f6b4875178ab0383b1abde011df9825c7263be876f1d8"` [INFO] [stderr] Checking atomic v0.3.4 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking unix_socket v0.5.0 [INFO] [stderr] Checking base64 v0.9.2 [INFO] [stderr] Checking scan_dir v0.3.3 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking backtrace-sys v0.1.23 [INFO] [stderr] Checking serde_json v1.0.24 [INFO] [stderr] Checking serde_str v0.1.0 [INFO] [stderr] Checking unshare v0.5.0 [INFO] [stderr] Checking libmount v0.1.11 [INFO] [stderr] Checking signal v0.6.0 [INFO] [stderr] Checking thread_local v0.3.5 [INFO] [stderr] Checking humannum v0.1.0 [INFO] [stderr] Checking digest v0.7.5 [INFO] [stderr] Checking backtrace v0.3.9 [INFO] [stderr] Checking fern v0.4.4 [INFO] [stderr] Checking syslog v3.3.0 [INFO] [stderr] Compiling structopt-derive v0.2.10 [INFO] [stderr] Checking regex v1.0.2 [INFO] [stderr] Checking ssh-keys v0.1.3 [INFO] [stderr] Checking sha2 v0.7.1 [INFO] [stderr] Checking blake2 v0.7.1 [INFO] [stderr] Checking quire v0.4.1 [INFO] [stderr] Checking ipnetwork v0.13.0 [INFO] [stderr] Checking failure v0.1.2 [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking rust-crypto v0.2.36 [INFO] [stderr] Checking libcantal v0.3.2 [INFO] [stderr] Checking env_logger v0.5.12 [INFO] [stderr] Checking structopt v0.2.10 [INFO] [stderr] Checking lithos v0.18.4 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/mount.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | mount_id: mount_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `mount_id` [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/mount.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | parent_id: parent_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `parent_id` [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/mount.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | relative_root: relative_root, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `relative_root` [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/mount.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | mount_point: mount_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mount_point` [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/mount.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | mount_options: mount_options, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mount_options` [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/mount.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | tag_shared: tag_shared, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tag_shared` [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/mount.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | tag_master: tag_master, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tag_master` [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/mount.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | tag_propagate_from: tag_propagate_from, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tag_propagate_from` [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/mount.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | tag_unbindable: tag_unbindable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tag_unbindable` [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/mount.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | fstype: fstype, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fstype` [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/mount.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | mount_source: mount_source, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mount_source` [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/mount.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | super_options: super_options, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `super_options` [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/pipe.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | reader: reader, writer: writer [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/pipe.rs:19:33 [INFO] [stderr] | [INFO] [stderr] 19 | reader: reader, writer: writer [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [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/timer_queue.rs:55:28 [INFO] [stderr] | [INFO] [stderr] 55 | self.0.push(Item { deadline: deadline, value: value }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `deadline` [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/timer_queue.rs:55:48 [INFO] [stderr] | [INFO] [stderr] 55 | self.0.push(Item { deadline: deadline, value: value }); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/timer_queue.rs:63:34 [INFO] [stderr] | [INFO] [stderr] 63 | QueueIter { queue: self, max_time: max_time } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_time` [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/range.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | return Range { start: start, end: end }; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/range.rs:14:38 [INFO] [stderr] | [INFO] [stderr] 14 | return Range { start: start, end: end }; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/mount.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | mount_id: mount_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `mount_id` [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/mount.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | parent_id: parent_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `parent_id` [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/mount.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | relative_root: relative_root, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `relative_root` [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/mount.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | mount_point: mount_point, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mount_point` [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/mount.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | mount_options: mount_options, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mount_options` [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/mount.rs:113:13 [INFO] [stderr] | [INFO] [stderr] 113 | tag_shared: tag_shared, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tag_shared` [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/mount.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | tag_master: tag_master, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tag_master` [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/mount.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | tag_propagate_from: tag_propagate_from, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tag_propagate_from` [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/mount.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | tag_unbindable: tag_unbindable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tag_unbindable` [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/mount.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | fstype: fstype, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fstype` [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/mount.rs:118:13 [INFO] [stderr] | [INFO] [stderr] 118 | mount_source: mount_source, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mount_source` [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/mount.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | super_options: super_options, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `super_options` [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/pipe.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | reader: reader, writer: writer [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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/pipe.rs:19:33 [INFO] [stderr] | [INFO] [stderr] 19 | reader: reader, writer: writer [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `writer` [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/timer_queue.rs:55:28 [INFO] [stderr] | [INFO] [stderr] 55 | self.0.push(Item { deadline: deadline, value: value }); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `deadline` [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/timer_queue.rs:55:48 [INFO] [stderr] | [INFO] [stderr] 55 | self.0.push(Item { deadline: deadline, value: value }); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/timer_queue.rs:63:34 [INFO] [stderr] | [INFO] [stderr] 63 | QueueIter { queue: self, max_time: max_time } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `max_time` [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/range.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | return Range { start: start, end: end }; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `start` [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/range.rs:14:38 [INFO] [stderr] | [INFO] [stderr] 14 | return Range { start: start, end: end }; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `end` [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/master_config.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | 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/sandbox_config.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | return num == self.image_dir_levels; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `num == self.image_dir_levels` [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/container_config.rs:237:56 [INFO] [stderr] | [INFO] [stderr] 237 | .member("memory_limit", Numeric::new().default(0x7fffffffffffffffi64)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x7fff_ffff_ffff_ffffi64` [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: unneeded return statement [INFO] [stderr] --> src/container_config.rs:409:13 [INFO] [stderr] | [INFO] [stderr] 409 | / return Err(errors1.into_iter() [INFO] [stderr] 410 | | .chain(errors2.into_iter()) [INFO] [stderr] 411 | | .chain(errors3.into_iter().map(|x| x.to_string())) [INFO] [stderr] 412 | | .collect()); [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [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] 409 | Err(errors1.into_iter() [INFO] [stderr] 410 | .chain(errors2.into_iter()) [INFO] [stderr] 411 | .chain(errors3.into_iter().map(|x| x.to_string())) [INFO] [stderr] 412 | .collect()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/container_config.rs:414:13 [INFO] [stderr] | [INFO] [stderr] 414 | return Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/container_config.rs:463:17 [INFO] [stderr] | [INFO] [stderr] 463 | / if sandbox.bridged_network.is_none() { [INFO] [stderr] 464 | | if !in_range(&sandbox.allow_tcp_ports, port as u32) { [INFO] [stderr] 465 | | return Err(format!( [INFO] [stderr] 466 | | "TcpPort {:?} is not in allowed range", port)); [INFO] [stderr] 467 | | } [INFO] [stderr] 468 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 463 | if sandbox.bridged_network.is_none() && !in_range(&sandbox.allow_tcp_ports, port as u32) { [INFO] [stderr] 464 | return Err(format!( [INFO] [stderr] 465 | "TcpPort {:?} is not in allowed range", port)); [INFO] [stderr] 466 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/container_config.rs:529:5 [INFO] [stderr] | [INFO] [stderr] 529 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/child_config.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | return Ok(cfg); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(cfg)` [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/child_config.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | / return Mapping::new( [INFO] [stderr] 73 | | Scalar::new(), [INFO] [stderr] 74 | | ChildConfig::validator()); [INFO] [stderr] | |______________________________________^ [INFO] [stderr] | [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] 72 | Mapping::new( [INFO] [stderr] 73 | Scalar::new(), [INFO] [stderr] 74 | ChildConfig::validator()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | / return Ok(MountRecord { [INFO] [stderr] 107 | | mount_id: mount_id, [INFO] [stderr] 108 | | parent_id: parent_id, [INFO] [stderr] 109 | | _device: device, [INFO] [stderr] ... | [INFO] [stderr] 119 | | super_options: super_options, [INFO] [stderr] 120 | | }); [INFO] [stderr] | |_______________^ [INFO] [stderr] | [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] 106 | Ok(MountRecord { [INFO] [stderr] 107 | mount_id: mount_id, [INFO] [stderr] 108 | parent_id: parent_id, [INFO] [stderr] 109 | _device: device, [INFO] [stderr] 110 | relative_root: relative_root, [INFO] [stderr] 111 | mount_point: mount_point, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/master_config.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | 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/mount.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | / return self.tag_shared.is_none() [INFO] [stderr] 124 | | && self.tag_master.is_none() [INFO] [stderr] 125 | | && self.tag_propagate_from.is_none() [INFO] [stderr] 126 | | && self.tag_unbindable.is_none(); [INFO] [stderr] | |_____________________________________________^ [INFO] [stderr] | [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] 123 | self.tag_shared.is_none() [INFO] [stderr] 124 | && self.tag_master.is_none() [INFO] [stderr] 125 | && self.tag_propagate_from.is_none() [INFO] [stderr] 126 | && self.tag_unbindable.is_none() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | 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/mount.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | 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/mount.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | / return Err(format!("Can't make {} a slave: {}", [INFO] [stderr] 158 | | target.display(), err)); [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [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] 157 | Err(format!("Can't make {} a slave: {}", [INFO] [stderr] 158 | target.display(), err)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:180:9 [INFO] [stderr] | [INFO] [stderr] 180 | 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/mount.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | / return Err(format!("Can't mount pseudofs {} ({}, options: {}): {}", [INFO] [stderr] 184 | | target.display(), options, name, err)); [INFO] [stderr] | |___________________________________________________^ [INFO] [stderr] | [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] 183 | Err(format!("Can't mount pseudofs {} ({}, options: {}): {}", [INFO] [stderr] 184 | target.display(), options, name, err)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | 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/mount.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | / return Err(format!("Can't mount pseudofs {} ({}, options: {}): {}", [INFO] [stderr] 208 | | target.display(), opts, "devpts", err)); [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] | [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] 207 | Err(format!("Can't mount pseudofs {} ({}, options: {}): {}", [INFO] [stderr] 208 | target.display(), opts, "devpts", err)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | 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/mount.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 219 | return Err(format!("Can't unmount {} : {}", target.display(), err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Can't unmount {} : {}", target.display(), err))` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/utils.rs:26:35 [INFO] [stderr] | [INFO] [stderr] 26 | pub const ABNORMAL_TERM_SIGNALS: &'static [Signal] = &[ [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[Signal]` [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: unneeded return statement [INFO] [stderr] --> src/utils.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [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/utils.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/utils.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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/utils.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | 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/utils.rs:132:19 [INFO] [stderr] | [INFO] [stderr] 132 | Ok(()) => 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/utils.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | 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/utils.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | / return Err(format!(concat!("Can't create dir {:?}, ", [INFO] [stderr] 139 | | "path already exists but not a directory"), [INFO] [stderr] 140 | | dir)); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [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] 138 | Err(format!(concat!("Can't create dir {:?}, ", [INFO] [stderr] 139 | "path already exists but not a directory"), [INFO] [stderr] 140 | dir)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | / return Err(format!(concat!("Can't create dir {:?}: {} ", [INFO] [stderr] 145 | | "path already exists but not a directory"), dir, e)); [INFO] [stderr] | |_____________________________________________________________________^ [INFO] [stderr] | [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] 144 | Err(format!(concat!("Can't create dir {:?}: {} ", [INFO] [stderr] 145 | "path already exists but not a directory"), dir, e)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | 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/utils.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | return buf; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `buf` [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/utils.rs:209:5 [INFO] [stderr] | [INFO] [stderr] 209 | return tv.tv_sec as f64 + tv.tv_usec as f64 * 0.000001; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `tv.tv_sec as f64 + tv.tv_usec as f64 * 0.000001` [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/utils.rs:209:52 [INFO] [stderr] | [INFO] [stderr] 209 | return tv.tv_sec as f64 + tv.tv_usec as f64 * 0.000001; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [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: unneeded return statement [INFO] [stderr] --> src/utils.rs:220:5 [INFO] [stderr] | [INFO] [stderr] 220 | 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/utils.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | 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/utils.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/sandbox_config.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | return num == self.image_dir_levels; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `num == self.image_dir_levels` [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/network.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | return Ok(addr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(addr)` [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/network.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / return buf[..].splitn(2, |x| *x == 0u8) [INFO] [stderr] 40 | | .next() [INFO] [stderr] 41 | | .and_then(|x| String::from_utf8(x.to_vec()).ok()) [INFO] [stderr] 42 | | .ok_or(IoError::from_raw_os_error(EINVAL)); [INFO] [stderr] | |______________________________________________________^ [INFO] [stderr] | [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] 39 | buf[..].splitn(2, |x| *x == 0u8) [INFO] [stderr] 40 | .next() [INFO] [stderr] 41 | .and_then(|x| String::from_utf8(x.to_vec()).ok()) [INFO] [stderr] 42 | .ok_or(IoError::from_raw_os_error(EINVAL)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/network.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | / return Ok(format!("{}", [INFO] [stderr] 58 | | Ipv4Addr::new(addr[0], addr[1], addr[2], addr[3]))); [INFO] [stderr] | |______________________________________________________________________^ [INFO] [stderr] | [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] 57 | Ok(format!("{}", [INFO] [stderr] 58 | Ipv4Addr::new(addr[0], addr[1], addr[2], addr[3]))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/pipe.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | return self.reader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.reader` [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/pipe.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | 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/limits.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | 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/cgroup.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | return Ok(res); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(res)` [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/cgroup.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | return Ok(res); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(res)` [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/cgroup.rs:178:5 [INFO] [stderr] | [INFO] [stderr] 178 | 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/itertools.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | return self.next().ok_or(()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.next().ok_or(())` [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/itertools.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | return self.nth(i).ok_or(()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.nth(i).ok_or(())` [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/itertools.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | / return Words { [INFO] [stderr] 82 | | src: src.borrow(), [INFO] [stderr] 83 | | iter: src.borrow().char_indices(), [INFO] [stderr] 84 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [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] 81 | Words { [INFO] [stderr] 82 | src: src.borrow(), [INFO] [stderr] 83 | iter: src.borrow().char_indices(), [INFO] [stderr] 84 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/timer_queue.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | return other.deadline.eq(&self.deadline); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `other.deadline.eq(&self.deadline)` [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/timer_queue.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | return other.deadline.partial_cmp(&self.deadline); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `other.deadline.partial_cmp(&self.deadline)` [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/timer_queue.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | return other.deadline.cmp(&self.deadline); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `other.deadline.cmp(&self.deadline)` [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/timer_queue.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return self.0.peek().map(|x| x.deadline) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.0.peek().map(|x| x.deadline)` [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/container_config.rs:237:56 [INFO] [stderr] | [INFO] [stderr] 237 | .member("memory_limit", Numeric::new().default(0x7fffffffffffffffi64)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x7fff_ffff_ffff_ffffi64` [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: unneeded return statement [INFO] [stderr] --> src/container_config.rs:409:13 [INFO] [stderr] | [INFO] [stderr] 409 | / return Err(errors1.into_iter() [INFO] [stderr] 410 | | .chain(errors2.into_iter()) [INFO] [stderr] 411 | | .chain(errors3.into_iter().map(|x| x.to_string())) [INFO] [stderr] 412 | | .collect()); [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [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] 409 | Err(errors1.into_iter() [INFO] [stderr] 410 | .chain(errors2.into_iter()) [INFO] [stderr] 411 | .chain(errors3.into_iter().map(|x| x.to_string())) [INFO] [stderr] 412 | .collect()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/container_config.rs:414:13 [INFO] [stderr] | [INFO] [stderr] 414 | return Ok(result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result)` [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/range.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | return Range { start: start, end: end }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Range { start: start, end: end }` [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/range.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return self.end - self.start + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.end - self.start + 1` [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/range.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | return Range::new(self.start + val, self.end); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Range::new(self.start + val, self.end)` [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/range.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/nacl.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | return Ok(out); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(out)` [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/nacl.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | return Err(DecryptionError); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(DecryptionError)` [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/nacl.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | return vec; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `vec` [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/nacl.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | return crypto_box_seal(msg, &pk); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_box_seal(msg, &pk)` [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/nacl.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | return mont_x.to_bytes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `mont_x.to_bytes()` [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/nacl.rs:207:5 [INFO] [stderr] | [INFO] [stderr] 207 | return curve_key; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `curve_key` [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] | [INFO] [stderr] --> src/container_config.rs:463:17 [INFO] [stderr] | [INFO] [stderr] 463 | / if sandbox.bridged_network.is_none() { [INFO] [stderr] 464 | | if !in_range(&sandbox.allow_tcp_ports, port as u32) { [INFO] [stderr] 465 | | return Err(format!( [INFO] [stderr] 466 | | "TcpPort {:?} is not in allowed range", port)); [INFO] [stderr] 467 | | } [INFO] [stderr] 468 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 463 | if sandbox.bridged_network.is_none() && !in_range(&sandbox.allow_tcp_ports, port as u32) { [INFO] [stderr] 464 | return Err(format!( [INFO] [stderr] 465 | "TcpPort {:?} is not in allowed range", port)); [INFO] [stderr] 466 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/nacl.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | mont_x [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/nacl.rs:220:18 [INFO] [stderr] | [INFO] [stderr] 220 | let mont_x = temp_x.mul(temp_z_inv); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/nacl.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | return nonce; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `nonce` [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/container_config.rs:529:5 [INFO] [stderr] | [INFO] [stderr] 529 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [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/nacl.rs:250:5 [INFO] [stderr] | [INFO] [stderr] 250 | return crypto_box_seal_open(cipher, &montgomery_pk, &hashed_sk); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_box_seal_open(cipher, &montgomery_pk, &hashed_sk)` [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/nacl.rs:260:5 [INFO] [stderr] | [INFO] [stderr] 260 | return crypto_box_open(cipher, &nonce, epk, sk); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_box_open(cipher, &nonce, epk, sk)` [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/nacl.rs:284:5 [INFO] [stderr] | [INFO] [stderr] 284 | return crypto_secretbox(msg, nonce, &key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_secretbox(msg, nonce, &key)` [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/nacl.rs:304:5 [INFO] [stderr] | [INFO] [stderr] 304 | return crypto_secretbox_open(ciphertext, nonce, &key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_secretbox_open(ciphertext, nonce, &key)` [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/child_config.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | return Ok(cfg); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(cfg)` [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/child_config.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | / return Mapping::new( [INFO] [stderr] 73 | | Scalar::new(), [INFO] [stderr] 74 | | ChildConfig::validator()); [INFO] [stderr] | |______________________________________^ [INFO] [stderr] | [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] 72 | Mapping::new( [INFO] [stderr] 73 | Scalar::new(), [INFO] [stderr] 74 | ChildConfig::validator()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | / return Ok(MountRecord { [INFO] [stderr] 107 | | mount_id: mount_id, [INFO] [stderr] 108 | | parent_id: parent_id, [INFO] [stderr] 109 | | _device: device, [INFO] [stderr] ... | [INFO] [stderr] 119 | | super_options: super_options, [INFO] [stderr] 120 | | }); [INFO] [stderr] | |_______________^ [INFO] [stderr] | [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] 106 | Ok(MountRecord { [INFO] [stderr] 107 | mount_id: mount_id, [INFO] [stderr] 108 | parent_id: parent_id, [INFO] [stderr] 109 | _device: device, [INFO] [stderr] 110 | relative_root: relative_root, [INFO] [stderr] 111 | mount_point: mount_point, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | / return self.tag_shared.is_none() [INFO] [stderr] 124 | | && self.tag_master.is_none() [INFO] [stderr] 125 | | && self.tag_propagate_from.is_none() [INFO] [stderr] 126 | | && self.tag_unbindable.is_none(); [INFO] [stderr] | |_____________________________________________^ [INFO] [stderr] | [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] 123 | self.tag_shared.is_none() [INFO] [stderr] 124 | && self.tag_master.is_none() [INFO] [stderr] 125 | && self.tag_propagate_from.is_none() [INFO] [stderr] 126 | && self.tag_unbindable.is_none() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | 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/mount.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | 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/mount.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 157 | / return Err(format!("Can't make {} a slave: {}", [INFO] [stderr] 158 | | target.display(), err)); [INFO] [stderr] | |____________________________________^ [INFO] [stderr] | [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] 157 | Err(format!("Can't make {} a slave: {}", [INFO] [stderr] 158 | target.display(), err)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:180:9 [INFO] [stderr] | [INFO] [stderr] 180 | 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/mount.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | / return Err(format!("Can't mount pseudofs {} ({}, options: {}): {}", [INFO] [stderr] 184 | | target.display(), options, name, err)); [INFO] [stderr] | |___________________________________________________^ [INFO] [stderr] | [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] 183 | Err(format!("Can't mount pseudofs {} ({}, options: {}): {}", [INFO] [stderr] 184 | target.display(), options, name, err)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | 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/mount.rs:207:9 [INFO] [stderr] | [INFO] [stderr] 207 | / return Err(format!("Can't mount pseudofs {} ({}, options: {}): {}", [INFO] [stderr] 208 | | target.display(), opts, "devpts", err)); [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] | [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] 207 | Err(format!("Can't mount pseudofs {} ({}, options: {}): {}", [INFO] [stderr] 208 | target.display(), opts, "devpts", err)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mount.rs:216:9 [INFO] [stderr] | [INFO] [stderr] 216 | 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/mount.rs:219:9 [INFO] [stderr] | [INFO] [stderr] 219 | return Err(format!("Can't unmount {} : {}", target.display(), err)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Can't unmount {} : {}", target.display(), err))` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/utils.rs:26:35 [INFO] [stderr] | [INFO] [stderr] 26 | pub const ABNORMAL_TERM_SIGNALS: &'static [Signal] = &[ [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[Signal]` [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: unneeded return statement [INFO] [stderr] --> src/utils.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [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/utils.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/utils.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [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/utils.rs:119:5 [INFO] [stderr] | [INFO] [stderr] 119 | 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/utils.rs:132:19 [INFO] [stderr] | [INFO] [stderr] 132 | Ok(()) => 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/utils.rs:136:17 [INFO] [stderr] | [INFO] [stderr] 136 | 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/utils.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | / return Err(format!(concat!("Can't create dir {:?}, ", [INFO] [stderr] 139 | | "path already exists but not a directory"), [INFO] [stderr] 140 | | dir)); [INFO] [stderr] | |__________________________^ [INFO] [stderr] | [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] 138 | Err(format!(concat!("Can't create dir {:?}, ", [INFO] [stderr] 139 | "path already exists but not a directory"), [INFO] [stderr] 140 | dir)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils.rs:144:13 [INFO] [stderr] | [INFO] [stderr] 144 | / return Err(format!(concat!("Can't create dir {:?}: {} ", [INFO] [stderr] 145 | | "path already exists but not a directory"), dir, e)); [INFO] [stderr] | |_____________________________________________________________________^ [INFO] [stderr] | [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] 144 | Err(format!(concat!("Can't create dir {:?}: {} ", [INFO] [stderr] 145 | "path already exists but not a directory"), dir, e)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | 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/utils.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 203 | return buf; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `buf` [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/utils.rs:209:5 [INFO] [stderr] | [INFO] [stderr] 209 | return tv.tv_sec as f64 + tv.tv_usec as f64 * 0.000001; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `tv.tv_sec as f64 + tv.tv_usec as f64 * 0.000001` [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/utils.rs:209:52 [INFO] [stderr] | [INFO] [stderr] 209 | return tv.tv_sec as f64 + tv.tv_usec as f64 * 0.000001; [INFO] [stderr] | ^^^^^^^^ help: consider: `0.000_001` [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: unneeded return statement [INFO] [stderr] --> src/utils.rs:220:5 [INFO] [stderr] | [INFO] [stderr] 220 | 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/utils.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | 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/utils.rs:247:5 [INFO] [stderr] | [INFO] [stderr] 247 | return res [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `res` [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/network.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | return Ok(addr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(addr)` [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/network.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | / return buf[..].splitn(2, |x| *x == 0u8) [INFO] [stderr] 40 | | .next() [INFO] [stderr] 41 | | .and_then(|x| String::from_utf8(x.to_vec()).ok()) [INFO] [stderr] 42 | | .ok_or(IoError::from_raw_os_error(EINVAL)); [INFO] [stderr] | |______________________________________________________^ [INFO] [stderr] | [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] 39 | buf[..].splitn(2, |x| *x == 0u8) [INFO] [stderr] 40 | .next() [INFO] [stderr] 41 | .and_then(|x| String::from_utf8(x.to_vec()).ok()) [INFO] [stderr] 42 | .ok_or(IoError::from_raw_os_error(EINVAL)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/network.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | / return Ok(format!("{}", [INFO] [stderr] 58 | | Ipv4Addr::new(addr[0], addr[1], addr[2], addr[3]))); [INFO] [stderr] | |______________________________________________________________________^ [INFO] [stderr] | [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] 57 | Ok(format!("{}", [INFO] [stderr] 58 | Ipv4Addr::new(addr[0], addr[1], addr[2], addr[3]))) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/pipe.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | return self.reader; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.reader` [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/pipe.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | 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/limits.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | 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/cgroup.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | return Ok(res); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(res)` [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/cgroup.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | return Ok(res); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(res)` [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/cgroup.rs:178:5 [INFO] [stderr] | [INFO] [stderr] 178 | 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/itertools.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | return self.next().ok_or(()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.next().ok_or(())` [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/itertools.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | return self.nth(i).ok_or(()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.nth(i).ok_or(())` [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/itertools.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | / return Words { [INFO] [stderr] 82 | | src: src.borrow(), [INFO] [stderr] 83 | | iter: src.borrow().char_indices(), [INFO] [stderr] 84 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [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] 81 | Words { [INFO] [stderr] 82 | src: src.borrow(), [INFO] [stderr] 83 | iter: src.borrow().char_indices(), [INFO] [stderr] 84 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/timer_queue.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | return other.deadline.eq(&self.deadline); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `other.deadline.eq(&self.deadline)` [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/timer_queue.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | return other.deadline.partial_cmp(&self.deadline); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `other.deadline.partial_cmp(&self.deadline)` [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/timer_queue.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | return other.deadline.cmp(&self.deadline); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `other.deadline.cmp(&self.deadline)` [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/timer_queue.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return self.0.peek().map(|x| x.deadline) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.0.peek().map(|x| x.deadline)` [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/range.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | return Range { start: start, end: end }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Range { start: start, end: end }` [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/range.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return self.end - self.start + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.end - self.start + 1` [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/range.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | return Range::new(self.start + val, self.end); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Range::new(self.start + val, self.end)` [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/range.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [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/nacl.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | return Ok(out); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(out)` [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/nacl.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | return Err(DecryptionError); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(DecryptionError)` [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/nacl.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | return vec; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `vec` [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/nacl.rs:187:5 [INFO] [stderr] | [INFO] [stderr] 187 | return crypto_box_seal(msg, &pk); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_box_seal(msg, &pk)` [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/nacl.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | return mont_x.to_bytes(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `mont_x.to_bytes()` [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/nacl.rs:207:5 [INFO] [stderr] | [INFO] [stderr] 207 | return curve_key; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `curve_key` [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: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/nacl.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | mont_x [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/nacl.rs:220:18 [INFO] [stderr] | [INFO] [stderr] 220 | let mont_x = temp_x.mul(temp_z_inv); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/nacl.rs:233:5 [INFO] [stderr] | [INFO] [stderr] 233 | return nonce; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `nonce` [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/nacl.rs:250:5 [INFO] [stderr] | [INFO] [stderr] 250 | return crypto_box_seal_open(cipher, &montgomery_pk, &hashed_sk); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_box_seal_open(cipher, &montgomery_pk, &hashed_sk)` [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/nacl.rs:260:5 [INFO] [stderr] | [INFO] [stderr] 260 | return crypto_box_open(cipher, &nonce, epk, sk); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_box_open(cipher, &nonce, epk, sk)` [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/nacl.rs:284:5 [INFO] [stderr] | [INFO] [stderr] 284 | return crypto_secretbox(msg, nonce, &key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_secretbox(msg, nonce, &key)` [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/nacl.rs:304:5 [INFO] [stderr] | [INFO] [stderr] 304 | return crypto_secretbox_open(ciphertext, nonce, &key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `crypto_secretbox_open(ciphertext, nonce, &key)` [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/container_config.rs:286:27 [INFO] [stderr] | [INFO] [stderr] 286 | let val = variables.user_vars.get(varname).map(|x| x.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `variables.user_vars.get(varname).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/container_config.rs:331:39 [INFO] [stderr] | [INFO] [stderr] 331 | (key.clone(), replace_vars(&val, &mut replacer).into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `replace_vars(&val, &mut replacer)` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/container_config.rs:338:17 [INFO] [stderr] | [INFO] [stderr] 338 | / match typ { [INFO] [stderr] 339 | | Variable::TcpPort(TcpPortSettings { [INFO] [stderr] 340 | | activation: Activation::Systemd [INFO] [stderr] 341 | | }) => { [INFO] [stderr] ... | [INFO] [stderr] 370 | | _ => {} [INFO] [stderr] 371 | | } [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] 338 | if let Variable::TcpPort(TcpPortSettings { [INFO] [stderr] 339 | activation: Activation::Systemd [INFO] [stderr] 340 | }) = typ { [INFO] [stderr] 341 | names.push(&key[..]); [INFO] [stderr] 342 | let fd = (2 + names.len()) as i32; [INFO] [stderr] 343 | let port_str = match variables.user_vars.get(key) { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:380:23 [INFO] [stderr] | [INFO] [stderr] 380 | kind: self.kind.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.kind` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:382:26 [INFO] [stderr] | [INFO] [stderr] 382 | user_id: self.user_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.user_id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:383:27 [INFO] [stderr] | [INFO] [stderr] 383 | group_id: self.group_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.group_id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:384:34 [INFO] [stderr] | [INFO] [stderr] 384 | restart_timeout: self.restart_timeout.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.restart_timeout` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:385:31 [INFO] [stderr] | [INFO] [stderr] 385 | kill_timeout: self.kill_timeout.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.kill_timeout` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:386:31 [INFO] [stderr] | [INFO] [stderr] 386 | memory_limit: self.memory_limit.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.memory_limit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:387:31 [INFO] [stderr] | [INFO] [stderr] 387 | fileno_limit: self.fileno_limit.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.fileno_limit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:388:29 [INFO] [stderr] | [INFO] [stderr] 388 | cpu_shares: self.cpu_shares.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cpu_shares` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/container_config.rs:391:30 [INFO] [stderr] | [INFO] [stderr] 391 | .map(|x| replace_vars(&x, &mut replacer).into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `replace_vars(&x, &mut replacer)` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:401:30 [INFO] [stderr] | [INFO] [stderr] 401 | interactive: self.interactive.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.interactive` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:402:39 [INFO] [stderr] | [INFO] [stderr] 402 | restart_process_only: self.restart_process_only.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.restart_process_only` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/container_config.rs:408:12 [INFO] [stderr] | [INFO] [stderr] 408 | if errors1.len() > 0 || errors2.len() > 0 || errors3.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errors1.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/container_config.rs:408:33 [INFO] [stderr] | [INFO] [stderr] 408 | if errors1.len() > 0 || errors2.len() > 0 || errors3.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errors2.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/container_config.rs:408:54 [INFO] [stderr] | [INFO] [stderr] 408 | if errors1.len() > 0 || errors2.len() > 0 || errors3.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errors3.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/container_config.rs:464:60 [INFO] [stderr] | [INFO] [stderr] 464 | if !in_range(&sandbox.allow_tcp_ports, port as u32) { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(port)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/container_config.rs:491:57 [INFO] [stderr] | [INFO] [stderr] 491 | if slice == "" || slice.starts_with("-") || [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/container_config.rs:492:55 [INFO] [stderr] | [INFO] [stderr] 492 | slice.ends_with("-") [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/container_config.rs:286:27 [INFO] [stderr] | [INFO] [stderr] 286 | let val = variables.user_vars.get(varname).map(|x| x.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `variables.user_vars.get(varname).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/container_config.rs:331:39 [INFO] [stderr] | [INFO] [stderr] 331 | (key.clone(), replace_vars(&val, &mut replacer).into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `replace_vars(&val, &mut replacer)` [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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/container_config.rs:338:17 [INFO] [stderr] | [INFO] [stderr] 338 | / match typ { [INFO] [stderr] 339 | | Variable::TcpPort(TcpPortSettings { [INFO] [stderr] 340 | | activation: Activation::Systemd [INFO] [stderr] 341 | | }) => { [INFO] [stderr] ... | [INFO] [stderr] 370 | | _ => {} [INFO] [stderr] 371 | | } [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] 338 | if let Variable::TcpPort(TcpPortSettings { [INFO] [stderr] 339 | activation: Activation::Systemd [INFO] [stderr] 340 | }) = typ { [INFO] [stderr] 341 | names.push(&key[..]); [INFO] [stderr] 342 | let fd = (2 + names.len()) as i32; [INFO] [stderr] 343 | let port_str = match variables.user_vars.get(key) { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:380:23 [INFO] [stderr] | [INFO] [stderr] 380 | kind: self.kind.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.kind` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:382:26 [INFO] [stderr] | [INFO] [stderr] 382 | user_id: self.user_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.user_id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:383:27 [INFO] [stderr] | [INFO] [stderr] 383 | group_id: self.group_id.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.group_id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:384:34 [INFO] [stderr] | [INFO] [stderr] 384 | restart_timeout: self.restart_timeout.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.restart_timeout` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:385:31 [INFO] [stderr] | [INFO] [stderr] 385 | kill_timeout: self.kill_timeout.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.kill_timeout` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:386:31 [INFO] [stderr] | [INFO] [stderr] 386 | memory_limit: self.memory_limit.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.memory_limit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:387:31 [INFO] [stderr] | [INFO] [stderr] 387 | fileno_limit: self.fileno_limit.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.fileno_limit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:388:29 [INFO] [stderr] | [INFO] [stderr] 388 | cpu_shares: self.cpu_shares.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.cpu_shares` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/container_config.rs:391:30 [INFO] [stderr] | [INFO] [stderr] 391 | .map(|x| replace_vars(&x, &mut replacer).into()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `replace_vars(&x, &mut replacer)` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:401:30 [INFO] [stderr] | [INFO] [stderr] 401 | interactive: self.interactive.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.interactive` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/container_config.rs:402:39 [INFO] [stderr] | [INFO] [stderr] 402 | restart_process_only: self.restart_process_only.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.restart_process_only` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/container_config.rs:408:12 [INFO] [stderr] | [INFO] [stderr] 408 | if errors1.len() > 0 || errors2.len() > 0 || errors3.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errors1.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/container_config.rs:408:33 [INFO] [stderr] | [INFO] [stderr] 408 | if errors1.len() > 0 || errors2.len() > 0 || errors3.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errors2.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/container_config.rs:408:54 [INFO] [stderr] | [INFO] [stderr] 408 | if errors1.len() > 0 || errors2.len() > 0 || errors3.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errors3.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/container_config.rs:464:60 [INFO] [stderr] | [INFO] [stderr] 464 | if !in_range(&sandbox.allow_tcp_ports, port as u32) { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u32::from(port)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/container_config.rs:491:57 [INFO] [stderr] | [INFO] [stderr] 491 | if slice == "" || slice.starts_with("-") || [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/container_config.rs:492:55 [INFO] [stderr] | [INFO] [stderr] 492 | slice.ends_with("-") [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/child_config.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | ip_address: if self.ip_addresses.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.ip_addresses.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mount.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | / pub fn from_str<'x>(line: &'x str) -> Result, ()> { [INFO] [stderr] 71 | | let mut parts = words(line); [INFO] [stderr] 72 | | let mount_id = try!(parts.next_value()); [INFO] [stderr] 73 | | let parent_id = try!(parts.next_value()); [INFO] [stderr] ... | [INFO] [stderr] 120 | | }); [INFO] [stderr] 121 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [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/mount.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | / pub fn from_str<'x>(line: &'x str) -> Result, ()> { [INFO] [stderr] 71 | | let mut parts = words(line); [INFO] [stderr] 72 | | let mount_id = try!(parts.next_value()); [INFO] [stderr] 73 | | let parent_id = try!(parts.next_value()); [INFO] [stderr] ... | [INFO] [stderr] 120 | | }); [INFO] [stderr] 121 | | } [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] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/utils.rs:61:23 [INFO] [stderr] | [INFO] [stderr] 61 | if unsafe { chdir(CString::new("/").unwrap().as_ptr()) } != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::temporary_cstring_as_ptr)] on by default [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/utils.rs:61:23 [INFO] [stderr] | [INFO] [stderr] 61 | if unsafe { chdir(CString::new("/").unwrap().as_ptr()) } != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/utils.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | if unsafe { chroot(CString::new(".").unwrap().as_ptr()) } != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/utils.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | if unsafe { chroot(CString::new(".").unwrap().as_ptr()) } != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [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/utils.rs:81:28 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn in_mapping(mapping: &Vec, value: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[IdMap]` [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/utils.rs:90:30 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn check_mapping(ranges: &Vec, map: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Range]` [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/utils.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn check_mapping(ranges: &Vec, map: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[IdMap]` [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] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/utils.rs:114:23 [INFO] [stderr] | [INFO] [stderr] 114 | if unsafe { chdir(CString::new("/").unwrap().as_ptr()) } != 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/utils.rs:114:23 [INFO] [stderr] | [INFO] [stderr] 114 | if unsafe { chdir(CString::new("/").unwrap().as_ptr()) } != 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [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/utils.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | / match iter.next() { [INFO] [stderr] 196 | | Some(x) => buf.push_str(x.as_ref()), [INFO] [stderr] 197 | | None => {} [INFO] [stderr] 198 | | } [INFO] [stderr] | |_____^ help: try this: `if let Some(x) = iter.next() { buf.push_str(x.as_ref()) }` [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: The function/method `as_ptr` doesn't need a mutable reference [INFO] [stderr] --> src/network.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | (&mut buf[..]).as_ptr() as *mut i8, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/network.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | .ok_or(IoError::from_raw_os_error(EINVAL)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| IoError::from_raw_os_error(EINVAL))` [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: Comparing with null is better expressed by the .is_null() method [INFO] [stderr] --> src/network.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | if hostent == null() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_null)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/child_config.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | ip_address: if self.ip_addresses.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.ip_addresses.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mount.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | / pub fn from_str<'x>(line: &'x str) -> Result, ()> { [INFO] [stderr] 71 | | let mut parts = words(line); [INFO] [stderr] 72 | | let mount_id = try!(parts.next_value()); [INFO] [stderr] 73 | | let parent_id = try!(parts.next_value()); [INFO] [stderr] ... | [INFO] [stderr] 120 | | }); [INFO] [stderr] 121 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [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/mount.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | / pub fn from_str<'x>(line: &'x str) -> Result, ()> { [INFO] [stderr] 71 | | let mut parts = words(line); [INFO] [stderr] 72 | | let mount_id = try!(parts.next_value()); [INFO] [stderr] 73 | | let parent_id = try!(parts.next_value()); [INFO] [stderr] ... | [INFO] [stderr] 120 | | }); [INFO] [stderr] 121 | | } [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/pipe.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | ['x' as u8].as_ptr() as *const c_void, 1); [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'x' [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | .unwrap_or("/proc/self/cgroup".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "/proc/self/cgroup".to_string())` [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: length comparison to zero [INFO] [stderr] --> src/cgroup.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | if line.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | try!(chunks.next().ok_or(format!("CGroup num expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup num expected"))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:52:34 [INFO] [stderr] | [INFO] [stderr] 52 | try!(chunks.next().ok_or(format!("CGroup num expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"CGroup num expected".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] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:54:31 [INFO] [stderr] | [INFO] [stderr] 54 | .ok_or(format!("CGroup name expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup name expected"))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:54:37 [INFO] [stderr] | [INFO] [stderr] 54 | .ok_or(format!("CGroup name expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"CGroup name expected".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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:57:27 [INFO] [stderr] | [INFO] [stderr] 57 | .ok_or(format!("CGroup names expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup names expected"))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | .ok_or(format!("CGroup names expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"CGroup names expected".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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:60:37 [INFO] [stderr] | [INFO] [stderr] 60 | .ok_or(format!("CGroup path expected"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup path expected"))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:60:43 [INFO] [stderr] | [INFO] [stderr] 60 | .ok_or(format!("CGroup path expected"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"CGroup path expected".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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:67:28 [INFO] [stderr] | [INFO] [stderr] 67 | return Err(format!("Duplicate CGroup encountered")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Duplicate CGroup encountered".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/cgroup.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn ensure_in_group(name: &String, controllers: &Vec) [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/cgroup.rs:74:52 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn ensure_in_group(name: &String, controllers: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/utils.rs:61:23 [INFO] [stderr] | [INFO] [stderr] 61 | if unsafe { chdir(CString::new("/").unwrap().as_ptr()) } != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::temporary_cstring_as_ptr)] on by default [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/utils.rs:61:23 [INFO] [stderr] | [INFO] [stderr] 61 | if unsafe { chdir(CString::new("/").unwrap().as_ptr()) } != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/utils.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | if unsafe { chroot(CString::new(".").unwrap().as_ptr()) } != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/utils.rs:70:24 [INFO] [stderr] | [INFO] [stderr] 70 | if unsafe { chroot(CString::new(".").unwrap().as_ptr()) } != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [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/utils.rs:81:28 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn in_mapping(mapping: &Vec, value: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[IdMap]` [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/utils.rs:90:30 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn check_mapping(ranges: &Vec, map: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Range]` [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/utils.rs:90:48 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn check_mapping(ranges: &Vec, map: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[IdMap]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cgroup.rs:84:26 [INFO] [stderr] | [INFO] [stderr] 84 | let controllers = if controllers.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!controllers.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/utils.rs:114:23 [INFO] [stderr] | [INFO] [stderr] 114 | if unsafe { chdir(CString::new("/").unwrap().as_ptr()) } != 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/utils.rs:114:23 [INFO] [stderr] | [INFO] [stderr] 114 | if unsafe { chdir(CString::new("/").unwrap().as_ptr()) } != 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:100:14 [INFO] [stderr] | [INFO] [stderr] 100 | .ok_or(format!("CGroup {} not mounted", ctr))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup {} not mounted", ctr))` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:103:14 [INFO] [stderr] | [INFO] [stderr] 103 | .ok_or(format!("CGroup {} not mounted", ctr))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup {} not mounted", ctr))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:105:24 [INFO] [stderr] | [INFO] [stderr] 105 | return Err(format!("Init process has CGroup hierarchy different \ [INFO] [stderr] | ________________________^ [INFO] [stderr] 106 | | from ours, we can't setup CGroups in any \ [INFO] [stderr] 107 | | meaningful way in this case")); [INFO] [stderr] | |_____________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] help: consider using .to_string() [INFO] [stderr] | [INFO] [stderr] 105 | return Err("Init process has CGroup hierarchy different \ [INFO] [stderr] 106 | from ours, we can't setup CGroups in any \ [INFO] [stderr] 107 | meaningful way in this case".to_string()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/cgroup.rs:147:49 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn remove_child_cgroup(child: &str, master: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/cgroup.rs:148:18 [INFO] [stderr] | [INFO] [stderr] 148 | controllers: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cgroup.rs:160:26 [INFO] [stderr] | [INFO] [stderr] 160 | let controllers = if controllers.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!controllers.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:186:14 [INFO] [stderr] | [INFO] [stderr] 186 | .ok_or(format!("Controller {:?} is not initialized", ctr))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("Controller {:?} is not initialized", ctr))` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:196:14 [INFO] [stderr] | [INFO] [stderr] 196 | .ok_or(format!("Controller {:?} is not initialized", ctr))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("Controller {:?} is not initialized", ctr))` [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: item `timer_queue::Queue` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/timer_queue.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | / impl Queue { [INFO] [stderr] 51 | | pub fn new() -> Queue { [INFO] [stderr] 52 | | Queue(BinaryHeap::new()) [INFO] [stderr] 53 | | } [INFO] [stderr] ... | [INFO] [stderr] 67 | | } [INFO] [stderr] 68 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `timer_queue::Queue` [INFO] [stderr] --> src/timer_queue.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | / pub fn new() -> Queue { [INFO] [stderr] 52 | | Queue(BinaryHeap::new()) [INFO] [stderr] 53 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | #[derive(Default)] [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/timer_queue.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | / pub fn pop_until<'x>(&'x mut self, max_time: Instant) [INFO] [stderr] 61 | | -> QueueIter<'x, T> [INFO] [stderr] 62 | | { [INFO] [stderr] 63 | | QueueIter { queue: self, max_time: max_time } [INFO] [stderr] 64 | | } [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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/utils.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | / match iter.next() { [INFO] [stderr] 196 | | Some(x) => buf.push_str(x.as_ref()), [INFO] [stderr] 197 | | None => {} [INFO] [stderr] 198 | | } [INFO] [stderr] | |_____^ help: try this: `if let Some(x) = iter.next() { buf.push_str(x.as_ref()) }` [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: The function/method `as_ptr` doesn't need a mutable reference [INFO] [stderr] --> src/network.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | (&mut buf[..]).as_ptr() as *mut i8, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/network.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | .ok_or(IoError::from_raw_os_error(EINVAL)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| IoError::from_raw_os_error(EINVAL))` [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: length comparison to zero [INFO] [stderr] --> src/id_map.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | if self.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `metrics::Metrics` [INFO] [stderr] --> src/metrics.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | / pub fn new() -> Metrics { [INFO] [stderr] 34 | | Metrics { [INFO] [stderr] 35 | | restarts: Counter::new(), [INFO] [stderr] 36 | | sandboxes: Integer::new(), [INFO] [stderr] ... | [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | impl Default for metrics::Metrics { [INFO] [stderr] 33 | fn default() -> Self { [INFO] [stderr] 34 | Self::new() [INFO] [stderr] 35 | } [INFO] [stderr] 36 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `metrics::Process` [INFO] [stderr] --> src/metrics.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / pub fn new() -> Process { [INFO] [stderr] 53 | | Process { [INFO] [stderr] 54 | | started: Counter::new(), [INFO] [stderr] 55 | | failures: Counter::new(), [INFO] [stderr] ... | [INFO] [stderr] 58 | | } [INFO] [stderr] 59 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 51 | impl Default for metrics::Process { [INFO] [stderr] 52 | fn default() -> Self { [INFO] [stderr] 53 | Self::new() [INFO] [stderr] 54 | } [INFO] [stderr] 55 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: Comparing with null is better expressed by the .is_null() method [INFO] [stderr] --> src/network.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | if hostent == null() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_null)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_null [INFO] [stderr] [INFO] [stderr] warning: item `range::Range` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/range.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | / impl Range { [INFO] [stderr] 13 | | pub fn new(start: u32, end: u32) -> Range { [INFO] [stderr] 14 | | return Range { start: start, end: end }; [INFO] [stderr] 15 | | } [INFO] [stderr] ... | [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/range.rs:34:22 [INFO] [stderr] | [INFO] [stderr] 34 | .ok_or(D::Error::custom("Error parsing range"))?, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::custom("Error parsing range"))` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/range.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | .ok_or(D::Error::custom("Error parsing range"))?, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::custom("Error parsing range"))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/range.rs:42:25 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn in_range(ranges: &Vec, value: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Range]` [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/pipe.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | ['x' as u8].as_ptr() as *const c_void, 1); [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'x' [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | .unwrap_or("/proc/self/cgroup".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "/proc/self/cgroup".to_string())` [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: length comparison to zero [INFO] [stderr] --> src/cgroup.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | if line.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `line.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | try!(chunks.next().ok_or(format!("CGroup num expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup num expected"))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:52:34 [INFO] [stderr] | [INFO] [stderr] 52 | try!(chunks.next().ok_or(format!("CGroup num expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"CGroup num expected".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] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:54:31 [INFO] [stderr] | [INFO] [stderr] 54 | .ok_or(format!("CGroup name expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup name expected"))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:54:37 [INFO] [stderr] | [INFO] [stderr] 54 | .ok_or(format!("CGroup name expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"CGroup name expected".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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:57:27 [INFO] [stderr] | [INFO] [stderr] 57 | .ok_or(format!("CGroup names expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup names expected"))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:57:33 [INFO] [stderr] | [INFO] [stderr] 57 | .ok_or(format!("CGroup names expected"))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"CGroup names expected".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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:60:37 [INFO] [stderr] | [INFO] [stderr] 60 | .ok_or(format!("CGroup path expected"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup path expected"))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:60:43 [INFO] [stderr] | [INFO] [stderr] 60 | .ok_or(format!("CGroup path expected"))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"CGroup path expected".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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:67:28 [INFO] [stderr] | [INFO] [stderr] 67 | return Err(format!("Duplicate CGroup encountered")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"Duplicate CGroup encountered".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/cgroup.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn ensure_in_group(name: &String, controllers: &Vec) [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/cgroup.rs:74:52 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn ensure_in_group(name: &String, controllers: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cgroup.rs:84:26 [INFO] [stderr] | [INFO] [stderr] 84 | let controllers = if controllers.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!controllers.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:100:14 [INFO] [stderr] | [INFO] [stderr] 100 | .ok_or(format!("CGroup {} not mounted", ctr))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup {} not mounted", ctr))` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:103:14 [INFO] [stderr] | [INFO] [stderr] 103 | .ok_or(format!("CGroup {} not mounted", ctr))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("CGroup {} not mounted", ctr))` [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: useless use of `format!` [INFO] [stderr] --> src/cgroup.rs:105:24 [INFO] [stderr] | [INFO] [stderr] 105 | return Err(format!("Init process has CGroup hierarchy different \ [INFO] [stderr] | ________________________^ [INFO] [stderr] 106 | | from ours, we can't setup CGroups in any \ [INFO] [stderr] 107 | | meaningful way in this case")); [INFO] [stderr] | |_____________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] help: consider using .to_string() [INFO] [stderr] | [INFO] [stderr] 105 | return Err("Init process has CGroup hierarchy different \ [INFO] [stderr] 106 | from ours, we can't setup CGroups in any \ [INFO] [stderr] 107 | meaningful way in this case".to_string()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/cgroup.rs:147:49 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn remove_child_cgroup(child: &str, master: &String, [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/cgroup.rs:148:18 [INFO] [stderr] | [INFO] [stderr] 148 | controllers: &Vec) [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cgroup.rs:160:26 [INFO] [stderr] | [INFO] [stderr] 160 | let controllers = if controllers.len() > 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!controllers.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:186:14 [INFO] [stderr] | [INFO] [stderr] 186 | .ok_or(format!("Controller {:?} is not initialized", ctr))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("Controller {:?} is not initialized", ctr))` [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] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/cgroup.rs:196:14 [INFO] [stderr] | [INFO] [stderr] 196 | .ok_or(format!("Controller {:?} is not initialized", ctr))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| format!("Controller {:?} is not initialized", ctr))` [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: item `timer_queue::Queue` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/timer_queue.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | / impl Queue { [INFO] [stderr] 51 | | pub fn new() -> Queue { [INFO] [stderr] 52 | | Queue(BinaryHeap::new()) [INFO] [stderr] 53 | | } [INFO] [stderr] ... | [INFO] [stderr] 67 | | } [INFO] [stderr] 68 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `timer_queue::Queue` [INFO] [stderr] --> src/timer_queue.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | / pub fn new() -> Queue { [INFO] [stderr] 52 | | Queue(BinaryHeap::new()) [INFO] [stderr] 53 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | #[derive(Default)] [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/timer_queue.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | / pub fn pop_until<'x>(&'x mut self, max_time: Instant) [INFO] [stderr] 61 | | -> QueueIter<'x, T> [INFO] [stderr] 62 | | { [INFO] [stderr] 63 | | QueueIter { queue: self, max_time: max_time } [INFO] [stderr] 64 | | } [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] error: Could not compile `lithos`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/id_map.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 16 | if self.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `metrics::Metrics` [INFO] [stderr] --> src/metrics.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | / pub fn new() -> Metrics { [INFO] [stderr] 34 | | Metrics { [INFO] [stderr] 35 | | restarts: Counter::new(), [INFO] [stderr] 36 | | sandboxes: Integer::new(), [INFO] [stderr] ... | [INFO] [stderr] 47 | | } [INFO] [stderr] 48 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 32 | impl Default for metrics::Metrics { [INFO] [stderr] 33 | fn default() -> Self { [INFO] [stderr] 34 | Self::new() [INFO] [stderr] 35 | } [INFO] [stderr] 36 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `metrics::Process` [INFO] [stderr] --> src/metrics.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / pub fn new() -> Process { [INFO] [stderr] 53 | | Process { [INFO] [stderr] 54 | | started: Counter::new(), [INFO] [stderr] 55 | | failures: Counter::new(), [INFO] [stderr] ... | [INFO] [stderr] 58 | | } [INFO] [stderr] 59 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 51 | impl Default for metrics::Process { [INFO] [stderr] 52 | fn default() -> Self { [INFO] [stderr] 53 | Self::new() [INFO] [stderr] 54 | } [INFO] [stderr] 55 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: item `range::Range` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/range.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | / impl Range { [INFO] [stderr] 13 | | pub fn new(start: u32, end: u32) -> Range { [INFO] [stderr] 14 | | return Range { start: start, end: end }; [INFO] [stderr] 15 | | } [INFO] [stderr] ... | [INFO] [stderr] 22 | | } [INFO] [stderr] 23 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/range.rs:34:22 [INFO] [stderr] | [INFO] [stderr] 34 | .ok_or(D::Error::custom("Error parsing range"))?, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::custom("Error parsing range"))` [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: use of `ok_or` followed by a function call [INFO] [stderr] --> src/range.rs:36:22 [INFO] [stderr] | [INFO] [stderr] 36 | .ok_or(D::Error::custom("Error parsing range"))?, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| D::Error::custom("Error parsing range"))` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/range.rs:42:25 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn in_range(ranges: &Vec, value: u32) -> bool { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Range]` [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/nacl.rs:438:17 [INFO] [stderr] | [INFO] [stderr] 438 | Err(_) => panic!() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/nacl.rs:513:13 [INFO] [stderr] | [INFO] [stderr] 513 | Err(_) => panic!() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/nacl.rs:552:13 [INFO] [stderr] | [INFO] [stderr] 552 | Err(_) => panic!() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/nacl.rs:591:13 [INFO] [stderr] | [INFO] [stderr] 591 | Err(_) => panic!() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `lithos`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b3ea82d76dfd10461f1f6b4875178ab0383b1abde011df9825c7263be876f1d8"` [INFO] running `"docker" "rm" "-f" "b3ea82d76dfd10461f1f6b4875178ab0383b1abde011df9825c7263be876f1d8"` [INFO] [stdout] b3ea82d76dfd10461f1f6b4875178ab0383b1abde011df9825c7263be876f1d8