[INFO] crate validators 0.19.0 is already in cache [INFO] extracting crate validators 0.19.0 into work/ex/clippy-test-run/sources/stable/reg/validators/0.19.0 [INFO] extracting crate validators 0.19.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/validators/0.19.0 [INFO] validating manifest of validators-0.19.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of validators-0.19.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing validators-0.19.0 [INFO] finished frobbing validators-0.19.0 [INFO] frobbed toml for validators-0.19.0 written to work/ex/clippy-test-run/sources/stable/reg/validators/0.19.0/Cargo.toml [INFO] started frobbing validators-0.19.0 [INFO] finished frobbing validators-0.19.0 [INFO] frobbed toml for validators-0.19.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/validators/0.19.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting validators-0.19.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/validators/0.19.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] e86db026a180232e15993f18a0a10eec8974dd2170128e3de7872aea539c7935 [INFO] running `"docker" "start" "-a" "e86db026a180232e15993f18a0a10eec8974dd2170128e3de7872aea539c7935"` [INFO] [stderr] Checking validators v0.19.0 (/opt/crater/workdir) [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/domain/mod.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 73 | | if self.port_index != self.full_domain_len { [INFO] [stderr] 74 | | &self.full_domain[self.domain..(self.port_index - 1)] [INFO] [stderr] 75 | | } else { [INFO] [stderr] 76 | | &self.full_domain[self.domain..] [INFO] [stderr] 77 | | } [INFO] [stderr] 78 | | } [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] 72 | } else if self.port_index != self.full_domain_len { [INFO] [stderr] 73 | &self.full_domain[self.domain..(self.port_index - 1)] [INFO] [stderr] 74 | } else { [INFO] [stderr] 75 | &self.full_domain[self.domain..] [INFO] [stderr] 76 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/domain/mod.rs:242:9 [INFO] [stderr] | [INFO] [stderr] 242 | / if c.get(1).is_some() { [INFO] [stderr] 243 | | if is_localhost { [INFO] [stderr] 244 | | return Err(DomainError::LocalhostNotFound); [INFO] [stderr] 245 | | } [INFO] [stderr] 246 | | } [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] 242 | if c.get(1).is_some() && is_localhost { [INFO] [stderr] 243 | return Err(DomainError::LocalhostNotFound); [INFO] [stderr] 244 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/http_url/mod.rs:84:20 [INFO] [stderr] | [INFO] [stderr] 84 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 85 | | if self.fragment != self.full_http_url_len { [INFO] [stderr] 86 | | Some(&self.full_http_url[self.path..(self.fragment - 1)]) [INFO] [stderr] 87 | | } else { [INFO] [stderr] 88 | | Some(&self.full_http_url[self.path..]) [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [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] 84 | } else if self.fragment != self.full_http_url_len { [INFO] [stderr] 85 | Some(&self.full_http_url[self.path..(self.fragment - 1)]) [INFO] [stderr] 86 | } else { [INFO] [stderr] 87 | Some(&self.full_http_url[self.path..]) [INFO] [stderr] 88 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/http_url/mod.rs:123:16 [INFO] [stderr] | [INFO] [stderr] 123 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 124 | | if self.fragment != self.full_http_url_len { [INFO] [stderr] 125 | | &self.full_http_url[..(self.fragment - 1)] [INFO] [stderr] 126 | | } else { [INFO] [stderr] 127 | | &self.full_http_url [INFO] [stderr] 128 | | } [INFO] [stderr] 129 | | } [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] 123 | } else if self.fragment != self.full_http_url_len { [INFO] [stderr] 124 | &self.full_http_url[..(self.fragment - 1)] [INFO] [stderr] 125 | } else { [INFO] [stderr] 126 | &self.full_http_url [INFO] [stderr] 127 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/http_ftp_url/mod.rs:86:20 [INFO] [stderr] | [INFO] [stderr] 86 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 87 | | if self.fragment != self.full_http_ftp_url_len { [INFO] [stderr] 88 | | Some(&self.full_http_ftp_url[self.path..(self.fragment - 1)]) [INFO] [stderr] 89 | | } else { [INFO] [stderr] 90 | | Some(&self.full_http_ftp_url[self.path..]) [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [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] 86 | } else if self.fragment != self.full_http_ftp_url_len { [INFO] [stderr] 87 | Some(&self.full_http_ftp_url[self.path..(self.fragment - 1)]) [INFO] [stderr] 88 | } else { [INFO] [stderr] 89 | Some(&self.full_http_ftp_url[self.path..]) [INFO] [stderr] 90 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/http_ftp_url/mod.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 126 | | if self.fragment != self.full_http_ftp_url_len { [INFO] [stderr] 127 | | &self.full_http_ftp_url[..(self.fragment - 1)] [INFO] [stderr] 128 | | } else { [INFO] [stderr] 129 | | &self.full_http_ftp_url [INFO] [stderr] 130 | | } [INFO] [stderr] 131 | | } [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] 125 | } else if self.fragment != self.full_http_ftp_url_len { [INFO] [stderr] 126 | &self.full_http_ftp_url[..(self.fragment - 1)] [INFO] [stderr] 127 | } else { [INFO] [stderr] 128 | &self.full_http_ftp_url [INFO] [stderr] 129 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/uuid/mod.rs:201:28 [INFO] [stderr] | [INFO] [stderr] 201 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 202 | | if UUID_LOWERCASE_RE.is_match(uuid) { [INFO] [stderr] 203 | | Ok(UUID { [INFO] [stderr] 204 | | uuid: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 216 | | } [INFO] [stderr] 217 | | } [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] 201 | } else if UUID_LOWERCASE_RE.is_match(uuid) { [INFO] [stderr] 202 | Ok(UUID { [INFO] [stderr] 203 | uuid: String::new(), [INFO] [stderr] 204 | case: UUIDCase::Lower, [INFO] [stderr] 205 | }) [INFO] [stderr] 206 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/uuid/mod.rs:207:32 [INFO] [stderr] | [INFO] [stderr] 207 | } else { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 208 | | if UUID_RE.is_match(uuid) { [INFO] [stderr] 209 | | Ok(UUID { [INFO] [stderr] 210 | | uuid: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 215 | | } [INFO] [stderr] 216 | | } [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] 207 | } else if UUID_RE.is_match(uuid) { [INFO] [stderr] 208 | Ok(UUID { [INFO] [stderr] 209 | uuid: String::new(), [INFO] [stderr] 210 | case: UUIDCase::Both, [INFO] [stderr] 211 | }) [INFO] [stderr] 212 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:221:36 [INFO] [stderr] | [INFO] [stderr] 221 | } else { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 222 | | if MAC_ADDRESS_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 223 | | Ok(MacAddress { [INFO] [stderr] 224 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 238 | | } [INFO] [stderr] 239 | | } [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] 221 | } else if MAC_ADDRESS_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 222 | Ok(MacAddress { [INFO] [stderr] 223 | mac_address: String::new(), [INFO] [stderr] 224 | case: MacAddressCase::Lower, [INFO] [stderr] 225 | colon: true, [INFO] [stderr] 226 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:228:40 [INFO] [stderr] | [INFO] [stderr] 228 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 229 | | if MAC_ADDRESS_COLON_RE.is_match(mac_address) { [INFO] [stderr] 230 | | Ok(MacAddress { [INFO] [stderr] 231 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 237 | | } [INFO] [stderr] 238 | | } [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] 228 | } else if MAC_ADDRESS_COLON_RE.is_match(mac_address) { [INFO] [stderr] 229 | Ok(MacAddress { [INFO] [stderr] 230 | mac_address: String::new(), [INFO] [stderr] 231 | case: MacAddressCase::Both, [INFO] [stderr] 232 | colon: true, [INFO] [stderr] 233 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:278:36 [INFO] [stderr] | [INFO] [stderr] 278 | } else { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 279 | | if MAC_ADDRESS_NO_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 280 | | Ok(MacAddress { [INFO] [stderr] 281 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 295 | | } [INFO] [stderr] 296 | | } [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] 278 | } else if MAC_ADDRESS_NO_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 279 | Ok(MacAddress { [INFO] [stderr] 280 | mac_address: String::new(), [INFO] [stderr] 281 | case: MacAddressCase::Lower, [INFO] [stderr] 282 | colon: false, [INFO] [stderr] 283 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:285:40 [INFO] [stderr] | [INFO] [stderr] 285 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 286 | | if MAC_ADDRESS_NO_COLON_RE.is_match(mac_address) { [INFO] [stderr] 287 | | Ok(MacAddress { [INFO] [stderr] 288 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 294 | | } [INFO] [stderr] 295 | | } [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] 285 | } else if MAC_ADDRESS_NO_COLON_RE.is_match(mac_address) { [INFO] [stderr] 286 | Ok(MacAddress { [INFO] [stderr] 287 | mac_address: String::new(), [INFO] [stderr] 288 | case: MacAddressCase::Both, [INFO] [stderr] 289 | colon: false, [INFO] [stderr] 290 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:334:40 [INFO] [stderr] | [INFO] [stderr] 334 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 335 | | if MAC_ADDRESS_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 336 | | Ok(MacAddress { [INFO] [stderr] 337 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 351 | | } [INFO] [stderr] 352 | | } [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] 334 | } else if MAC_ADDRESS_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 335 | Ok(MacAddress { [INFO] [stderr] 336 | mac_address: String::new(), [INFO] [stderr] 337 | case: MacAddressCase::Lower, [INFO] [stderr] 338 | colon: true, [INFO] [stderr] 339 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:341:44 [INFO] [stderr] | [INFO] [stderr] 341 | } else { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 342 | | if MAC_ADDRESS_COLON_RE.is_match(mac_address) { [INFO] [stderr] 343 | | Ok(MacAddress { [INFO] [stderr] 344 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 350 | | } [INFO] [stderr] 351 | | } [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] 341 | } else if MAC_ADDRESS_COLON_RE.is_match(mac_address) { [INFO] [stderr] 342 | Ok(MacAddress { [INFO] [stderr] 343 | mac_address: String::new(), [INFO] [stderr] 344 | case: MacAddressCase::Both, [INFO] [stderr] 345 | colon: true, [INFO] [stderr] 346 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:387:40 [INFO] [stderr] | [INFO] [stderr] 387 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 388 | | if MAC_ADDRESS_NO_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 389 | | Ok(MacAddress { [INFO] [stderr] 390 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 404 | | } [INFO] [stderr] 405 | | } [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] 387 | } else if MAC_ADDRESS_NO_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 388 | Ok(MacAddress { [INFO] [stderr] 389 | mac_address: String::new(), [INFO] [stderr] 390 | case: MacAddressCase::Lower, [INFO] [stderr] 391 | colon: false, [INFO] [stderr] 392 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:394:44 [INFO] [stderr] | [INFO] [stderr] 394 | } else { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 395 | | if MAC_ADDRESS_NO_COLON_RE.is_match(mac_address) { [INFO] [stderr] 396 | | Ok(MacAddress { [INFO] [stderr] 397 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 403 | | } [INFO] [stderr] 404 | | } [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] 394 | } else if MAC_ADDRESS_NO_COLON_RE.is_match(mac_address) { [INFO] [stderr] 395 | Ok(MacAddress { [INFO] [stderr] 396 | mac_address: String::new(), [INFO] [stderr] 397 | case: MacAddressCase::Both, [INFO] [stderr] 398 | colon: false, [INFO] [stderr] 399 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/number/mod.rs:140:16 [INFO] [stderr] | [INFO] [stderr] 140 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 141 | | if self.zero.not_allow() { [INFO] [stderr] 142 | | return Err(NumberError::ZeroNotAllow); [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] 140 | } else if self.zero.not_allow() { [INFO] [stderr] 141 | return Err(NumberError::ZeroNotAllow); [INFO] [stderr] 142 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/integer/mod.rs:134:16 [INFO] [stderr] | [INFO] [stderr] 134 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 135 | | if self.zero.not_allow() { [INFO] [stderr] 136 | | return Err(IntegerError::ZeroNotAllow); [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [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] 134 | } else if self.zero.not_allow() { [INFO] [stderr] 135 | return Err(IntegerError::ZeroNotAllow); [INFO] [stderr] 136 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/domain/mod.rs:72:16 [INFO] [stderr] | [INFO] [stderr] 72 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 73 | | if self.port_index != self.full_domain_len { [INFO] [stderr] 74 | | &self.full_domain[self.domain..(self.port_index - 1)] [INFO] [stderr] 75 | | } else { [INFO] [stderr] 76 | | &self.full_domain[self.domain..] [INFO] [stderr] 77 | | } [INFO] [stderr] 78 | | } [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] 72 | } else if self.port_index != self.full_domain_len { [INFO] [stderr] 73 | &self.full_domain[self.domain..(self.port_index - 1)] [INFO] [stderr] 74 | } else { [INFO] [stderr] 75 | &self.full_domain[self.domain..] [INFO] [stderr] 76 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/domain/mod.rs:242:9 [INFO] [stderr] | [INFO] [stderr] 242 | / if c.get(1).is_some() { [INFO] [stderr] 243 | | if is_localhost { [INFO] [stderr] 244 | | return Err(DomainError::LocalhostNotFound); [INFO] [stderr] 245 | | } [INFO] [stderr] 246 | | } [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] 242 | if c.get(1).is_some() && is_localhost { [INFO] [stderr] 243 | return Err(DomainError::LocalhostNotFound); [INFO] [stderr] 244 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/http_url/mod.rs:84:20 [INFO] [stderr] | [INFO] [stderr] 84 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 85 | | if self.fragment != self.full_http_url_len { [INFO] [stderr] 86 | | Some(&self.full_http_url[self.path..(self.fragment - 1)]) [INFO] [stderr] 87 | | } else { [INFO] [stderr] 88 | | Some(&self.full_http_url[self.path..]) [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [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] 84 | } else if self.fragment != self.full_http_url_len { [INFO] [stderr] 85 | Some(&self.full_http_url[self.path..(self.fragment - 1)]) [INFO] [stderr] 86 | } else { [INFO] [stderr] 87 | Some(&self.full_http_url[self.path..]) [INFO] [stderr] 88 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/http_url/mod.rs:123:16 [INFO] [stderr] | [INFO] [stderr] 123 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 124 | | if self.fragment != self.full_http_url_len { [INFO] [stderr] 125 | | &self.full_http_url[..(self.fragment - 1)] [INFO] [stderr] 126 | | } else { [INFO] [stderr] 127 | | &self.full_http_url [INFO] [stderr] 128 | | } [INFO] [stderr] 129 | | } [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] 123 | } else if self.fragment != self.full_http_url_len { [INFO] [stderr] 124 | &self.full_http_url[..(self.fragment - 1)] [INFO] [stderr] 125 | } else { [INFO] [stderr] 126 | &self.full_http_url [INFO] [stderr] 127 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/http_ftp_url/mod.rs:86:20 [INFO] [stderr] | [INFO] [stderr] 86 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 87 | | if self.fragment != self.full_http_ftp_url_len { [INFO] [stderr] 88 | | Some(&self.full_http_ftp_url[self.path..(self.fragment - 1)]) [INFO] [stderr] 89 | | } else { [INFO] [stderr] 90 | | Some(&self.full_http_ftp_url[self.path..]) [INFO] [stderr] 91 | | } [INFO] [stderr] 92 | | } [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] 86 | } else if self.fragment != self.full_http_ftp_url_len { [INFO] [stderr] 87 | Some(&self.full_http_ftp_url[self.path..(self.fragment - 1)]) [INFO] [stderr] 88 | } else { [INFO] [stderr] 89 | Some(&self.full_http_ftp_url[self.path..]) [INFO] [stderr] 90 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/http_ftp_url/mod.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 126 | | if self.fragment != self.full_http_ftp_url_len { [INFO] [stderr] 127 | | &self.full_http_ftp_url[..(self.fragment - 1)] [INFO] [stderr] 128 | | } else { [INFO] [stderr] 129 | | &self.full_http_ftp_url [INFO] [stderr] 130 | | } [INFO] [stderr] 131 | | } [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] 125 | } else if self.fragment != self.full_http_ftp_url_len { [INFO] [stderr] 126 | &self.full_http_ftp_url[..(self.fragment - 1)] [INFO] [stderr] 127 | } else { [INFO] [stderr] 128 | &self.full_http_ftp_url [INFO] [stderr] 129 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/uuid/mod.rs:201:28 [INFO] [stderr] | [INFO] [stderr] 201 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 202 | | if UUID_LOWERCASE_RE.is_match(uuid) { [INFO] [stderr] 203 | | Ok(UUID { [INFO] [stderr] 204 | | uuid: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 216 | | } [INFO] [stderr] 217 | | } [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] 201 | } else if UUID_LOWERCASE_RE.is_match(uuid) { [INFO] [stderr] 202 | Ok(UUID { [INFO] [stderr] 203 | uuid: String::new(), [INFO] [stderr] 204 | case: UUIDCase::Lower, [INFO] [stderr] 205 | }) [INFO] [stderr] 206 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/uuid/mod.rs:207:32 [INFO] [stderr] | [INFO] [stderr] 207 | } else { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 208 | | if UUID_RE.is_match(uuid) { [INFO] [stderr] 209 | | Ok(UUID { [INFO] [stderr] 210 | | uuid: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 215 | | } [INFO] [stderr] 216 | | } [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] 207 | } else if UUID_RE.is_match(uuid) { [INFO] [stderr] 208 | Ok(UUID { [INFO] [stderr] 209 | uuid: String::new(), [INFO] [stderr] 210 | case: UUIDCase::Both, [INFO] [stderr] 211 | }) [INFO] [stderr] 212 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:221:36 [INFO] [stderr] | [INFO] [stderr] 221 | } else { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 222 | | if MAC_ADDRESS_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 223 | | Ok(MacAddress { [INFO] [stderr] 224 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 238 | | } [INFO] [stderr] 239 | | } [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] 221 | } else if MAC_ADDRESS_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 222 | Ok(MacAddress { [INFO] [stderr] 223 | mac_address: String::new(), [INFO] [stderr] 224 | case: MacAddressCase::Lower, [INFO] [stderr] 225 | colon: true, [INFO] [stderr] 226 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:228:40 [INFO] [stderr] | [INFO] [stderr] 228 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 229 | | if MAC_ADDRESS_COLON_RE.is_match(mac_address) { [INFO] [stderr] 230 | | Ok(MacAddress { [INFO] [stderr] 231 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 237 | | } [INFO] [stderr] 238 | | } [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] 228 | } else if MAC_ADDRESS_COLON_RE.is_match(mac_address) { [INFO] [stderr] 229 | Ok(MacAddress { [INFO] [stderr] 230 | mac_address: String::new(), [INFO] [stderr] 231 | case: MacAddressCase::Both, [INFO] [stderr] 232 | colon: true, [INFO] [stderr] 233 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:278:36 [INFO] [stderr] | [INFO] [stderr] 278 | } else { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 279 | | if MAC_ADDRESS_NO_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 280 | | Ok(MacAddress { [INFO] [stderr] 281 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 295 | | } [INFO] [stderr] 296 | | } [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] 278 | } else if MAC_ADDRESS_NO_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 279 | Ok(MacAddress { [INFO] [stderr] 280 | mac_address: String::new(), [INFO] [stderr] 281 | case: MacAddressCase::Lower, [INFO] [stderr] 282 | colon: false, [INFO] [stderr] 283 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:285:40 [INFO] [stderr] | [INFO] [stderr] 285 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 286 | | if MAC_ADDRESS_NO_COLON_RE.is_match(mac_address) { [INFO] [stderr] 287 | | Ok(MacAddress { [INFO] [stderr] 288 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 294 | | } [INFO] [stderr] 295 | | } [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] 285 | } else if MAC_ADDRESS_NO_COLON_RE.is_match(mac_address) { [INFO] [stderr] 286 | Ok(MacAddress { [INFO] [stderr] 287 | mac_address: String::new(), [INFO] [stderr] 288 | case: MacAddressCase::Both, [INFO] [stderr] 289 | colon: false, [INFO] [stderr] 290 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:334:40 [INFO] [stderr] | [INFO] [stderr] 334 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 335 | | if MAC_ADDRESS_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 336 | | Ok(MacAddress { [INFO] [stderr] 337 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 351 | | } [INFO] [stderr] 352 | | } [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] 334 | } else if MAC_ADDRESS_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 335 | Ok(MacAddress { [INFO] [stderr] 336 | mac_address: String::new(), [INFO] [stderr] 337 | case: MacAddressCase::Lower, [INFO] [stderr] 338 | colon: true, [INFO] [stderr] 339 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:341:44 [INFO] [stderr] | [INFO] [stderr] 341 | } else { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 342 | | if MAC_ADDRESS_COLON_RE.is_match(mac_address) { [INFO] [stderr] 343 | | Ok(MacAddress { [INFO] [stderr] 344 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 350 | | } [INFO] [stderr] 351 | | } [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] 341 | } else if MAC_ADDRESS_COLON_RE.is_match(mac_address) { [INFO] [stderr] 342 | Ok(MacAddress { [INFO] [stderr] 343 | mac_address: String::new(), [INFO] [stderr] 344 | case: MacAddressCase::Both, [INFO] [stderr] 345 | colon: true, [INFO] [stderr] 346 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:387:40 [INFO] [stderr] | [INFO] [stderr] 387 | } else { [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 388 | | if MAC_ADDRESS_NO_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 389 | | Ok(MacAddress { [INFO] [stderr] 390 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 404 | | } [INFO] [stderr] 405 | | } [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] 387 | } else if MAC_ADDRESS_NO_COLON_LOWERCASE_RE.is_match(mac_address) { [INFO] [stderr] 388 | Ok(MacAddress { [INFO] [stderr] 389 | mac_address: String::new(), [INFO] [stderr] 390 | case: MacAddressCase::Lower, [INFO] [stderr] 391 | colon: false, [INFO] [stderr] 392 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/mac_address/mod.rs:394:44 [INFO] [stderr] | [INFO] [stderr] 394 | } else { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 395 | | if MAC_ADDRESS_NO_COLON_RE.is_match(mac_address) { [INFO] [stderr] 396 | | Ok(MacAddress { [INFO] [stderr] 397 | | mac_address: String::new(), [INFO] [stderr] ... | [INFO] [stderr] 403 | | } [INFO] [stderr] 404 | | } [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] 394 | } else if MAC_ADDRESS_NO_COLON_RE.is_match(mac_address) { [INFO] [stderr] 395 | Ok(MacAddress { [INFO] [stderr] 396 | mac_address: String::new(), [INFO] [stderr] 397 | case: MacAddressCase::Both, [INFO] [stderr] 398 | colon: false, [INFO] [stderr] 399 | }) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/number/mod.rs:140:16 [INFO] [stderr] | [INFO] [stderr] 140 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 141 | | if self.zero.not_allow() { [INFO] [stderr] 142 | | return Err(NumberError::ZeroNotAllow); [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] 140 | } else if self.zero.not_allow() { [INFO] [stderr] 141 | return Err(NumberError::ZeroNotAllow); [INFO] [stderr] 142 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/integer/mod.rs:134:16 [INFO] [stderr] | [INFO] [stderr] 134 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 135 | | if self.zero.not_allow() { [INFO] [stderr] 136 | | return Err(IntegerError::ZeroNotAllow); [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [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] 134 | } else if self.zero.not_allow() { [INFO] [stderr] 135 | return Err(IntegerError::ZeroNotAllow); [INFO] [stderr] 136 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/domain/mod.rs:148:5 [INFO] [stderr] | [INFO] [stderr] 148 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 149 | | self.full_domain.ne(&other.full_domain) [INFO] [stderr] 150 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 600 | extend!(DomainLocalhostableWithPort, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 616 | extend!(DomainLocalhostableAllowPort, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 632 | extend!(DomainLocalhostableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 640 | extend!(DomainUnlocalhostableWithPort, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ----------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 652 | extend!(DomainUnlocalhostableAllowPort, ValidatorOption::Allow, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 664 | extend!(DomainUnlocalhostableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/email/mod.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 93 | | self.full_email.ne(&other.full_email) [INFO] [stderr] 94 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/email/mod.rs:205:5 [INFO] [stderr] | [INFO] [stderr] 205 | / pub fn from_str(full_email: &str) -> Result { [INFO] [stderr] 206 | | Email::create_validator().parse_str(full_email) [INFO] [stderr] 207 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ipv4/mod.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | fn is_local_ipv4(addr: &Ipv4Addr) -> bool { [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `Ipv4Addr` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/ipv4/mod.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 129 | | self.full_ipv4.ne(&other.full_ipv4) [INFO] [stderr] 130 | | } [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipv4/mod.rs:240:37 [INFO] [stderr] | [INFO] [stderr] 240 | if ipv4.starts_with("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 622 | extend!(IPv4LocalableWithPort, ValidatorOption::Must, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 634 | extend!(IPv4LocalableAllowPort, ValidatorOption::Allow, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 650 | extend!(IPv4LocalableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 658 | extend!(IPv4UnlocalableWithPort, ValidatorOption::Must, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 666 | extend!(IPv4UnlocalableAllowPort, ValidatorOption::Allow, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 678 | extend!(IPv4UnlocalableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/ipv6/mod.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 145 | | self.full_ipv6.ne(&other.full_ipv6) [INFO] [stderr] 146 | | } [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipv6/mod.rs:219:38 [INFO] [stderr] | [INFO] [stderr] 219 | let ip = if ipv6.starts_with("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 665 | extend!(IPv6LocalableWithPort, ValidatorOption::Must, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 677 | extend!(IPv6LocalableAllowPort, ValidatorOption::Allow, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 693 | extend!(IPv6LocalableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 701 | extend!(IPv6UnlocalableWithPort, ValidatorOption::Must, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 709 | extend!(IPv6UnlocalableAllowPort, ValidatorOption::Allow, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 721 | extend!(IPv6UnlocalableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/host/mod.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | / pub fn from_str(host: &str) -> Result<$name, HostError> { [INFO] [stderr] 275 | | Ok($name($name::create_validator().parse_str(host)?)) [INFO] [stderr] 276 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 440 | extend!(HostLocalable, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/host/mod.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | / pub fn from_str(host: &str) -> Result<$name, HostError> { [INFO] [stderr] 275 | | Ok($name($name::create_validator().parse_str(host)?)) [INFO] [stderr] 276 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 460 | extend!(HostUnlocalable, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/http_url/mod.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 197 | | self.full_http_url.ne(&other.full_http_url) [INFO] [stderr] 198 | | } [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: redundant closure found [INFO] [stderr] --> src/http_url/mod.rs:267:106 [INFO] [stderr] | [INFO] [stderr] 267 | let host_localable = HostLocalable::from_str(&full_http_url[m.start()..m.end()]).map_err(|err| HttpUrlError::IncorrectHostFormat(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HttpUrlError::IncorrectHostFormat` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_url/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_http_url: &str) -> Result<$name, HttpUrlError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_http_url)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 732 | extend!(HttpUrlLocalableWithProtocol, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_url/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_http_url: &str) -> Result<$name, HttpUrlError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_http_url)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 752 | extend!(HttpUrlUnlocalableWithProtocol, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_url/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_http_url: &str) -> Result<$name, HttpUrlError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_http_url)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 768 | extend!(HttpUrlLocalableWithoutProtocol, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_url/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_http_url: &str) -> Result<$name, HttpUrlError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_http_url)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 776 | extend!(HttpUrlUnlocalableWithoutProtocol, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/http_ftp_url/mod.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 209 | | self.full_http_ftp_url.ne(&other.full_http_ftp_url) [INFO] [stderr] 210 | | } [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: redundant closure found [INFO] [stderr] --> src/http_ftp_url/mod.rs:296:110 [INFO] [stderr] | [INFO] [stderr] 296 | let host_localable = HostLocalable::from_str(&full_http_ftp_url[m.start()..m.end()]).map_err(|err| HttpFtpUrlError::IncorrectHostFormat(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HttpFtpUrlError::IncorrectHostFormat` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_ftp_url/mod.rs:594:13 [INFO] [stderr] | [INFO] [stderr] 594 | / pub fn from_str(full_http_ftp_url: &str) -> Result<$name, HttpFtpUrlError> { [INFO] [stderr] 595 | | Ok($name($name::create_validator().parse_str(full_http_ftp_url)?)) [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 763 | extend!(HttpFtpUrlLocalableWithProtocol, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_ftp_url/mod.rs:594:13 [INFO] [stderr] | [INFO] [stderr] 594 | / pub fn from_str(full_http_ftp_url: &str) -> Result<$name, HttpFtpUrlError> { [INFO] [stderr] 595 | | Ok($name($name::create_validator().parse_str(full_http_ftp_url)?)) [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 791 | extend!(HttpFtpUrlUnlocalableWithProtocol, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | --------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_ftp_url/mod.rs:594:13 [INFO] [stderr] | [INFO] [stderr] 594 | / pub fn from_str(full_http_ftp_url: &str) -> Result<$name, HttpFtpUrlError> { [INFO] [stderr] 595 | | Ok($name($name::create_validator().parse_str(full_http_ftp_url)?)) [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 815 | extend!(HttpFtpUrlLocalableWithoutProtocol, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_ftp_url/mod.rs:594:13 [INFO] [stderr] | [INFO] [stderr] 594 | / pub fn from_str(full_http_ftp_url: &str) -> Result<$name, HttpFtpUrlError> { [INFO] [stderr] 595 | | Ok($name($name::create_validator().parse_str(full_http_ftp_url)?)) [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 823 | extend!(HttpFtpUrlUnlocalableWithoutProtocol, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/base64/mod.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | / pub fn from_str(base64: &str) -> Result { [INFO] [stderr] 157 | | Base64::create_validator().parse_str(base64) [INFO] [stderr] 158 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/base64_url/mod.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn from_str(base64_url: &str) -> Result { [INFO] [stderr] 155 | | Base64Url::create_validator().parse_str(base64_url) [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/base32/mod.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn from_str(base32: &str) -> Result { [INFO] [stderr] 155 | | Base32::create_validator().parse_str(base32) [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/short_crypt_url_component/mod.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn from_str(short_crypt_url_component: &str) -> Result { [INFO] [stderr] 155 | | ShortCryptUrlComponent::create_validator().parse_str(short_crypt_url_component) [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/short_crypt_qr_code_alphanumeric/mod.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn from_str(short_crypt_qr_code_alphanumeric_url: &str) -> Result { [INFO] [stderr] 155 | | ShortCryptQRCodeAlphanumeric::create_validator().parse_str(short_crypt_qr_code_alphanumeric_url) [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/uuid/mod.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 137 | | self.uuid.ne(&other.uuid) [INFO] [stderr] 138 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/uuid/mod.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | / pub fn from_str(full_uuid: &str) -> Result<$name, UUIDError> { [INFO] [stderr] 318 | | Ok($name($name::create_validator().parse_str(full_uuid)?)) [INFO] [stderr] 319 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 416 | extend!(UUIDAllowAnyCase, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/uuid/mod.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | / pub fn from_str(full_uuid: &str) -> Result<$name, UUIDError> { [INFO] [stderr] 318 | | Ok($name($name::create_validator().parse_str(full_uuid)?)) [INFO] [stderr] 319 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 432 | extend!(UUIDUpperCase, ValidatorOption::NotAllow); [INFO] [stderr] | -------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/uuid/mod.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | / pub fn from_str(full_uuid: &str) -> Result<$name, UUIDError> { [INFO] [stderr] 318 | | Ok($name($name::create_validator().parse_str(full_uuid)?)) [INFO] [stderr] 319 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 438 | extend!(UUIDLowerCase, ValidatorOption::Must); [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/mac_address/mod.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 152 | | self.mac_address.ne(&other.mac_address) [INFO] [stderr] 153 | | } [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: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> src/mac_address/mod.rs:185:5 [INFO] [stderr] | [INFO] [stderr] 185 | / fn parse_inner(&self, mac_address: &str) -> MacAddressResult { [INFO] [stderr] 186 | | match self.colon { [INFO] [stderr] 187 | | ValidatorOption::Must => { [INFO] [stderr] 188 | | if mac_address.len() != 17 { [INFO] [stderr] ... | [INFO] [stderr] 414 | | } [INFO] [stderr] 415 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 660 | extend!(MacAddressAllowAnyCaseWithColon, ValidatorOption::Allow, ValidatorOption::Must); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 676 | extend!(MacAddressAllowAnyCaseWithoutColon, ValidatorOption::Allow, ValidatorOption::NotAllow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 692 | extend!(MacAddressAllowAnyCaseAllowColon, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 712 | extend!(MacAddressUpperCaseWithColon, ValidatorOption::NotAllow, ValidatorOption::Must); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 716 | extend!(MacAddressUpperCaseWithoutColon, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 720 | extend!(MacAddressUpperCaseAllowColon, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 728 | extend!(MacAddressLowerCaseWithColon, ValidatorOption::Must, ValidatorOption::Must); [INFO] [stderr] | ------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 732 | extend!(MacAddressLowerCaseWithoutColon, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 736 | extend!(MacAddressLowerCaseAllowColon, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/version/mod.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 114 | | self.full_version.ne(&other.full_version) [INFO] [stderr] 115 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/version/mod.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | / pub fn from_str(full_version: &str) -> Result { [INFO] [stderr] 255 | | Version::create_validator().parse_str(full_version) [INFO] [stderr] 256 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/uri/mod.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 146 | | self.full_uri.ne(&other.full_uri) [INFO] [stderr] 147 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/uri/mod.rs:298:5 [INFO] [stderr] | [INFO] [stderr] 298 | / pub fn from_str(full_uri: &str) -> Result { [INFO] [stderr] 299 | | URI::create_validator().parse_str(full_uri) [INFO] [stderr] 300 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/text/mod.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | / pub fn from_str(text: &str) -> Result { [INFO] [stderr] 157 | | Text::create_validator().parse_str(text) [INFO] [stderr] 158 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/line/mod.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | / pub fn from_str(line: &str) -> Result { [INFO] [stderr] 157 | | Line::create_validator().parse_str(line) [INFO] [stderr] 158 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | self.value.floor() == self.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.value.floor() - self.value).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/number/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | self.value.floor() == self.value [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] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/number/mod.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | / impl Hash for Number { [INFO] [stderr] 71 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 72 | | let bytes: [u8; 8] = unsafe { transmute(self.value) }; [INFO] [stderr] 73 | | [INFO] [stderr] 74 | | state.write(&bytes); [INFO] [stderr] 75 | | } [INFO] [stderr] 76 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/number/mod.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Clone, PartialEq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:152:24 [INFO] [stderr] | [INFO] [stderr] 152 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:156:24 [INFO] [stderr] | [INFO] [stderr] 156 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:160:24 [INFO] [stderr] | [INFO] [stderr] 160 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:164:24 [INFO] [stderr] | [INFO] [stderr] 164 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:184:24 [INFO] [stderr] | [INFO] [stderr] 184 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:188:24 [INFO] [stderr] | [INFO] [stderr] 188 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:192:24 [INFO] [stderr] | [INFO] [stderr] 192 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/number/mod.rs:338:28 [INFO] [stderr] | [INFO] [stderr] 338 | let na = a.starts_with("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/number/mod.rs:340:28 [INFO] [stderr] | [INFO] [stderr] 340 | let nb = b.starts_with("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/number/mod.rs:343:8 [INFO] [stderr] | [INFO] [stderr] 343 | if a.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!a.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: an inclusive range would be more readable [INFO] [stderr] --> src/number/mod.rs:359:25 [INFO] [stderr] | [INFO] [stderr] 359 | let s = &number[start..(start + 1)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `start..=start` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/number/mod.rs:370:37 [INFO] [stderr] | [INFO] [stderr] 370 | let s = &number[p..(p + 1)]; [INFO] [stderr] | ^^^^^^^^^^ help: use: `p..=p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/number/mod.rs:390:33 [INFO] [stderr] | [INFO] [stderr] 390 | let s = &number[end..(end + 1)]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `end..=end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/number/mod.rs:401:25 [INFO] [stderr] | [INFO] [stderr] 401 | &number[start..(end + 1)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `start..=end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 722 | extend!(NumberAny, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 722 | extend!(NumberAny, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 722 | extend!(NumberAny, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 738 | extend!(NumberGteZero, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 738 | extend!(NumberGteZero, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 738 | extend!(NumberGteZero, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 750 | extend!(NumberGtZero, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 750 | extend!(NumberGtZero, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 750 | extend!(NumberGtZero, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 756 | extend!(NumberLteZero, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 756 | extend!(NumberLteZero, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 756 | extend!(NumberLteZero, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 768 | extend!(NumberLtZero, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 768 | extend!(NumberLtZero, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 768 | extend!(NumberLtZero, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/integer/mod.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | / impl Hash for Integer { [INFO] [stderr] 67 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 68 | | state.write_i128(self.value); [INFO] [stderr] 69 | | } [INFO] [stderr] 70 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/integer/mod.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Clone, PartialEq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/integer/mod.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 154 | if value.floor() != value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(value.floor() - value).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/integer/mod.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 154 | if value.floor() != value { [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/integer/mod.rs:162:12 [INFO] [stderr] | [INFO] [stderr] 162 | if value.floor() as f32 != value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(value.floor() as f32 - value).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/integer/mod.rs:162:12 [INFO] [stderr] | [INFO] [stderr] 162 | if value.floor() as f32 != value { [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: casting i8 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:170:25 [INFO] [stderr] | [INFO] [stderr] 170 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:174:25 [INFO] [stderr] | [INFO] [stderr] 174 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:178:25 [INFO] [stderr] | [INFO] [stderr] 178 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i64 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:182:25 [INFO] [stderr] | [INFO] [stderr] 182 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:186:25 [INFO] [stderr] | [INFO] [stderr] 186 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:194:25 [INFO] [stderr] | [INFO] [stderr] 194 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u64 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:198:25 [INFO] [stderr] | [INFO] [stderr] 198 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 524 | extend!(IntegerAny, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 540 | extend!(IntegerGteZero, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 552 | extend!(IntegerGtZero, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 558 | extend!(IntegerLteZero, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 570 | extend!(IntegerLtZero, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: aborting due to 10 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `validators`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/domain/mod.rs:148:5 [INFO] [stderr] | [INFO] [stderr] 148 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 149 | | self.full_domain.ne(&other.full_domain) [INFO] [stderr] 150 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 600 | extend!(DomainLocalhostableWithPort, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 616 | extend!(DomainLocalhostableAllowPort, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 632 | extend!(DomainLocalhostableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 640 | extend!(DomainUnlocalhostableWithPort, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ----------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 652 | extend!(DomainUnlocalhostableAllowPort, ValidatorOption::Allow, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/domain/mod.rs:475:13 [INFO] [stderr] | [INFO] [stderr] 475 | / pub fn from_str(full_domain: &str) -> Result<$name, DomainError> { [INFO] [stderr] 476 | | Ok($name($name::create_validator().parse_str(full_domain)?)) [INFO] [stderr] 477 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 664 | extend!(DomainUnlocalhostableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/email/mod.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 93 | | self.full_email.ne(&other.full_email) [INFO] [stderr] 94 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/email/mod.rs:205:5 [INFO] [stderr] | [INFO] [stderr] 205 | / pub fn from_str(full_email: &str) -> Result { [INFO] [stderr] 206 | | Email::create_validator().parse_str(full_email) [INFO] [stderr] 207 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ipv4/mod.rs:19:24 [INFO] [stderr] | [INFO] [stderr] 19 | fn is_local_ipv4(addr: &Ipv4Addr) -> bool { [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `Ipv4Addr` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/ipv4/mod.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 129 | | self.full_ipv4.ne(&other.full_ipv4) [INFO] [stderr] 130 | | } [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipv4/mod.rs:240:37 [INFO] [stderr] | [INFO] [stderr] 240 | if ipv4.starts_with("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 622 | extend!(IPv4LocalableWithPort, ValidatorOption::Must, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 634 | extend!(IPv4LocalableAllowPort, ValidatorOption::Allow, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 650 | extend!(IPv4LocalableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 658 | extend!(IPv4UnlocalableWithPort, ValidatorOption::Must, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 666 | extend!(IPv4UnlocalableAllowPort, ValidatorOption::Allow, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv4/mod.rs:496:13 [INFO] [stderr] | [INFO] [stderr] 496 | / pub fn from_str(ipv4: &str) -> Result<$name, IPv4Error> { [INFO] [stderr] 497 | | Ok($name($name::create_validator().parse_str(ipv4)?)) [INFO] [stderr] 498 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 678 | extend!(IPv4UnlocalableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/ipv6/mod.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 145 | | self.full_ipv6.ne(&other.full_ipv6) [INFO] [stderr] 146 | | } [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: single-character string constant used as pattern [INFO] [stderr] --> src/ipv6/mod.rs:219:38 [INFO] [stderr] | [INFO] [stderr] 219 | let ip = if ipv6.starts_with("[") { [INFO] [stderr] | ^^^ help: try using a char instead: `'['` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 665 | extend!(IPv6LocalableWithPort, ValidatorOption::Must, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 677 | extend!(IPv6LocalableAllowPort, ValidatorOption::Allow, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 693 | extend!(IPv6LocalableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 701 | extend!(IPv6UnlocalableWithPort, ValidatorOption::Must, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 709 | extend!(IPv6UnlocalableAllowPort, ValidatorOption::Allow, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/ipv6/mod.rs:539:13 [INFO] [stderr] | [INFO] [stderr] 539 | / pub fn from_str(ipv6: &str) -> Result<$name, IPv6Error> { [INFO] [stderr] 540 | | Ok($name($name::create_validator().parse_str(ipv6)?)) [INFO] [stderr] 541 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 721 | extend!(IPv6UnlocalableWithoutPort, ValidatorOption::NotAllow, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/host/mod.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | / pub fn from_str(host: &str) -> Result<$name, HostError> { [INFO] [stderr] 275 | | Ok($name($name::create_validator().parse_str(host)?)) [INFO] [stderr] 276 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 440 | extend!(HostLocalable, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/host/mod.rs:274:13 [INFO] [stderr] | [INFO] [stderr] 274 | / pub fn from_str(host: &str) -> Result<$name, HostError> { [INFO] [stderr] 275 | | Ok($name($name::create_validator().parse_str(host)?)) [INFO] [stderr] 276 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 460 | extend!(HostUnlocalable, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/http_url/mod.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 197 | | self.full_http_url.ne(&other.full_http_url) [INFO] [stderr] 198 | | } [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: redundant closure found [INFO] [stderr] --> src/http_url/mod.rs:267:106 [INFO] [stderr] | [INFO] [stderr] 267 | let host_localable = HostLocalable::from_str(&full_http_url[m.start()..m.end()]).map_err(|err| HttpUrlError::IncorrectHostFormat(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HttpUrlError::IncorrectHostFormat` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_url/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_http_url: &str) -> Result<$name, HttpUrlError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_http_url)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 732 | extend!(HttpUrlLocalableWithProtocol, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_url/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_http_url: &str) -> Result<$name, HttpUrlError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_http_url)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 752 | extend!(HttpUrlUnlocalableWithProtocol, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_url/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_http_url: &str) -> Result<$name, HttpUrlError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_http_url)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 768 | extend!(HttpUrlLocalableWithoutProtocol, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_url/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_http_url: &str) -> Result<$name, HttpUrlError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_http_url)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 776 | extend!(HttpUrlUnlocalableWithoutProtocol, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/http_ftp_url/mod.rs:208:5 [INFO] [stderr] | [INFO] [stderr] 208 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 209 | | self.full_http_ftp_url.ne(&other.full_http_ftp_url) [INFO] [stderr] 210 | | } [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: redundant closure found [INFO] [stderr] --> src/http_ftp_url/mod.rs:296:110 [INFO] [stderr] | [INFO] [stderr] 296 | let host_localable = HostLocalable::from_str(&full_http_ftp_url[m.start()..m.end()]).map_err(|err| HttpFtpUrlError::IncorrectHostFormat(err))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `HttpFtpUrlError::IncorrectHostFormat` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_ftp_url/mod.rs:594:13 [INFO] [stderr] | [INFO] [stderr] 594 | / pub fn from_str(full_http_ftp_url: &str) -> Result<$name, HttpFtpUrlError> { [INFO] [stderr] 595 | | Ok($name($name::create_validator().parse_str(full_http_ftp_url)?)) [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 763 | extend!(HttpFtpUrlLocalableWithProtocol, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_ftp_url/mod.rs:594:13 [INFO] [stderr] | [INFO] [stderr] 594 | / pub fn from_str(full_http_ftp_url: &str) -> Result<$name, HttpFtpUrlError> { [INFO] [stderr] 595 | | Ok($name($name::create_validator().parse_str(full_http_ftp_url)?)) [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 791 | extend!(HttpFtpUrlUnlocalableWithProtocol, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | --------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_ftp_url/mod.rs:594:13 [INFO] [stderr] | [INFO] [stderr] 594 | / pub fn from_str(full_http_ftp_url: &str) -> Result<$name, HttpFtpUrlError> { [INFO] [stderr] 595 | | Ok($name($name::create_validator().parse_str(full_http_ftp_url)?)) [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 815 | extend!(HttpFtpUrlLocalableWithoutProtocol, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/http_ftp_url/mod.rs:594:13 [INFO] [stderr] | [INFO] [stderr] 594 | / pub fn from_str(full_http_ftp_url: &str) -> Result<$name, HttpFtpUrlError> { [INFO] [stderr] 595 | | Ok($name($name::create_validator().parse_str(full_http_ftp_url)?)) [INFO] [stderr] 596 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 823 | extend!(HttpFtpUrlUnlocalableWithoutProtocol, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/base64/mod.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | / pub fn from_str(base64: &str) -> Result { [INFO] [stderr] 157 | | Base64::create_validator().parse_str(base64) [INFO] [stderr] 158 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/base64_url/mod.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn from_str(base64_url: &str) -> Result { [INFO] [stderr] 155 | | Base64Url::create_validator().parse_str(base64_url) [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/base32/mod.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn from_str(base32: &str) -> Result { [INFO] [stderr] 155 | | Base32::create_validator().parse_str(base32) [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/short_crypt_url_component/mod.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn from_str(short_crypt_url_component: &str) -> Result { [INFO] [stderr] 155 | | ShortCryptUrlComponent::create_validator().parse_str(short_crypt_url_component) [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/short_crypt_qr_code_alphanumeric/mod.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn from_str(short_crypt_qr_code_alphanumeric_url: &str) -> Result { [INFO] [stderr] 155 | | ShortCryptQRCodeAlphanumeric::create_validator().parse_str(short_crypt_qr_code_alphanumeric_url) [INFO] [stderr] 156 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/uuid/mod.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 137 | | self.uuid.ne(&other.uuid) [INFO] [stderr] 138 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/uuid/mod.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | / pub fn from_str(full_uuid: &str) -> Result<$name, UUIDError> { [INFO] [stderr] 318 | | Ok($name($name::create_validator().parse_str(full_uuid)?)) [INFO] [stderr] 319 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 416 | extend!(UUIDAllowAnyCase, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/uuid/mod.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | / pub fn from_str(full_uuid: &str) -> Result<$name, UUIDError> { [INFO] [stderr] 318 | | Ok($name($name::create_validator().parse_str(full_uuid)?)) [INFO] [stderr] 319 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 432 | extend!(UUIDUpperCase, ValidatorOption::NotAllow); [INFO] [stderr] | -------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/uuid/mod.rs:317:13 [INFO] [stderr] | [INFO] [stderr] 317 | / pub fn from_str(full_uuid: &str) -> Result<$name, UUIDError> { [INFO] [stderr] 318 | | Ok($name($name::create_validator().parse_str(full_uuid)?)) [INFO] [stderr] 319 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 438 | extend!(UUIDLowerCase, ValidatorOption::Must); [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/mac_address/mod.rs:151:5 [INFO] [stderr] | [INFO] [stderr] 151 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 152 | | self.mac_address.ne(&other.mac_address) [INFO] [stderr] 153 | | } [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: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> src/mac_address/mod.rs:185:5 [INFO] [stderr] | [INFO] [stderr] 185 | / fn parse_inner(&self, mac_address: &str) -> MacAddressResult { [INFO] [stderr] 186 | | match self.colon { [INFO] [stderr] 187 | | ValidatorOption::Must => { [INFO] [stderr] 188 | | if mac_address.len() != 17 { [INFO] [stderr] ... | [INFO] [stderr] 414 | | } [INFO] [stderr] 415 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 660 | extend!(MacAddressAllowAnyCaseWithColon, ValidatorOption::Allow, ValidatorOption::Must); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 676 | extend!(MacAddressAllowAnyCaseWithoutColon, ValidatorOption::Allow, ValidatorOption::NotAllow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 692 | extend!(MacAddressAllowAnyCaseAllowColon, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 712 | extend!(MacAddressUpperCaseWithColon, ValidatorOption::NotAllow, ValidatorOption::Must); [INFO] [stderr] | ---------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 716 | extend!(MacAddressUpperCaseWithoutColon, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ----------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 720 | extend!(MacAddressUpperCaseAllowColon, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 728 | extend!(MacAddressLowerCaseWithColon, ValidatorOption::Must, ValidatorOption::Must); [INFO] [stderr] | ------------------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 732 | extend!(MacAddressLowerCaseWithoutColon, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/mac_address/mod.rs:538:13 [INFO] [stderr] | [INFO] [stderr] 538 | / pub fn from_str(full_mac_address: &str) -> Result<$name, MacAddressError> { [INFO] [stderr] 539 | | Ok($name($name::create_validator().parse_str(full_mac_address)?)) [INFO] [stderr] 540 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 736 | extend!(MacAddressLowerCaseAllowColon, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/version/mod.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 114 | | self.full_version.ne(&other.full_version) [INFO] [stderr] 115 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/version/mod.rs:254:5 [INFO] [stderr] | [INFO] [stderr] 254 | / pub fn from_str(full_version: &str) -> Result { [INFO] [stderr] 255 | | Version::create_validator().parse_str(full_version) [INFO] [stderr] 256 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: re-implementing `PartialEq::ne` is unnecessary [INFO] [stderr] --> src/uri/mod.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | / fn ne(&self, other: &Self) -> bool { [INFO] [stderr] 146 | | self.full_uri.ne(&other.full_uri) [INFO] [stderr] 147 | | } [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: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/uri/mod.rs:298:5 [INFO] [stderr] | [INFO] [stderr] 298 | / pub fn from_str(full_uri: &str) -> Result { [INFO] [stderr] 299 | | URI::create_validator().parse_str(full_uri) [INFO] [stderr] 300 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/text/mod.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | / pub fn from_str(text: &str) -> Result { [INFO] [stderr] 157 | | Text::create_validator().parse_str(text) [INFO] [stderr] 158 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/line/mod.rs:156:5 [INFO] [stderr] | [INFO] [stderr] 156 | / pub fn from_str(line: &str) -> Result { [INFO] [stderr] 157 | | Line::create_validator().parse_str(line) [INFO] [stderr] 158 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | self.value.floor() == self.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.value.floor() - self.value).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/number/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | self.value.floor() == self.value [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] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/number/mod.rs:70:1 [INFO] [stderr] | [INFO] [stderr] 70 | / impl Hash for Number { [INFO] [stderr] 71 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 72 | | let bytes: [u8; 8] = unsafe { transmute(self.value) }; [INFO] [stderr] 73 | | [INFO] [stderr] 74 | | state.write(&bytes); [INFO] [stderr] 75 | | } [INFO] [stderr] 76 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/number/mod.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Clone, PartialEq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: casting f32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:152:24 [INFO] [stderr] | [INFO] [stderr] 152 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:156:24 [INFO] [stderr] | [INFO] [stderr] 156 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:160:24 [INFO] [stderr] | [INFO] [stderr] 160 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:164:24 [INFO] [stderr] | [INFO] [stderr] 164 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:184:24 [INFO] [stderr] | [INFO] [stderr] 184 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:188:24 [INFO] [stderr] | [INFO] [stderr] 188 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/number/mod.rs:192:24 [INFO] [stderr] | [INFO] [stderr] 192 | self.parse_f64(value as f64) [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | assert_eq!(-0.556, number.get_number()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | assert_eq!(-0.556, number.get_number()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/number/mod.rs:338:28 [INFO] [stderr] | [INFO] [stderr] 338 | let na = a.starts_with("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/number/mod.rs:340:28 [INFO] [stderr] | [INFO] [stderr] 340 | let nb = b.starts_with("-"); [INFO] [stderr] | ^^^ help: try using a char instead: `'-'` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/number/mod.rs:343:8 [INFO] [stderr] | [INFO] [stderr] 343 | if a.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!a.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: an inclusive range would be more readable [INFO] [stderr] --> src/number/mod.rs:359:25 [INFO] [stderr] | [INFO] [stderr] 359 | let s = &number[start..(start + 1)]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: use: `start..=start` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/number/mod.rs:370:37 [INFO] [stderr] | [INFO] [stderr] 370 | let s = &number[p..(p + 1)]; [INFO] [stderr] | ^^^^^^^^^^ help: use: `p..=p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/number/mod.rs:390:33 [INFO] [stderr] | [INFO] [stderr] 390 | let s = &number[end..(end + 1)]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `end..=end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/number/mod.rs:401:25 [INFO] [stderr] | [INFO] [stderr] 401 | &number[start..(end + 1)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `start..=end` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 722 | extend!(NumberAny, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 722 | extend!(NumberAny, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 722 | extend!(NumberAny, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | ------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 738 | extend!(NumberGteZero, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 738 | extend!(NumberGteZero, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 738 | extend!(NumberGteZero, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 750 | extend!(NumberGtZero, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 750 | extend!(NumberGtZero, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 750 | extend!(NumberGtZero, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ---------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 756 | extend!(NumberLteZero, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 756 | extend!(NumberLteZero, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 756 | extend!(NumberLteZero, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ---------------------------------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/number/mod.rs:563:13 [INFO] [stderr] | [INFO] [stderr] 563 | / pub fn from_str(full_number: &str) -> Result<$name, NumberError> { [INFO] [stderr] 564 | | Ok($name($name::create_validator().parse_str(full_number)?)) [INFO] [stderr] 565 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 768 | extend!(NumberLtZero, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(self.0.value.floor() - self.0.value).abs() < error` [INFO] [stderr] ... [INFO] [stderr] 768 | extend!(NumberLtZero, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/number/mod.rs:668:17 [INFO] [stderr] | [INFO] [stderr] 668 | self.0.value.floor() == self.0.value [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 768 | extend!(NumberLtZero, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------ in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/integer/mod.rs:66:1 [INFO] [stderr] | [INFO] [stderr] 66 | / impl Hash for Integer { [INFO] [stderr] 67 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 68 | | state.write_i128(self.value); [INFO] [stderr] 69 | | } [INFO] [stderr] 70 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/integer/mod.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | #[derive(Clone, PartialEq)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/integer/mod.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 154 | if value.floor() != value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(value.floor() - value).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/integer/mod.rs:154:12 [INFO] [stderr] | [INFO] [stderr] 154 | if value.floor() != value { [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/integer/mod.rs:162:12 [INFO] [stderr] | [INFO] [stderr] 162 | if value.floor() as f32 != value { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(value.floor() as f32 - value).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/integer/mod.rs:162:12 [INFO] [stderr] | [INFO] [stderr] 162 | if value.floor() as f32 != value { [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: casting i8 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:170:25 [INFO] [stderr] | [INFO] [stderr] 170 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:174:25 [INFO] [stderr] | [INFO] [stderr] 174 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:178:25 [INFO] [stderr] | [INFO] [stderr] 178 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i64 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:182:25 [INFO] [stderr] | [INFO] [stderr] 182 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:186:25 [INFO] [stderr] | [INFO] [stderr] 186 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:190:25 [INFO] [stderr] | [INFO] [stderr] 190 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:194:25 [INFO] [stderr] | [INFO] [stderr] 194 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u64 to i128 may become silently lossy if types change [INFO] [stderr] --> src/integer/mod.rs:198:25 [INFO] [stderr] | [INFO] [stderr] 198 | self.parse_i128(value as i128) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i128::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 524 | extend!(IntegerAny, ValidatorOption::Allow, ValidatorOption::Allow); [INFO] [stderr] | -------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 540 | extend!(IntegerGteZero, ValidatorOption::NotAllow, ValidatorOption::Allow); [INFO] [stderr] | --------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 552 | extend!(IntegerGtZero, ValidatorOption::NotAllow, ValidatorOption::NotAllow); [INFO] [stderr] | ----------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 558 | extend!(IntegerLteZero, ValidatorOption::Must, ValidatorOption::Allow); [INFO] [stderr] | ----------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/integer/mod.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | / pub fn from_str(full_integer: &str) -> Result<$name, IntegerError> { [INFO] [stderr] 367 | | Ok($name($name::create_validator().parse_str(full_integer)?)) [INFO] [stderr] 368 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 570 | extend!(IntegerLtZero, ValidatorOption::Must, ValidatorOption::NotAllow); [INFO] [stderr] | ------------------------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: aborting due to 11 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `validators`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e86db026a180232e15993f18a0a10eec8974dd2170128e3de7872aea539c7935"` [INFO] running `"docker" "rm" "-f" "e86db026a180232e15993f18a0a10eec8974dd2170128e3de7872aea539c7935"` [INFO] [stdout] e86db026a180232e15993f18a0a10eec8974dd2170128e3de7872aea539c7935