[INFO] crate ipaddress 0.1.2 is already in cache [INFO] extracting crate ipaddress 0.1.2 into work/ex/clippy-test-run/sources/stable/reg/ipaddress/0.1.2 [INFO] extracting crate ipaddress 0.1.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ipaddress/0.1.2 [INFO] validating manifest of ipaddress-0.1.2 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of ipaddress-0.1.2 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing ipaddress-0.1.2 [INFO] finished frobbing ipaddress-0.1.2 [INFO] frobbed toml for ipaddress-0.1.2 written to work/ex/clippy-test-run/sources/stable/reg/ipaddress/0.1.2/Cargo.toml [INFO] started frobbing ipaddress-0.1.2 [INFO] finished frobbing ipaddress-0.1.2 [INFO] frobbed toml for ipaddress-0.1.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ipaddress/0.1.2/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting ipaddress-0.1.2 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/ipaddress/0.1.2:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 49a670c40ba661f8ac665363a7274b8da66de47490d3ec17f842cf95b4398d0f [INFO] running `"docker" "start" "-a" "49a670c40ba661f8ac665363a7274b8da66de47490d3ec17f842cf95b4398d0f"` [INFO] [stderr] Checking ipaddress v0.1.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/prefix128.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | num: num, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `num` [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/prefix128.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | ip_bits: ip_bits, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ip_bits` [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/prefix32.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | num: num, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `num` [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/prefix32.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | ip_bits: ip_bits, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ip_bits` [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/prefix128.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | num: num, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `num` [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/prefix128.rs:19:13 [INFO] [stderr] | [INFO] [stderr] 19 | ip_bits: ip_bits, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ip_bits` [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/prefix32.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | num: num, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `num` [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/prefix32.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | ip_bits: ip_bits, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ip_bits` [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/rle.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return self.part.eq(&other.part) && self.pos == other.pos && [INFO] [stderr] 28 | | self.cnt == other.cnt && self.max == other.max; [INFO] [stderr] | |_______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | self.part.eq(&other.part) && self.pos == other.pos && [INFO] [stderr] 28 | self.cnt == other.cnt && self.max == other.max [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rle.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | return last.ret; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `last.ret` [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/ip_bits.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | / return IpBits { [INFO] [stderr] 54 | | version: IpVersion::V6, [INFO] [stderr] 55 | | vt_as_compressed_string: ipv6_as_compressed, [INFO] [stderr] 56 | | vt_as_uncompressed_string: ipv6_as_uncompressed, [INFO] [stderr] ... | [INFO] [stderr] 62 | | host_ofs: BigUint::zero(), [INFO] [stderr] 63 | | }; [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] 53 | IpBits { [INFO] [stderr] 54 | version: IpVersion::V6, [INFO] [stderr] 55 | vt_as_compressed_string: ipv6_as_compressed, [INFO] [stderr] 56 | vt_as_uncompressed_string: ipv6_as_uncompressed, [INFO] [stderr] 57 | bits: 128, [INFO] [stderr] 58 | part_bits: 16, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ip_bits.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | 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/ip_bits.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | return (self.vt_as_compressed_string)(self, bu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_as_compressed_string)(self, bu)` [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/ip_bits.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | return (self.vt_as_uncompressed_string)(self, bu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_as_uncompressed_string)(self, bu)` [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/ip_bits.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ip_bits.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ip_bits.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ip_bits.rs:195:3 [INFO] [stderr] | [INFO] [stderr] 195 | return &V4; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `&V4` [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/ip_bits.rs:210:3 [INFO] [stderr] | [INFO] [stderr] 210 | return &V6; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `&V6` [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/prefix.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / return self.ip_bits.version == other.ip_bits.version && [INFO] [stderr] 40 | | self.num == other.num; [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 | self.ip_bits.version == other.ip_bits.version && [INFO] [stderr] 40 | self.num == other.num [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/prefix.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 64 | | if self.num < oth.num { [INFO] [stderr] 65 | | Ordering::Less [INFO] [stderr] 66 | | } else if self.num > oth.num { [INFO] [stderr] ... | [INFO] [stderr] 70 | | } [INFO] [stderr] 71 | | } [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] 63 | } else if self.num < oth.num { [INFO] [stderr] 64 | Ordering::Less [INFO] [stderr] 65 | } else if self.num > oth.num { [INFO] [stderr] 66 | Ordering::Greater [INFO] [stderr] 67 | } else { [INFO] [stderr] 68 | Ordering::Equal [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/prefix.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | return (self.vt_from)(self, num) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_from)(self, num)` [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/prefix.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | return (self.ip_bits.vt_as_compressed_string)(&self.ip_bits, &self.netmask()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.ip_bits.vt_as_compressed_string)(&self.ip_bits, &self.netmask())` [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/prefix.rs:94:7 [INFO] [stderr] | [INFO] [stderr] 94 | return BigUint::one() << (self.ip_bits.bits-self.num.to_usize().unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `BigUint::one() << (self.ip_bits.bits-self.num.to_usize().unwrap())` [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/prefix.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | return mask [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `mask` [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/prefix.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | return self.num [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.num` [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/prefix.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/prefix.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | return (self.ip_bits.bits) - self.num; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.ip_bits.bits) - self.num` [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/prefix.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | return self.netmask().to_str_radix(2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.netmask().to_str_radix(2)` [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/prefix.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | return self.get_prefix(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.get_prefix()` [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/prefix.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | return self.sub(other.get_prefix()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sub(other.get_prefix())` [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/prefix.rs:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | return self.from(self.get_prefix() - other); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(self.get_prefix() - other)` [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/ipaddress.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | return self.prefix.cmp(&oth.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.prefix.cmp(&oth.prefix)` [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/ipaddress.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 100 | / return self.ip_bits.version == other.ip_bits.version && [INFO] [stderr] 101 | | self.prefix == other.prefix && [INFO] [stderr] 102 | | self.host_address == other.host_address && [INFO] [stderr] 103 | | self.mapped.eq(&other.mapped) [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] 100 | self.ip_bits.version == other.ip_bits.version && [INFO] [stderr] 101 | self.prefix == other.prefix && [INFO] [stderr] 102 | self.host_address == other.host_address && [INFO] [stderr] 103 | self.mapped.eq(&other.mapped) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | return Err(format!("Unknown IP Address {}", str)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Unknown IP Address {}", str))` [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 `else { if .. }` block can be collapsed [INFO] [stderr] --> src/ipaddress.rs:136:16 [INFO] [stderr] | [INFO] [stderr] 136 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 137 | | if RE_IPV4.is_match(&str) { [INFO] [stderr] 138 | | // println!("ipv4:{}", &str); [INFO] [stderr] 139 | | return ::ipv4::new(str); [INFO] [stderr] ... | [INFO] [stderr] 143 | | } [INFO] [stderr] 144 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 136 | } else if RE_IPV4.is_match(&str) { [INFO] [stderr] 137 | // println!("ipv4:{}", &str); [INFO] [stderr] 138 | return ::ipv4::new(str); [INFO] [stderr] 139 | } else if RE_IPV6.is_match(&str) { [INFO] [stderr] 140 | // println!("ipv6:{}", &str); [INFO] [stderr] 141 | return ::ipv6::new(str); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | return (addr, Some(String::from(slash.get(1).unwrap().to_string().trim()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(addr, Some(String::from(slash.get(1).unwrap().to_string().trim())))` [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/ipaddress.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | return (addr, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(addr, None)` [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/ipaddress.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | / return IPAddress { [INFO] [stderr] 163 | | ip_bits: self.ip_bits.clone(), [INFO] [stderr] 164 | | host_address: addr.clone(), [INFO] [stderr] 165 | | prefix: prefix.clone(), [INFO] [stderr] ... | [INFO] [stderr] 169 | | vt_to_ipv6: self.vt_to_ipv6 [INFO] [stderr] 170 | | }; [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] 162 | IPAddress { [INFO] [stderr] 163 | ip_bits: self.ip_bits.clone(), [INFO] [stderr] 164 | host_address: addr.clone(), [INFO] [stderr] 165 | prefix: prefix.clone(), [INFO] [stderr] 166 | mapped: self.mapped.clone(), [INFO] [stderr] 167 | vt_is_private: self.vt_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | return self.ip_bits.version == IpVersion::V4 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.version == IpVersion::V4` [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/ipaddress.rs:194:7 [INFO] [stderr] | [INFO] [stderr] 194 | return self.ip_bits.version == IpVersion::V6 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.version == IpVersion::V6` [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/ipaddress.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | return IPAddress::is_valid_ipv4(addr.clone()) || IPAddress::is_valid_ipv6(addr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::is_valid_ipv4(addr.clone()) || IPAddress::is_valid_ipv6(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/ipaddress.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | return Ok(part_num); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(part_num)` [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/ipaddress.rs:262:9 [INFO] [stderr] | [INFO] [stderr] 262 | return Ok(ip); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ip)` [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/ipaddress.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | return IPAddress::split_to_u32(&addr.into()).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::split_to_u32(&addr.into()).is_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/ipaddress.rs:301:9 [INFO] [stderr] | [INFO] [stderr] 301 | return (Ok(ip), parts_len); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(Ok(ip), parts_len)` [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/ipaddress.rs:328:9 [INFO] [stderr] | [INFO] [stderr] 328 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:332:9 [INFO] [stderr] | [INFO] [stderr] 332 | return IPAddress::split_to_num(&addr.into()).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::split_to_num(&addr.into()).is_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/ipaddress.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | return rem as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `rem as usize` [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/ipaddress.rs:416:9 [INFO] [stderr] | [INFO] [stderr] 416 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:420:9 [INFO] [stderr] | [INFO] [stderr] 420 | return self.ip_bits.parts(&self.host_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.parts(&self.host_address)` [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/ipaddress.rs:428:9 [INFO] [stderr] | [INFO] [stderr] 428 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:445:9 [INFO] [stderr] | [INFO] [stderr] 445 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:460:9 [INFO] [stderr] | [INFO] [stderr] 460 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:473:9 [INFO] [stderr] | [INFO] [stderr] 473 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:496:10 [INFO] [stderr] | [INFO] [stderr] 496 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:625:9 [INFO] [stderr] | [INFO] [stderr] 625 | return IPAddress::aggregate(networks); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::aggregate(networks)` [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/ipaddress.rs:632:9 [INFO] [stderr] | [INFO] [stderr] 632 | return Ok(IPAddress::aggregate(&vec.unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(IPAddress::aggregate(&vec.unwrap()))` [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/ipaddress.rs:637:9 [INFO] [stderr] | [INFO] [stderr] 637 | return self.ip_bits.version == oth.ip_bits.version [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.version == oth.ip_bits.version` [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/ipaddress.rs:646:9 [INFO] [stderr] | [INFO] [stderr] 646 | return self.host_address == BigUint::zero(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.host_address == BigUint::zero()` [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/ipaddress.rs:655:9 [INFO] [stderr] | [INFO] [stderr] 655 | return (self.vt_is_loopback)(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_is_loopback)(self)` [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/ipaddress.rs:665:9 [INFO] [stderr] | [INFO] [stderr] 665 | / return self.mapped.is_some() && [INFO] [stderr] 666 | | (self.host_address.clone() >> 32) == ((BigUint::one() << 16) - BigUint::one()); [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] 665 | self.mapped.is_some() && [INFO] [stderr] 666 | (self.host_address.clone() >> 32) == ((BigUint::one() << 16) - BigUint::one()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:683:9 [INFO] [stderr] | [INFO] [stderr] 683 | return &self.prefix; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.prefix` [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/ipaddress.rs:696:9 [INFO] [stderr] | [INFO] [stderr] 696 | return IPAddress::parse_netmask_to_prefix(addr.into()).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::parse_netmask_to_prefix(addr.into()).is_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/ipaddress.rs:715:9 [INFO] [stderr] | [INFO] [stderr] 715 | return Ok(bits-prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(bits-prefix)` [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/ipaddress.rs:730:9 [INFO] [stderr] | [INFO] [stderr] 730 | return IPAddress::netmask_to_prefix(&my_ip.host_address, my_ip.ip_bits.bits); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::netmask_to_prefix(&my_ip.host_address, my_ip.ip_bits.bits)` [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/ipaddress.rs:756:13 [INFO] [stderr] | [INFO] [stderr] 756 | return Ok(self.from(&self.host_address, &prefix.unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(self.from(&self.host_address, &prefix.unwrap()))` [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/ipaddress.rs:765:9 [INFO] [stderr] | [INFO] [stderr] 765 | return self.change_prefix(nm.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.change_prefix(nm.unwrap())` [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/ipaddress.rs:784:9 [INFO] [stderr] | [INFO] [stderr] 784 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:788:9 [INFO] [stderr] | [INFO] [stderr] 788 | return self.ip_bits.as_compressed_string(&self.host_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.as_compressed_string(&self.host_address)` [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/ipaddress.rs:797:9 [INFO] [stderr] | [INFO] [stderr] 797 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:801:9 [INFO] [stderr] | [INFO] [stderr] 801 | return self.ip_bits.as_uncompressed_string(&self.host_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.as_uncompressed_string(&self.host_address)` [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/ipaddress.rs:809:9 [INFO] [stderr] | [INFO] [stderr] 809 | return self.to_s(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.to_s()` [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/ipaddress.rs:819:9 [INFO] [stderr] | [INFO] [stderr] 819 | return self.to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:840:9 [INFO] [stderr] | [INFO] [stderr] 840 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:844:9 [INFO] [stderr] | [INFO] [stderr] 844 | return self.host_address.to_str_radix(16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.host_address.to_str_radix(16)` [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/ipaddress.rs:860:9 [INFO] [stderr] | [INFO] [stderr] 860 | return self.from(&self.network().host_address.add(self.size().sub(BigUint::one())), &self.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(&self.network().host_address.add(self.size().sub(BigUint::one())), &self.prefix)` [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/ipaddress.rs:878:9 [INFO] [stderr] | [INFO] [stderr] 878 | / return self.prefix.num != self.ip_bits.bits && [INFO] [stderr] 879 | | self.host_address == self.network().host_address; [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] 878 | self.prefix.num != self.ip_bits.bits && [INFO] [stderr] 879 | self.host_address == self.network().host_address [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:892:9 [INFO] [stderr] | [INFO] [stderr] 892 | return self.from(&IPAddress::to_network(&self.host_address, self.prefix.host_prefix()), &self.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(&IPAddress::to_network(&self.host_address, self.prefix.host_prefix()), &self.prefix)` [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/ipaddress.rs:896:9 [INFO] [stderr] | [INFO] [stderr] 896 | return (adr.clone() >> host_prefix) << host_prefix; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(adr.clone() >> host_prefix) << host_prefix` [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/ipaddress.rs:903:9 [INFO] [stderr] | [INFO] [stderr] 903 | return other.host_address.clone().sub(&self.host_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `other.host_address.clone().sub(&self.host_address)` [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/ipaddress.rs:907:9 [INFO] [stderr] | [INFO] [stderr] 907 | return IPAddress::aggregate(&[self.clone(), other.clone()].to_vec()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::aggregate(&[self.clone(), other.clone()].to_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/ipaddress.rs:915:9 [INFO] [stderr] | [INFO] [stderr] 915 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:923:9 [INFO] [stderr] | [INFO] [stderr] 923 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:935:9 [INFO] [stderr] | [INFO] [stderr] 935 | return Ok(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ret)` [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/ipaddress.rs:958:9 [INFO] [stderr] | [INFO] [stderr] 958 | return self.from(&self.network().host_address.add(&self.ip_bits.host_ofs), &self.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(&self.network().host_address.add(&self.ip_bits.host_ofs), &self.prefix)` [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/ipaddress.rs:983:9 [INFO] [stderr] | [INFO] [stderr] 983 | return self.from(&self.broadcast().host_address.sub(&self.ip_bits.host_ofs), &self.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(&self.broadcast().host_address.sub(&self.ip_bits.host_ofs), &self.prefix)` [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/ipaddress.rs:1081:9 [INFO] [stderr] | [INFO] [stderr] 1081 | return BigUint::one() << (self.prefix.host_prefix() as usize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `BigUint::one() << (self.prefix.host_prefix() as usize)` [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/ipaddress.rs:1085:9 [INFO] [stderr] | [INFO] [stderr] 1085 | / return self.is_ipv4() == oth.is_ipv4() && [INFO] [stderr] 1086 | | self.is_ipv6() == oth.is_ipv6(); [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] 1085 | self.is_ipv4() == oth.is_ipv4() && [INFO] [stderr] 1086 | self.is_ipv6() == oth.is_ipv6() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:1109:9 [INFO] [stderr] | [INFO] [stderr] 1109 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:1130:9 [INFO] [stderr] | [INFO] [stderr] 1130 | 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/ipaddress.rs:1143:9 [INFO] [stderr] | [INFO] [stderr] 1143 | return (self.vt_is_private)(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_is_private)(self)` [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/ipaddress.rs:1192:9 [INFO] [stderr] | [INFO] [stderr] 1192 | return dup; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `dup` [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/ipaddress.rs:1207:9 [INFO] [stderr] | [INFO] [stderr] 1207 | return Ok(net); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(net)` [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/ipaddress.rs:1244:9 [INFO] [stderr] | [INFO] [stderr] 1244 | return Ok(self.from(&self.host_address, &self.prefix.from(new_prefix).unwrap()).network()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(self.from(&self.host_address, &self.prefix.from(new_prefix).unwrap()).network())` [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/ipaddress.rs:1286:9 [INFO] [stderr] | [INFO] [stderr] 1286 | return Ok(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ret)` [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/ipaddress.rs:1303:9 [INFO] [stderr] | [INFO] [stderr] 1303 | return (self.vt_to_ipv6)(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_to_ipv6)(self)` [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/ipaddress.rs:1317:9 [INFO] [stderr] | [INFO] [stderr] 1317 | return Err(format!("newprefix not found {}:{}", num, self.ip_bits.bits)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("newprefix not found {}:{}", num, self.ip_bits.bits))` [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/prefix128.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | return Err(format!("Prefix must be in range 0..128, got: {}", num)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Prefix must be in range 0..128, got: {}", num))` [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/prefix128.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | return new(num); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new(num)` [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/ipv6.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | return from_int(num.unwrap(), prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `from_int(num.unwrap(), prefix)` [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/ipv6.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | return Ok(ip); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ip)` [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/ipv6.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | / return enhance_if_mapped(IPAddress { [INFO] [stderr] 117 | | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 118 | | host_address: adr.clone(), [INFO] [stderr] 119 | | prefix: prefix.unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 123 | | vt_to_ipv6: to_ipv6, [INFO] [stderr] 124 | | }); [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] 116 | enhance_if_mapped(IPAddress { [INFO] [stderr] 117 | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 118 | host_address: adr.clone(), [INFO] [stderr] 119 | prefix: prefix.unwrap(), [INFO] [stderr] 120 | mapped: None, [INFO] [stderr] 121 | vt_is_private: ipv6_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv6.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | / return enhance_if_mapped(IPAddress { [INFO] [stderr] 165 | | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 166 | | host_address: o_num.unwrap(), [INFO] [stderr] 167 | | prefix: prefix.unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 171 | | vt_to_ipv6: to_ipv6 [INFO] [stderr] 172 | | }); [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] 164 | enhance_if_mapped(IPAddress { [INFO] [stderr] 165 | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 166 | host_address: o_num.unwrap(), [INFO] [stderr] 167 | prefix: prefix.unwrap(), [INFO] [stderr] 168 | mapped: None, [INFO] [stderr] 169 | vt_is_private: ipv6_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv6.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | return Err(format!("Invalid IP {}", str)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Invalid IP {}", str))` [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/ipv6.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | return ia.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ia.clone()` [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/ipv6.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | return my.host_address == BigUint::one(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `my.host_address == BigUint::one()` [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/ipv6.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | return IPAddress::parse("fd00::/8").unwrap().includes(my); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::parse("fd00::/8").unwrap().includes(my)` [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/ipv6_loopback.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | return ::ipv6::from_int(BigUint::one(), 128).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `::ipv6::from_int(BigUint::one(), 128).unwrap()` [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/ipv6_mapped.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | return Err(format!("unknown mapped format:{}", str)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("unknown mapped format:{}", str))` [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/ipv6_unspec.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | return IPAddress::parse("::").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::parse("::").unwrap()` [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/prefix32.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | return new(num); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new(num)` [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/prefix32.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return Err(format!("Prefix must be in range 0..32, got: {}", num)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Prefix must be in range 0..32, got: {}", num))` [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/ipv4.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | / return Ok(IPAddress { [INFO] [stderr] 76 | | ip_bits: ::ip_bits::v4(), [INFO] [stderr] 77 | | host_address: BigUint::from_u32(addr).unwrap(), [INFO] [stderr] 78 | | prefix: prefix.unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 82 | | vt_to_ipv6: to_ipv6, [INFO] [stderr] 83 | | }); [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] 75 | Ok(IPAddress { [INFO] [stderr] 76 | ip_bits: ::ip_bits::v4(), [INFO] [stderr] 77 | host_address: BigUint::from_u32(addr).unwrap(), [INFO] [stderr] 78 | prefix: prefix.unwrap(), [INFO] [stderr] 79 | mapped: None, [INFO] [stderr] 80 | vt_is_private: ipv4_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | / return Ok(IPAddress { [INFO] [stderr] 110 | | ip_bits: ::ip_bits::v4(), [INFO] [stderr] 111 | | host_address: BigUint::from_u32(split_u32.unwrap()).unwrap(), [INFO] [stderr] 112 | | prefix: ip_prefix.unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 116 | | vt_to_ipv6: to_ipv6, [INFO] [stderr] 117 | | }); [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] 109 | Ok(IPAddress { [INFO] [stderr] 110 | ip_bits: ::ip_bits::v4(), [INFO] [stderr] 111 | host_address: BigUint::from_u32(split_u32.unwrap()).unwrap(), [INFO] [stderr] 112 | prefix: ip_prefix.unwrap(), [INFO] [stderr] 113 | mapped: None, [INFO] [stderr] 114 | vt_is_private: ipv4_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | / return [IPAddress::parse("10.0.0.0/8").unwrap(), [INFO] [stderr] 122 | | IPAddress::parse("169.254.0.0/16").unwrap(), [INFO] [stderr] 123 | | IPAddress::parse("172.16.0.0/12").unwrap(), [INFO] [stderr] 124 | | IPAddress::parse("192.168.0.0/16").unwrap()] [INFO] [stderr] 125 | | .iter().find(|i| i.includes(my)).is_some(); [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] 121 | [IPAddress::parse("10.0.0.0/8").unwrap(), [INFO] [stderr] 122 | IPAddress::parse("169.254.0.0/16").unwrap(), [INFO] [stderr] 123 | IPAddress::parse("172.16.0.0/12").unwrap(), [INFO] [stderr] 124 | IPAddress::parse("192.168.0.0/16").unwrap()] [INFO] [stderr] 125 | .iter().find(|i| i.includes(my)).is_some() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | / return IPAddress::parse("127.0.0.0/8") [INFO] [stderr] 130 | | .unwrap().includes(my); [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] 129 | IPAddress::parse("127.0.0.0/8") [INFO] [stderr] 130 | .unwrap().includes(my) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | / return IPAddress { [INFO] [stderr] 135 | | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 136 | | host_address: ia.host_address.clone(), [INFO] [stderr] 137 | | prefix: ::prefix128::new(ia.prefix.num).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 141 | | vt_to_ipv6: ::ipv6::to_ipv6 [INFO] [stderr] 142 | | } [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] 134 | IPAddress { [INFO] [stderr] 135 | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 136 | host_address: ia.host_address.clone(), [INFO] [stderr] 137 | prefix: ::prefix128::new(ia.prefix.num).unwrap(), [INFO] [stderr] 138 | mapped: None, [INFO] [stderr] 139 | vt_is_private: ::ipv6::ipv6_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:803:5 [INFO] [stderr] | [INFO] [stderr] 803 | return my.is_ipv4() && my.host_address < BigUint::from_u32(0x80000000).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `my.is_ipv4() && my.host_address < BigUint::from_u32(0x80000000).unwrap()` [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/ipv4.rs:803:64 [INFO] [stderr] | [INFO] [stderr] 803 | return my.is_ipv4() && my.host_address < BigUint::from_u32(0x80000000).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/ipv4.rs:819:5 [INFO] [stderr] | [INFO] [stderr] 819 | / return my.is_ipv4() && [INFO] [stderr] 820 | | BigUint::from_u32(0x80000000).unwrap() <= my.host_address && [INFO] [stderr] 821 | | my.host_address < BigUint::from_u32(0xc0000000).unwrap(); [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] 819 | my.is_ipv4() && [INFO] [stderr] 820 | BigUint::from_u32(0x80000000).unwrap() <= my.host_address && [INFO] [stderr] 821 | my.host_address < BigUint::from_u32(0xc0000000).unwrap() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ipv4.rs:820:27 [INFO] [stderr] | [INFO] [stderr] 820 | BigUint::from_u32(0x80000000).unwrap() <= my.host_address && [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ipv4.rs:821:45 [INFO] [stderr] | [INFO] [stderr] 821 | my.host_address < BigUint::from_u32(0xc0000000).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xc000_0000` [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/ipv4.rs:837:5 [INFO] [stderr] | [INFO] [stderr] 837 | / return my.is_ipv4() && [INFO] [stderr] 838 | | BigUint::from_u32(0xc0000000).unwrap() <= my.host_address && [INFO] [stderr] 839 | | my.host_address < BigUint::from_u32(0xe0000000).unwrap(); [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] 837 | my.is_ipv4() && [INFO] [stderr] 838 | BigUint::from_u32(0xc0000000).unwrap() <= my.host_address && [INFO] [stderr] 839 | my.host_address < BigUint::from_u32(0xe0000000).unwrap() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ipv4.rs:838:27 [INFO] [stderr] | [INFO] [stderr] 838 | BigUint::from_u32(0xc0000000).unwrap() <= my.host_address && [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xc000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ipv4.rs:839:45 [INFO] [stderr] | [INFO] [stderr] 839 | my.host_address < BigUint::from_u32(0xe0000000).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xe000_0000` [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/ipv4.rs:1017:5 [INFO] [stderr] | [INFO] [stderr] 1017 | return Ok(ip); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ip)` [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/rle.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | / return self.part.eq(&other.part) && self.pos == other.pos && [INFO] [stderr] 28 | | self.cnt == other.cnt && self.max == other.max; [INFO] [stderr] | |_______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 27 | self.part.eq(&other.part) && self.pos == other.pos && [INFO] [stderr] 28 | self.cnt == other.cnt && self.max == other.max [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/rle.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | return last.ret; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `last.ret` [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/ip_bits.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | / return IpBits { [INFO] [stderr] 54 | | version: IpVersion::V6, [INFO] [stderr] 55 | | vt_as_compressed_string: ipv6_as_compressed, [INFO] [stderr] 56 | | vt_as_uncompressed_string: ipv6_as_uncompressed, [INFO] [stderr] ... | [INFO] [stderr] 62 | | host_ofs: BigUint::zero(), [INFO] [stderr] 63 | | }; [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] 53 | IpBits { [INFO] [stderr] 54 | version: IpVersion::V6, [INFO] [stderr] 55 | vt_as_compressed_string: ipv6_as_compressed, [INFO] [stderr] 56 | vt_as_uncompressed_string: ipv6_as_uncompressed, [INFO] [stderr] 57 | bits: 128, [INFO] [stderr] 58 | part_bits: 16, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ip_bits.rs:102:9 [INFO] [stderr] | [INFO] [stderr] 102 | 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/ip_bits.rs:106:9 [INFO] [stderr] | [INFO] [stderr] 106 | return (self.vt_as_compressed_string)(self, bu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_as_compressed_string)(self, bu)` [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/ip_bits.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | return (self.vt_as_uncompressed_string)(self, bu); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_as_uncompressed_string)(self, bu)` [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/ip_bits.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ip_bits.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ip_bits.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ip_bits.rs:195:3 [INFO] [stderr] | [INFO] [stderr] 195 | return &V4; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `&V4` [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/ip_bits.rs:210:3 [INFO] [stderr] | [INFO] [stderr] 210 | return &V6; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `&V6` [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/prefix.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | / return self.ip_bits.version == other.ip_bits.version && [INFO] [stderr] 40 | | self.num == other.num; [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 | self.ip_bits.version == other.ip_bits.version && [INFO] [stderr] 40 | self.num == other.num [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/prefix.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 64 | | if self.num < oth.num { [INFO] [stderr] 65 | | Ordering::Less [INFO] [stderr] 66 | | } else if self.num > oth.num { [INFO] [stderr] ... | [INFO] [stderr] 70 | | } [INFO] [stderr] 71 | | } [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] 63 | } else if self.num < oth.num { [INFO] [stderr] 64 | Ordering::Less [INFO] [stderr] 65 | } else if self.num > oth.num { [INFO] [stderr] 66 | Ordering::Greater [INFO] [stderr] 67 | } else { [INFO] [stderr] 68 | Ordering::Equal [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/prefix.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | return (self.vt_from)(self, num) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_from)(self, num)` [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/prefix.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 89 | return (self.ip_bits.vt_as_compressed_string)(&self.ip_bits, &self.netmask()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.ip_bits.vt_as_compressed_string)(&self.ip_bits, &self.netmask())` [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/prefix.rs:94:7 [INFO] [stderr] | [INFO] [stderr] 94 | return BigUint::one() << (self.ip_bits.bits-self.num.to_usize().unwrap()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `BigUint::one() << (self.ip_bits.bits-self.num.to_usize().unwrap())` [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/prefix.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | return mask [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `mask` [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/prefix.rs:114:9 [INFO] [stderr] | [INFO] [stderr] 114 | return self.num [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.num` [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/prefix.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/prefix.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | return (self.ip_bits.bits) - self.num; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.ip_bits.bits) - self.num` [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/prefix.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | return self.netmask().to_str_radix(2) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.netmask().to_str_radix(2)` [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/prefix.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | return self.get_prefix(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.get_prefix()` [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/prefix.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | return self.sub(other.get_prefix()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sub(other.get_prefix())` [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/prefix.rs:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | return self.from(self.get_prefix() - other); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(self.get_prefix() - other)` [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/ipaddress.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | return self.prefix.cmp(&oth.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.prefix.cmp(&oth.prefix)` [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/ipaddress.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 100 | / return self.ip_bits.version == other.ip_bits.version && [INFO] [stderr] 101 | | self.prefix == other.prefix && [INFO] [stderr] 102 | | self.host_address == other.host_address && [INFO] [stderr] 103 | | self.mapped.eq(&other.mapped) [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] 100 | self.ip_bits.version == other.ip_bits.version && [INFO] [stderr] 101 | self.prefix == other.prefix && [INFO] [stderr] 102 | self.host_address == other.host_address && [INFO] [stderr] 103 | self.mapped.eq(&other.mapped) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | return Err(format!("Unknown IP Address {}", str)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Unknown IP Address {}", str))` [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 `else { if .. }` block can be collapsed [INFO] [stderr] --> src/ipaddress.rs:136:16 [INFO] [stderr] | [INFO] [stderr] 136 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 137 | | if RE_IPV4.is_match(&str) { [INFO] [stderr] 138 | | // println!("ipv4:{}", &str); [INFO] [stderr] 139 | | return ::ipv4::new(str); [INFO] [stderr] ... | [INFO] [stderr] 143 | | } [INFO] [stderr] 144 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 136 | } else if RE_IPV4.is_match(&str) { [INFO] [stderr] 137 | // println!("ipv4:{}", &str); [INFO] [stderr] 138 | return ::ipv4::new(str); [INFO] [stderr] 139 | } else if RE_IPV6.is_match(&str) { [INFO] [stderr] 140 | // println!("ipv6:{}", &str); [INFO] [stderr] 141 | return ::ipv6::new(str); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | return (addr, Some(String::from(slash.get(1).unwrap().to_string().trim()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(addr, Some(String::from(slash.get(1).unwrap().to_string().trim())))` [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/ipaddress.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | return (addr, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(addr, None)` [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/ipaddress.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | / return IPAddress { [INFO] [stderr] 163 | | ip_bits: self.ip_bits.clone(), [INFO] [stderr] 164 | | host_address: addr.clone(), [INFO] [stderr] 165 | | prefix: prefix.clone(), [INFO] [stderr] ... | [INFO] [stderr] 169 | | vt_to_ipv6: self.vt_to_ipv6 [INFO] [stderr] 170 | | }; [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] 162 | IPAddress { [INFO] [stderr] 163 | ip_bits: self.ip_bits.clone(), [INFO] [stderr] 164 | host_address: addr.clone(), [INFO] [stderr] 165 | prefix: prefix.clone(), [INFO] [stderr] 166 | mapped: self.mapped.clone(), [INFO] [stderr] 167 | vt_is_private: self.vt_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:182:9 [INFO] [stderr] | [INFO] [stderr] 182 | return self.ip_bits.version == IpVersion::V4 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.version == IpVersion::V4` [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/ipaddress.rs:194:7 [INFO] [stderr] | [INFO] [stderr] 194 | return self.ip_bits.version == IpVersion::V6 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.version == IpVersion::V6` [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/ipaddress.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | return IPAddress::is_valid_ipv4(addr.clone()) || IPAddress::is_valid_ipv6(addr); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::is_valid_ipv4(addr.clone()) || IPAddress::is_valid_ipv6(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/ipaddress.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | return Ok(part_num); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(part_num)` [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/ipaddress.rs:262:9 [INFO] [stderr] | [INFO] [stderr] 262 | return Ok(ip); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ip)` [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/ipaddress.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | return IPAddress::split_to_u32(&addr.into()).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::split_to_u32(&addr.into()).is_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/ipaddress.rs:301:9 [INFO] [stderr] | [INFO] [stderr] 301 | return (Ok(ip), parts_len); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(Ok(ip), parts_len)` [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/ipaddress.rs:328:9 [INFO] [stderr] | [INFO] [stderr] 328 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:332:9 [INFO] [stderr] | [INFO] [stderr] 332 | return IPAddress::split_to_num(&addr.into()).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::split_to_num(&addr.into()).is_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/ipaddress.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 346 | return rem as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `rem as usize` [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/ipaddress.rs:416:9 [INFO] [stderr] | [INFO] [stderr] 416 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:420:9 [INFO] [stderr] | [INFO] [stderr] 420 | return self.ip_bits.parts(&self.host_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.parts(&self.host_address)` [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/ipaddress.rs:428:9 [INFO] [stderr] | [INFO] [stderr] 428 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:445:9 [INFO] [stderr] | [INFO] [stderr] 445 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:460:9 [INFO] [stderr] | [INFO] [stderr] 460 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:473:9 [INFO] [stderr] | [INFO] [stderr] 473 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:496:10 [INFO] [stderr] | [INFO] [stderr] 496 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:625:9 [INFO] [stderr] | [INFO] [stderr] 625 | return IPAddress::aggregate(networks); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::aggregate(networks)` [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/ipaddress.rs:632:9 [INFO] [stderr] | [INFO] [stderr] 632 | return Ok(IPAddress::aggregate(&vec.unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(IPAddress::aggregate(&vec.unwrap()))` [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/ipaddress.rs:637:9 [INFO] [stderr] | [INFO] [stderr] 637 | return self.ip_bits.version == oth.ip_bits.version [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.version == oth.ip_bits.version` [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/ipaddress.rs:646:9 [INFO] [stderr] | [INFO] [stderr] 646 | return self.host_address == BigUint::zero(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.host_address == BigUint::zero()` [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/ipaddress.rs:655:9 [INFO] [stderr] | [INFO] [stderr] 655 | return (self.vt_is_loopback)(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_is_loopback)(self)` [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/ipaddress.rs:665:9 [INFO] [stderr] | [INFO] [stderr] 665 | / return self.mapped.is_some() && [INFO] [stderr] 666 | | (self.host_address.clone() >> 32) == ((BigUint::one() << 16) - BigUint::one()); [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] 665 | self.mapped.is_some() && [INFO] [stderr] 666 | (self.host_address.clone() >> 32) == ((BigUint::one() << 16) - BigUint::one()) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:683:9 [INFO] [stderr] | [INFO] [stderr] 683 | return &self.prefix; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.prefix` [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/ipaddress.rs:696:9 [INFO] [stderr] | [INFO] [stderr] 696 | return IPAddress::parse_netmask_to_prefix(addr.into()).is_ok(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::parse_netmask_to_prefix(addr.into()).is_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/ipaddress.rs:715:9 [INFO] [stderr] | [INFO] [stderr] 715 | return Ok(bits-prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(bits-prefix)` [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/ipaddress.rs:730:9 [INFO] [stderr] | [INFO] [stderr] 730 | return IPAddress::netmask_to_prefix(&my_ip.host_address, my_ip.ip_bits.bits); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::netmask_to_prefix(&my_ip.host_address, my_ip.ip_bits.bits)` [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/ipaddress.rs:756:13 [INFO] [stderr] | [INFO] [stderr] 756 | return Ok(self.from(&self.host_address, &prefix.unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(self.from(&self.host_address, &prefix.unwrap()))` [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/ipaddress.rs:765:9 [INFO] [stderr] | [INFO] [stderr] 765 | return self.change_prefix(nm.unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.change_prefix(nm.unwrap())` [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/ipaddress.rs:784:9 [INFO] [stderr] | [INFO] [stderr] 784 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:788:9 [INFO] [stderr] | [INFO] [stderr] 788 | return self.ip_bits.as_compressed_string(&self.host_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.as_compressed_string(&self.host_address)` [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/ipaddress.rs:797:9 [INFO] [stderr] | [INFO] [stderr] 797 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:801:9 [INFO] [stderr] | [INFO] [stderr] 801 | return self.ip_bits.as_uncompressed_string(&self.host_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.ip_bits.as_uncompressed_string(&self.host_address)` [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/ipaddress.rs:809:9 [INFO] [stderr] | [INFO] [stderr] 809 | return self.to_s(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.to_s()` [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/ipaddress.rs:819:9 [INFO] [stderr] | [INFO] [stderr] 819 | return self.to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:840:9 [INFO] [stderr] | [INFO] [stderr] 840 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:844:9 [INFO] [stderr] | [INFO] [stderr] 844 | return self.host_address.to_str_radix(16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.host_address.to_str_radix(16)` [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/ipaddress.rs:860:9 [INFO] [stderr] | [INFO] [stderr] 860 | return self.from(&self.network().host_address.add(self.size().sub(BigUint::one())), &self.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(&self.network().host_address.add(self.size().sub(BigUint::one())), &self.prefix)` [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/ipaddress.rs:878:9 [INFO] [stderr] | [INFO] [stderr] 878 | / return self.prefix.num != self.ip_bits.bits && [INFO] [stderr] 879 | | self.host_address == self.network().host_address; [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] 878 | self.prefix.num != self.ip_bits.bits && [INFO] [stderr] 879 | self.host_address == self.network().host_address [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:892:9 [INFO] [stderr] | [INFO] [stderr] 892 | return self.from(&IPAddress::to_network(&self.host_address, self.prefix.host_prefix()), &self.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(&IPAddress::to_network(&self.host_address, self.prefix.host_prefix()), &self.prefix)` [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/ipaddress.rs:896:9 [INFO] [stderr] | [INFO] [stderr] 896 | return (adr.clone() >> host_prefix) << host_prefix; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(adr.clone() >> host_prefix) << host_prefix` [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/ipaddress.rs:903:9 [INFO] [stderr] | [INFO] [stderr] 903 | return other.host_address.clone().sub(&self.host_address); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `other.host_address.clone().sub(&self.host_address)` [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/ipaddress.rs:907:9 [INFO] [stderr] | [INFO] [stderr] 907 | return IPAddress::aggregate(&[self.clone(), other.clone()].to_vec()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::aggregate(&[self.clone(), other.clone()].to_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/ipaddress.rs:915:9 [INFO] [stderr] | [INFO] [stderr] 915 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:923:9 [INFO] [stderr] | [INFO] [stderr] 923 | return ret; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:935:9 [INFO] [stderr] | [INFO] [stderr] 935 | return Ok(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ret)` [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/ipaddress.rs:958:9 [INFO] [stderr] | [INFO] [stderr] 958 | return self.from(&self.network().host_address.add(&self.ip_bits.host_ofs), &self.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(&self.network().host_address.add(&self.ip_bits.host_ofs), &self.prefix)` [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/ipaddress.rs:983:9 [INFO] [stderr] | [INFO] [stderr] 983 | return self.from(&self.broadcast().host_address.sub(&self.ip_bits.host_ofs), &self.prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.from(&self.broadcast().host_address.sub(&self.ip_bits.host_ofs), &self.prefix)` [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/ipaddress.rs:1081:9 [INFO] [stderr] | [INFO] [stderr] 1081 | return BigUint::one() << (self.prefix.host_prefix() as usize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `BigUint::one() << (self.prefix.host_prefix() as usize)` [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/ipaddress.rs:1085:9 [INFO] [stderr] | [INFO] [stderr] 1085 | / return self.is_ipv4() == oth.is_ipv4() && [INFO] [stderr] 1086 | | self.is_ipv6() == oth.is_ipv6(); [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] 1085 | self.is_ipv4() == oth.is_ipv4() && [INFO] [stderr] 1086 | self.is_ipv6() == oth.is_ipv6() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipaddress.rs:1109:9 [INFO] [stderr] | [INFO] [stderr] 1109 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [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/ipaddress.rs:1130:9 [INFO] [stderr] | [INFO] [stderr] 1130 | 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/ipaddress.rs:1143:9 [INFO] [stderr] | [INFO] [stderr] 1143 | return (self.vt_is_private)(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_is_private)(self)` [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/ipaddress.rs:1192:9 [INFO] [stderr] | [INFO] [stderr] 1192 | return dup; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `dup` [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/ipaddress.rs:1207:9 [INFO] [stderr] | [INFO] [stderr] 1207 | return Ok(net); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(net)` [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/ipaddress.rs:1244:9 [INFO] [stderr] | [INFO] [stderr] 1244 | return Ok(self.from(&self.host_address, &self.prefix.from(new_prefix).unwrap()).network()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(self.from(&self.host_address, &self.prefix.from(new_prefix).unwrap()).network())` [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/ipaddress.rs:1286:9 [INFO] [stderr] | [INFO] [stderr] 1286 | return Ok(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ret)` [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/ipaddress.rs:1303:9 [INFO] [stderr] | [INFO] [stderr] 1303 | return (self.vt_to_ipv6)(self); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(self.vt_to_ipv6)(self)` [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/ipaddress.rs:1317:9 [INFO] [stderr] | [INFO] [stderr] 1317 | return Err(format!("newprefix not found {}:{}", num, self.ip_bits.bits)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("newprefix not found {}:{}", num, self.ip_bits.bits))` [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/prefix128.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | return Err(format!("Prefix must be in range 0..128, got: {}", num)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Prefix must be in range 0..128, got: {}", num))` [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/prefix128.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | return new(num); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new(num)` [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/ipv6.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | return from_int(num.unwrap(), prefix); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `from_int(num.unwrap(), prefix)` [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/ipv6.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | return Ok(ip); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ip)` [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/ipv6.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | / return enhance_if_mapped(IPAddress { [INFO] [stderr] 117 | | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 118 | | host_address: adr.clone(), [INFO] [stderr] 119 | | prefix: prefix.unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 123 | | vt_to_ipv6: to_ipv6, [INFO] [stderr] 124 | | }); [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] 116 | enhance_if_mapped(IPAddress { [INFO] [stderr] 117 | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 118 | host_address: adr.clone(), [INFO] [stderr] 119 | prefix: prefix.unwrap(), [INFO] [stderr] 120 | mapped: None, [INFO] [stderr] 121 | vt_is_private: ipv6_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv6.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | / return enhance_if_mapped(IPAddress { [INFO] [stderr] 165 | | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 166 | | host_address: o_num.unwrap(), [INFO] [stderr] 167 | | prefix: prefix.unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 171 | | vt_to_ipv6: to_ipv6 [INFO] [stderr] 172 | | }); [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] 164 | enhance_if_mapped(IPAddress { [INFO] [stderr] 165 | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 166 | host_address: o_num.unwrap(), [INFO] [stderr] 167 | prefix: prefix.unwrap(), [INFO] [stderr] 168 | mapped: None, [INFO] [stderr] 169 | vt_is_private: ipv6_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv6.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | return Err(format!("Invalid IP {}", str)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Invalid IP {}", str))` [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/ipv6.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | return ia.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `ia.clone()` [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/ipv6.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | return my.host_address == BigUint::one(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `my.host_address == BigUint::one()` [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/ipv6.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | return IPAddress::parse("fd00::/8").unwrap().includes(my); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::parse("fd00::/8").unwrap().includes(my)` [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/ipv6_loopback.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | return ::ipv6::from_int(BigUint::one(), 128).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `::ipv6::from_int(BigUint::one(), 128).unwrap()` [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/ipv6_mapped.rs:157:5 [INFO] [stderr] | [INFO] [stderr] 157 | return Err(format!("unknown mapped format:{}", str)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("unknown mapped format:{}", str))` [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/ipv6_unspec.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | return IPAddress::parse("::").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `IPAddress::parse("::").unwrap()` [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/prefix32.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | return new(num); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `new(num)` [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/prefix32.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return Err(format!("Prefix must be in range 0..32, got: {}", num)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Prefix must be in range 0..32, got: {}", num))` [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/ipv4.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | / return Ok(IPAddress { [INFO] [stderr] 76 | | ip_bits: ::ip_bits::v4(), [INFO] [stderr] 77 | | host_address: BigUint::from_u32(addr).unwrap(), [INFO] [stderr] 78 | | prefix: prefix.unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 82 | | vt_to_ipv6: to_ipv6, [INFO] [stderr] 83 | | }); [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] 75 | Ok(IPAddress { [INFO] [stderr] 76 | ip_bits: ::ip_bits::v4(), [INFO] [stderr] 77 | host_address: BigUint::from_u32(addr).unwrap(), [INFO] [stderr] 78 | prefix: prefix.unwrap(), [INFO] [stderr] 79 | mapped: None, [INFO] [stderr] 80 | vt_is_private: ipv4_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | / return Ok(IPAddress { [INFO] [stderr] 110 | | ip_bits: ::ip_bits::v4(), [INFO] [stderr] 111 | | host_address: BigUint::from_u32(split_u32.unwrap()).unwrap(), [INFO] [stderr] 112 | | prefix: ip_prefix.unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 116 | | vt_to_ipv6: to_ipv6, [INFO] [stderr] 117 | | }); [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] 109 | Ok(IPAddress { [INFO] [stderr] 110 | ip_bits: ::ip_bits::v4(), [INFO] [stderr] 111 | host_address: BigUint::from_u32(split_u32.unwrap()).unwrap(), [INFO] [stderr] 112 | prefix: ip_prefix.unwrap(), [INFO] [stderr] 113 | mapped: None, [INFO] [stderr] 114 | vt_is_private: ipv4_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | / return [IPAddress::parse("10.0.0.0/8").unwrap(), [INFO] [stderr] 122 | | IPAddress::parse("169.254.0.0/16").unwrap(), [INFO] [stderr] 123 | | IPAddress::parse("172.16.0.0/12").unwrap(), [INFO] [stderr] 124 | | IPAddress::parse("192.168.0.0/16").unwrap()] [INFO] [stderr] 125 | | .iter().find(|i| i.includes(my)).is_some(); [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] 121 | [IPAddress::parse("10.0.0.0/8").unwrap(), [INFO] [stderr] 122 | IPAddress::parse("169.254.0.0/16").unwrap(), [INFO] [stderr] 123 | IPAddress::parse("172.16.0.0/12").unwrap(), [INFO] [stderr] 124 | IPAddress::parse("192.168.0.0/16").unwrap()] [INFO] [stderr] 125 | .iter().find(|i| i.includes(my)).is_some() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | / return IPAddress::parse("127.0.0.0/8") [INFO] [stderr] 130 | | .unwrap().includes(my); [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] 129 | IPAddress::parse("127.0.0.0/8") [INFO] [stderr] 130 | .unwrap().includes(my) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | / return IPAddress { [INFO] [stderr] 135 | | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 136 | | host_address: ia.host_address.clone(), [INFO] [stderr] 137 | | prefix: ::prefix128::new(ia.prefix.num).unwrap(), [INFO] [stderr] ... | [INFO] [stderr] 141 | | vt_to_ipv6: ::ipv6::to_ipv6 [INFO] [stderr] 142 | | } [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] 134 | IPAddress { [INFO] [stderr] 135 | ip_bits: ::ip_bits::v6(), [INFO] [stderr] 136 | host_address: ia.host_address.clone(), [INFO] [stderr] 137 | prefix: ::prefix128::new(ia.prefix.num).unwrap(), [INFO] [stderr] 138 | mapped: None, [INFO] [stderr] 139 | vt_is_private: ::ipv6::ipv6_is_private, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ipv4.rs:803:5 [INFO] [stderr] | [INFO] [stderr] 803 | return my.is_ipv4() && my.host_address < BigUint::from_u32(0x80000000).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `my.is_ipv4() && my.host_address < BigUint::from_u32(0x80000000).unwrap()` [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/ipv4.rs:803:64 [INFO] [stderr] | [INFO] [stderr] 803 | return my.is_ipv4() && my.host_address < BigUint::from_u32(0x80000000).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [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/ipv4.rs:819:5 [INFO] [stderr] | [INFO] [stderr] 819 | / return my.is_ipv4() && [INFO] [stderr] 820 | | BigUint::from_u32(0x80000000).unwrap() <= my.host_address && [INFO] [stderr] 821 | | my.host_address < BigUint::from_u32(0xc0000000).unwrap(); [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] 819 | my.is_ipv4() && [INFO] [stderr] 820 | BigUint::from_u32(0x80000000).unwrap() <= my.host_address && [INFO] [stderr] 821 | my.host_address < BigUint::from_u32(0xc0000000).unwrap() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ipv4.rs:820:27 [INFO] [stderr] | [INFO] [stderr] 820 | BigUint::from_u32(0x80000000).unwrap() <= my.host_address && [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ipv4.rs:821:45 [INFO] [stderr] | [INFO] [stderr] 821 | my.host_address < BigUint::from_u32(0xc0000000).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xc000_0000` [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/ipv4.rs:837:5 [INFO] [stderr] | [INFO] [stderr] 837 | / return my.is_ipv4() && [INFO] [stderr] 838 | | BigUint::from_u32(0xc0000000).unwrap() <= my.host_address && [INFO] [stderr] 839 | | my.host_address < BigUint::from_u32(0xe0000000).unwrap(); [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] 837 | my.is_ipv4() && [INFO] [stderr] 838 | BigUint::from_u32(0xc0000000).unwrap() <= my.host_address && [INFO] [stderr] 839 | my.host_address < BigUint::from_u32(0xe0000000).unwrap() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ipv4.rs:838:27 [INFO] [stderr] | [INFO] [stderr] 838 | BigUint::from_u32(0xc0000000).unwrap() <= my.host_address && [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xc000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ipv4.rs:839:45 [INFO] [stderr] | [INFO] [stderr] 839 | my.host_address < BigUint::from_u32(0xe0000000).unwrap(); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xe000_0000` [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/ipv4.rs:1017:5 [INFO] [stderr] | [INFO] [stderr] 1017 | return Ok(ip); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ip)` [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: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/rle.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 31 | | !self.eq(other) [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::partialeq_ne_impl)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/rle.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let ref mut _last = self.val.as_mut().unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^------------------------------ help: try: `let _last = &mut self.val.as_mut().unwrap();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/rle.rs:48:61 [INFO] [stderr] | [INFO] [stderr] 48 | let max_rles = self.max_poses.entry(_last.part.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/rle.rs:48:41 [INFO] [stderr] | [INFO] [stderr] 48 | let max_rles = self.max_poses.entry(_last.part.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `_last.part` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/rle.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let ref mut prev = self.ret[idx]; [INFO] [stderr] | ----^^^^^^^^^^^^----------------- help: try: `let prev = &mut self.ret[idx];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/rle.rs:70:70 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn code(parts: &Vec) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [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: the loop variable `i` is only used to index `parts`. [INFO] [stderr] --> src/rle.rs:77:14 [INFO] [stderr] | [INFO] [stderr] 77 | for i in 0..parts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 77 | for in &parts { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/rle.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | let ref part = parts[i]; [INFO] [stderr] | ----^^^^^^^^------------ help: try: `let part = &parts[i];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/rle.rs:84:45 [INFO] [stderr] | [INFO] [stderr] 84 | last.val = Some(Rle::{ part: part.clone(), pos: 0, cnt: 1, max: true }); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*part` [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] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/prefix.rs:30:22 [INFO] [stderr] | [INFO] [stderr] 30 | ip_bits: self.ip_bits.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 30 | ip_bits: &(*self.ip_bits).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 30 | ip_bits: &ip_bits::IpBits::clone(self.ip_bits), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/prefix.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 43 | | !self.eq(other) [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/prefix.rs:101:13 [INFO] [stderr] | [INFO] [stderr] 101 | mask = mask + (BigUint::one() << (host_prefix+i)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mask += (BigUint::one() << (host_prefix+i))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: trivial regex [INFO] [stderr] --> src/ipaddress.rs:53:49 [INFO] [stderr] | [INFO] [stderr] 53 | static ref RE_IPV4 : Regex = Regex::new(r"\.").unwrap(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: trivial regex [INFO] [stderr] --> src/ipaddress.rs:54:49 [INFO] [stderr] | [INFO] [stderr] 54 | static ref RE_IPV6 : Regex = Regex::new(r":").unwrap(); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/ipaddress.rs:61:22 [INFO] [stderr] | [INFO] [stderr] 61 | ip_bits: self.ip_bits.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 61 | ip_bits: &(*self.ip_bits).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 61 | ip_bits: &ip_bits::IpBits::clone(self.ip_bits), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/ipaddress.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 106 | | !self.eq(other) [INFO] [stderr] 107 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:148:32 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn split_at_slash(str: &String) -> (String, Option) { [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipaddress.rs:149:50 [INFO] [stderr] | [INFO] [stderr] 149 | let slash : Vec<&str> = str.trim().split("/").collect(); [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:152:27 [INFO] [stderr] | [INFO] [stderr] 152 | addr.push_str(slash.get(0).unwrap().to_string().trim()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&slash[0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:155:45 [INFO] [stderr] | [INFO] [stderr] 155 | return (addr, Some(String::from(slash.get(1).unwrap().to_string().trim()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&slash[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/ipaddress.rs:163:22 [INFO] [stderr] | [INFO] [stderr] 163 | ip_bits: self.ip_bits.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 163 | ip_bits: &(*self.ip_bits).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 163 | ip_bits: &ip_bits::IpBits::clone(self.ip_bits), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:226:43 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn parse_ipv4_part(i: &str, addr: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:237:31 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn split_to_u32(addr: &String) -> Result { [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipaddress.rs:240:41 [INFO] [stderr] | [INFO] [stderr] 240 | let mut split_addr = addr.split(".").collect::>(); [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: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:259:13 [INFO] [stderr] | [INFO] [stderr] 259 | ip = ip | (part.unwrap() << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ip |= (part.unwrap() << shift)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:280:33 [INFO] [stderr] | [INFO] [stderr] 280 | pub fn split_on_colon(addr: &String) -> (Result, usize) { [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipaddress.rs:281:39 [INFO] [stderr] | [INFO] [stderr] 281 | let parts = addr.trim().split(":").collect::>(); [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:283:32 [INFO] [stderr] | [INFO] [stderr] 283 | if parts.len() == 1 && parts.get(0).unwrap().is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parts[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:303:31 [INFO] [stderr] | [INFO] [stderr] 303 | pub fn split_to_num(addr: &String) -> Result { [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:311:77 [INFO] [stderr] | [INFO] [stderr] 311 | let (pre, pre_parts) = IPAddress::split_on_colon(&String::from(*pre_post.get(0).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&pre_post[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:315:70 [INFO] [stderr] | [INFO] [stderr] 315 | let (post, _) = IPAddress::split_on_colon(&String::from(*pre_post.get(1).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&pre_post[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/ipaddress.rs:326:24 [INFO] [stderr] | [INFO] [stderr] 326 | return Err(format!("incomplete IPv6")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"incomplete IPv6".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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/ipaddress.rs:349:32 [INFO] [stderr] | [INFO] [stderr] 349 | pub fn aggregate(networks: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[IPAddress]` [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/ipaddress.rs:350:12 [INFO] [stderr] | [INFO] [stderr] 350 | if networks.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `networks.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: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:379:13 [INFO] [stderr] | [INFO] [stderr] 379 | pos = pos + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:385:13 [INFO] [stderr] | [INFO] [stderr] 385 | pos = pos + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:388:17 [INFO] [stderr] | [INFO] [stderr] 388 | pos = pos - 2; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos -= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:398:21 [INFO] [stderr] | [INFO] [stderr] 398 | pos = pos - 2; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos -= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:403:21 [INFO] [stderr] | [INFO] [stderr] 403 | pos = pos - 1; // backtrack [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:407:21 [INFO] [stderr] | [INFO] [stderr] 407 | pos = pos - 1; // do it with second as first [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `stack`. [INFO] [stderr] --> src/ipaddress.rs:413:18 [INFO] [stderr] | [INFO] [stderr] 413 | for i in 0..stack.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 413 | for in &stack { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `dns_parts`. [INFO] [stderr] --> src/ipaddress.rs:453:18 [INFO] [stderr] | [INFO] [stderr] 453 | for i in ((self.prefix.host_prefix()+(self.ip_bits.dns_bits-1))/self.ip_bits.dns_bits)..dns_parts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 453 | for in dns_parts.iter().skip(((self.prefix.host_prefix()+(self.ip_bits.dns_bits-1))/self.ip_bits.dns_bits)) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/ipaddress.rs:480:13 [INFO] [stderr] | [INFO] [stderr] 480 | if next_bit_mask <= 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using next_bit_mask == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [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/ipaddress.rs:624:32 [INFO] [stderr] | [INFO] [stderr] 624 | pub fn summarize(networks: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[IPAddress]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:707:17 [INFO] [stderr] | [INFO] [stderr] 707 | prefix = prefix + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `prefix += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/ipaddress.rs:895:23 [INFO] [stderr] | [INFO] [stderr] 895 | pub fn to_network(adr: &BigUint, host_prefix: usize) -> BigUint { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [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/ipaddress.rs:910:26 [INFO] [stderr] | [INFO] [stderr] 910 | pub fn to_s_vec(vec: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[IPAddress]` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/ipaddress.rs:910:21 [INFO] [stderr] | [INFO] [stderr] 910 | pub fn to_s_vec(vec: &Vec) -> Vec { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [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/ipaddress.rs:918:31 [INFO] [stderr] | [INFO] [stderr] 918 | pub fn to_string_vec(vec: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[IPAddress]` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/ipaddress.rs:918:26 [INFO] [stderr] | [INFO] [stderr] 918 | pub fn to_string_vec(vec: &Vec) -> Vec { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/ipaddress.rs:926:46 [INFO] [stderr] | [INFO] [stderr] 926 | pub fn to_ipaddress_vec>(vec: Vec) -> Result, String> { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [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/ipaddress.rs:1178:36 [INFO] [stderr] | [INFO] [stderr] 1178 | fn sum_first_found(&self, arr: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 1178 | fn sum_first_found(&self, arr: &[IPAddress]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] help: change `arr.clone()` to [INFO] [stderr] | [INFO] [stderr] 1179 | let mut dup = arr.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:1284:13 [INFO] [stderr] | [INFO] [stderr] 1284 | net.host_address = net.host_address + size; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `net.host_address += size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ipaddress.rs:1313:16 [INFO] [stderr] | [INFO] [stderr] 1313 | if a == (i as f64).log2() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(a - (i as f64).log2()).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ipaddress.rs:1313:16 [INFO] [stderr] | [INFO] [stderr] 1313 | if a == (i as f64).log2() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/ipv6.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / let mut netmask = 128; [INFO] [stderr] 152 | | if o_netmask.is_some() { [INFO] [stderr] 153 | | let network = o_netmask.unwrap(); [INFO] [stderr] 154 | | let num_mask = u8::from_str(&network); [INFO] [stderr] ... | [INFO] [stderr] 158 | | netmask = network.parse::().unwrap(); [INFO] [stderr] 159 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let netmask = if o_netmask.is_some() { ..; network.parse::().unwrap() } else { 128 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/ipv6_mapped.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | / let mut netmask = String::from(""); [INFO] [stderr] 104 | | if o_netmask.is_some() { [INFO] [stderr] 105 | | netmask = format!("/{}", o_netmask.unwrap()); [INFO] [stderr] 106 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let netmask = if o_netmask.is_some() { $ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) } else { String::from("") };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/ipv6_mapped.rs:93:32 [INFO] [stderr] | [INFO] [stderr] 93 | let split_colon = ip.split(":").collect::>(); [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/ipv6_mapped.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | let ref part_mod = ipv6_bits.part_mod; [INFO] [stderr] | ----^^^^^^^^^^^^---------------------- help: try: `let part_mod = &ipv6_bits.part_mod;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `split_colon`. [INFO] [stderr] --> src/ipv6_mapped.rs:123:18 [INFO] [stderr] | [INFO] [stderr] 123 | for i in 0..split_colon.len()-1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 123 | for in split_colon.iter().take(split_colon.len()-1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/rle.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 31 | | !self.eq(other) [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::partialeq_ne_impl)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/rle.rs:47:9 [INFO] [stderr] | [INFO] [stderr] 47 | let ref mut _last = self.val.as_mut().unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^------------------------------ help: try: `let _last = &mut self.val.as_mut().unwrap();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/rle.rs:48:61 [INFO] [stderr] | [INFO] [stderr] 48 | let max_rles = self.max_poses.entry(_last.part.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/rle.rs:48:41 [INFO] [stderr] | [INFO] [stderr] 48 | let max_rles = self.max_poses.entry(_last.part.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `_last.part` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/rle.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | let ref mut prev = self.ret[idx]; [INFO] [stderr] | ----^^^^^^^^^^^^----------------- help: try: `let prev = &mut self.ret[idx];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/rle.rs:70:70 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn code(parts: &Vec) -> Vec> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [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] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/prefix32.rs:18:8 [INFO] [stderr] | [INFO] [stderr] 18 | if 0 <= num && num <= 32 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, this comparison is always true [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: statement with no effect [INFO] [stderr] --> src/prefix32.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | &from; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::no_effect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_effect [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `parts`. [INFO] [stderr] --> src/rle.rs:77:14 [INFO] [stderr] | [INFO] [stderr] 77 | for i in 0..parts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 77 | for in &parts { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/rle.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | let ref part = parts[i]; [INFO] [stderr] | ----^^^^^^^^------------ help: try: `let part = &parts[i];` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/rle.rs:84:45 [INFO] [stderr] | [INFO] [stderr] 84 | last.val = Some(Rle::{ part: part.clone(), pos: 0, cnt: 1, max: true }); [INFO] [stderr] | ^^^^^^^^^^^^ help: try dereferencing it: `*part` [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: called `is_some()` after searching an `Iterator` with find. This is more succinctly expressed by calling `any()`. [INFO] [stderr] --> src/ipv4.rs:121:12 [INFO] [stderr] | [INFO] [stderr] 121 | return [IPAddress::parse("10.0.0.0/8").unwrap(), [INFO] [stderr] | ____________^ [INFO] [stderr] 122 | | IPAddress::parse("169.254.0.0/16").unwrap(), [INFO] [stderr] 123 | | IPAddress::parse("172.16.0.0/12").unwrap(), [INFO] [stderr] 124 | | IPAddress::parse("192.168.0.0/16").unwrap()] [INFO] [stderr] 125 | | .iter().find(|i| i.includes(my)).is_some(); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::search_is_some)] on by default [INFO] [stderr] = note: replace `find(|i| i.includes(my)).is_some()` with `any(|i| i.includes(my))` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ipaddress`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/prefix.rs:30:22 [INFO] [stderr] | [INFO] [stderr] 30 | ip_bits: self.ip_bits.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 30 | ip_bits: &(*self.ip_bits).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 30 | ip_bits: &ip_bits::IpBits::clone(self.ip_bits), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/prefix.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 43 | | !self.eq(other) [INFO] [stderr] 44 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/prefix.rs:101:13 [INFO] [stderr] | [INFO] [stderr] 101 | mask = mask + (BigUint::one() << (host_prefix+i)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mask += (BigUint::one() << (host_prefix+i))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: trivial regex [INFO] [stderr] --> src/ipaddress.rs:53:49 [INFO] [stderr] | [INFO] [stderr] 53 | static ref RE_IPV4 : Regex = Regex::new(r"\.").unwrap(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: trivial regex [INFO] [stderr] --> src/ipaddress.rs:54:49 [INFO] [stderr] | [INFO] [stderr] 54 | static ref RE_IPV6 : Regex = Regex::new(r":").unwrap(); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/ipaddress.rs:61:22 [INFO] [stderr] | [INFO] [stderr] 61 | ip_bits: self.ip_bits.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 61 | ip_bits: &(*self.ip_bits).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 61 | ip_bits: &ip_bits::IpBits::clone(self.ip_bits), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/ipaddress.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 106 | | !self.eq(other) [INFO] [stderr] 107 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_ne_impl [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:148:32 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn split_at_slash(str: &String) -> (String, Option) { [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipaddress.rs:149:50 [INFO] [stderr] | [INFO] [stderr] 149 | let slash : Vec<&str> = str.trim().split("/").collect(); [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:152:27 [INFO] [stderr] | [INFO] [stderr] 152 | addr.push_str(slash.get(0).unwrap().to_string().trim()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&slash[0]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:155:45 [INFO] [stderr] | [INFO] [stderr] 155 | return (addr, Some(String::from(slash.get(1).unwrap().to_string().trim()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&slash[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/ipaddress.rs:163:22 [INFO] [stderr] | [INFO] [stderr] 163 | ip_bits: self.ip_bits.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 163 | ip_bits: &(*self.ip_bits).clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 163 | ip_bits: &ip_bits::IpBits::clone(self.ip_bits), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:226:43 [INFO] [stderr] | [INFO] [stderr] 226 | pub fn parse_ipv4_part(i: &str, addr: &String) -> Result { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:237:31 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn split_to_u32(addr: &String) -> Result { [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipaddress.rs:240:41 [INFO] [stderr] | [INFO] [stderr] 240 | let mut split_addr = addr.split(".").collect::>(); [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: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:259:13 [INFO] [stderr] | [INFO] [stderr] 259 | ip = ip | (part.unwrap() << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ip |= (part.unwrap() << shift)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:280:33 [INFO] [stderr] | [INFO] [stderr] 280 | pub fn split_on_colon(addr: &String) -> (Result, usize) { [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipaddress.rs:281:39 [INFO] [stderr] | [INFO] [stderr] 281 | let parts = addr.trim().split(":").collect::>(); [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:283:32 [INFO] [stderr] | [INFO] [stderr] 283 | if parts.len() == 1 && parts.get(0).unwrap().is_empty() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `&parts[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/ipaddress.rs:303:31 [INFO] [stderr] | [INFO] [stderr] 303 | pub fn split_to_num(addr: &String) -> Result { [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: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:311:77 [INFO] [stderr] | [INFO] [stderr] 311 | let (pre, pre_parts) = IPAddress::split_on_colon(&String::from(*pre_post.get(0).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&pre_post[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a Vec. Using `[]` is more clear and more concise [INFO] [stderr] --> src/ipaddress.rs:315:70 [INFO] [stderr] | [INFO] [stderr] 315 | let (post, _) = IPAddress::split_on_colon(&String::from(*pre_post.get(1).unwrap())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&pre_post[1]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/ipaddress.rs:326:24 [INFO] [stderr] | [INFO] [stderr] 326 | return Err(format!("incomplete IPv6")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"incomplete IPv6".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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/ipaddress.rs:349:32 [INFO] [stderr] | [INFO] [stderr] 349 | pub fn aggregate(networks: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[IPAddress]` [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/ipaddress.rs:350:12 [INFO] [stderr] | [INFO] [stderr] 350 | if networks.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `networks.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: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:379:13 [INFO] [stderr] | [INFO] [stderr] 379 | pos = pos + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:385:13 [INFO] [stderr] | [INFO] [stderr] 385 | pos = pos + 1; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:388:17 [INFO] [stderr] | [INFO] [stderr] 388 | pos = pos - 2; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos -= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:398:21 [INFO] [stderr] | [INFO] [stderr] 398 | pos = pos - 2; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos -= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:403:21 [INFO] [stderr] | [INFO] [stderr] 403 | pos = pos - 1; // backtrack [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:407:21 [INFO] [stderr] | [INFO] [stderr] 407 | pos = pos - 1; // do it with second as first [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pos -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `stack`. [INFO] [stderr] --> src/ipaddress.rs:413:18 [INFO] [stderr] | [INFO] [stderr] 413 | for i in 0..stack.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 413 | for in &stack { [INFO] [stderr] | ^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `dns_parts`. [INFO] [stderr] --> src/ipaddress.rs:453:18 [INFO] [stderr] | [INFO] [stderr] 453 | for i in ((self.prefix.host_prefix()+(self.ip_bits.dns_bits-1))/self.ip_bits.dns_bits)..dns_parts.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 453 | for in dns_parts.iter().skip(((self.prefix.host_prefix()+(self.ip_bits.dns_bits-1))/self.ip_bits.dns_bits)) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/ipaddress.rs:480:13 [INFO] [stderr] | [INFO] [stderr] 480 | if next_bit_mask <= 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using next_bit_mask == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [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/ipaddress.rs:624:32 [INFO] [stderr] | [INFO] [stderr] 624 | pub fn summarize(networks: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[IPAddress]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:707:17 [INFO] [stderr] | [INFO] [stderr] 707 | prefix = prefix + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `prefix += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/ipaddress.rs:895:23 [INFO] [stderr] | [INFO] [stderr] 895 | pub fn to_network(adr: &BigUint, host_prefix: usize) -> BigUint { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [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/ipaddress.rs:910:26 [INFO] [stderr] | [INFO] [stderr] 910 | pub fn to_s_vec(vec: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[IPAddress]` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/ipaddress.rs:910:21 [INFO] [stderr] | [INFO] [stderr] 910 | pub fn to_s_vec(vec: &Vec) -> Vec { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [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/ipaddress.rs:918:31 [INFO] [stderr] | [INFO] [stderr] 918 | pub fn to_string_vec(vec: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[IPAddress]` [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: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/ipaddress.rs:918:26 [INFO] [stderr] | [INFO] [stderr] 918 | pub fn to_string_vec(vec: &Vec) -> Vec { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/ipaddress.rs:926:46 [INFO] [stderr] | [INFO] [stderr] 926 | pub fn to_ipaddress_vec>(vec: Vec) -> Result, String> { [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [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/ipaddress.rs:1178:36 [INFO] [stderr] | [INFO] [stderr] 1178 | fn sum_first_found(&self, arr: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] help: change this to [INFO] [stderr] | [INFO] [stderr] 1178 | fn sum_first_found(&self, arr: &[IPAddress]) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] help: change `arr.clone()` to [INFO] [stderr] | [INFO] [stderr] 1179 | let mut dup = arr.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/ipaddress.rs:1284:13 [INFO] [stderr] | [INFO] [stderr] 1284 | net.host_address = net.host_address + size; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `net.host_address += size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/ipaddress.rs:1313:16 [INFO] [stderr] | [INFO] [stderr] 1313 | if a == (i as f64).log2() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(a - (i as f64).log2()).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/ipaddress.rs:1313:16 [INFO] [stderr] | [INFO] [stderr] 1313 | if a == (i as f64).log2() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/ipv6.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / let mut netmask = 128; [INFO] [stderr] 152 | | if o_netmask.is_some() { [INFO] [stderr] 153 | | let network = o_netmask.unwrap(); [INFO] [stderr] 154 | | let num_mask = u8::from_str(&network); [INFO] [stderr] ... | [INFO] [stderr] 158 | | netmask = network.parse::().unwrap(); [INFO] [stderr] 159 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let netmask = if o_netmask.is_some() { ..; network.parse::().unwrap() } else { 128 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/ipv6_mapped.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | / let mut netmask = String::from(""); [INFO] [stderr] 104 | | if o_netmask.is_some() { [INFO] [stderr] 105 | | netmask = format!("/{}", o_netmask.unwrap()); [INFO] [stderr] 106 | | } [INFO] [stderr] | |_____^ help: it is more idiomatic to write: `let netmask = if o_netmask.is_some() { $ crate :: fmt :: format ( format_args ! ( $ ( $ arg ) * ) ) } else { String::from("") };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/ipv6_mapped.rs:93:32 [INFO] [stderr] | [INFO] [stderr] 93 | let split_colon = ip.split(":").collect::>(); [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/ipv6_mapped.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | let ref part_mod = ipv6_bits.part_mod; [INFO] [stderr] | ----^^^^^^^^^^^^---------------------- help: try: `let part_mod = &ipv6_bits.part_mod;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `split_colon`. [INFO] [stderr] --> src/ipv6_mapped.rs:123:18 [INFO] [stderr] | [INFO] [stderr] 123 | for i in 0..split_colon.len()-1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 123 | for in split_colon.iter().take(split_colon.len()-1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/prefix32.rs:18:8 [INFO] [stderr] | [INFO] [stderr] 18 | if 0 <= num && num <= 32 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, this comparison is always true [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: statement with no effect [INFO] [stderr] --> src/prefix32.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | &from; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::no_effect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#no_effect [INFO] [stderr] [INFO] [stderr] warning: called `is_some()` after searching an `Iterator` with find. This is more succinctly expressed by calling `any()`. [INFO] [stderr] --> src/ipv4.rs:121:12 [INFO] [stderr] | [INFO] [stderr] 121 | return [IPAddress::parse("10.0.0.0/8").unwrap(), [INFO] [stderr] | ____________^ [INFO] [stderr] 122 | | IPAddress::parse("169.254.0.0/16").unwrap(), [INFO] [stderr] 123 | | IPAddress::parse("172.16.0.0/12").unwrap(), [INFO] [stderr] 124 | | IPAddress::parse("192.168.0.0/16").unwrap()] [INFO] [stderr] 125 | | .iter().find(|i| i.includes(my)).is_some(); [INFO] [stderr] | |_______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::search_is_some)] on by default [INFO] [stderr] = note: replace `find(|i| i.includes(my)).is_some()` with `any(|i| i.includes(my))` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ipaddress`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "49a670c40ba661f8ac665363a7274b8da66de47490d3ec17f842cf95b4398d0f"` [INFO] running `"docker" "rm" "-f" "49a670c40ba661f8ac665363a7274b8da66de47490d3ec17f842cf95b4398d0f"` [INFO] [stdout] 49a670c40ba661f8ac665363a7274b8da66de47490d3ec17f842cf95b4398d0f