[INFO] crate curl 0.4.19 is already in cache [INFO] extracting crate curl 0.4.19 into work/ex/clippy-test-run/sources/stable/reg/curl/0.4.19 [INFO] extracting crate curl 0.4.19 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/curl/0.4.19 [INFO] validating manifest of curl-0.4.19 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 curl-0.4.19 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 curl-0.4.19 [INFO] removed 1 missing tests [INFO] finished frobbing curl-0.4.19 [INFO] frobbed toml for curl-0.4.19 written to work/ex/clippy-test-run/sources/stable/reg/curl/0.4.19/Cargo.toml [INFO] started frobbing curl-0.4.19 [INFO] removed 1 missing tests [INFO] finished frobbing curl-0.4.19 [INFO] frobbed toml for curl-0.4.19 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/curl/0.4.19/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 curl-0.4.19 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/curl/0.4.19:/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] 2f1a72064079eb4e1b9726d86a253770a1c357786241bc0c0f2efa1351f87dc1 [INFO] running `"docker" "start" "-a" "2f1a72064079eb4e1b9726d86a253770a1c357786241bc0c0f2efa1351f87dc1"` [INFO] [stderr] Checking curl v0.4.19 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | code: code, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:343:22 [INFO] [stderr] | [INFO] [stderr] 343 | ShareError { code: code } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:412:22 [INFO] [stderr] | [INFO] [stderr] 412 | MultiError { code: code } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:497:21 [INFO] [stderr] | [INFO] [stderr] 497 | FormError { code: code } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/easy/list.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | List { raw: raw } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `raw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/easy/form.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/easy/handler.rs:319:24 [INFO] [stderr] | [INFO] [stderr] 319 | Err(_) => drop(write!(out, "({} bytes of data)\n", data.len())), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/easy/handler.rs:617:21 [INFO] [stderr] | [INFO] [stderr] 617 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/easy/handler.rs:622:21 [INFO] [stderr] | [INFO] [stderr] 622 | handler: handler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `handler` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multi.rs:338:13 [INFO] [stderr] | [INFO] [stderr] 338 | easy: easy, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `easy` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multi.rs:349:13 [INFO] [stderr] | [INFO] [stderr] 349 | easy: easy, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `easy` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multi.rs:400:29 [INFO] [stderr] | [INFO] [stderr] 400 | f(Message { ptr: ptr, _multi: self }) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ptr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multi.rs:1054:17 [INFO] [stderr] | [INFO] [stderr] 1054 | events: events, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `events` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | code: code, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:343:22 [INFO] [stderr] | [INFO] [stderr] 343 | ShareError { code: code } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:412:22 [INFO] [stderr] | [INFO] [stderr] 412 | MultiError { code: code } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/error.rs:497:21 [INFO] [stderr] | [INFO] [stderr] 497 | FormError { code: code } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/easy/list.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | List { raw: raw } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `raw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/easy/form.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/easy/handler.rs:319:24 [INFO] [stderr] | [INFO] [stderr] 319 | Err(_) => drop(write!(out, "({} bytes of data)\n", data.len())), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/easy/handler.rs:617:21 [INFO] [stderr] | [INFO] [stderr] 617 | handle: handle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/easy/handler.rs:622:21 [INFO] [stderr] | [INFO] [stderr] 622 | handler: handler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `handler` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multi.rs:338:13 [INFO] [stderr] | [INFO] [stderr] 338 | easy: easy, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `easy` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multi.rs:349:13 [INFO] [stderr] | [INFO] [stderr] 349 | easy: easy, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `easy` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multi.rs:400:29 [INFO] [stderr] | [INFO] [stderr] 400 | f(Message { ptr: ptr, _multi: self }) [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ptr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/multi.rs:1054:17 [INFO] [stderr] | [INFO] [stderr] 1054 | events: events, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `events` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/list.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:626:13 [INFO] [stderr] | [INFO] [stderr] 626 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:2601:9 [INFO] [stderr] | [INFO] [stderr] 2601 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:2661:13 [INFO] [stderr] | [INFO] [stderr] 2661 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:2695:13 [INFO] [stderr] | [INFO] [stderr] 2695 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:3024:5 [INFO] [stderr] | [INFO] [stderr] 3024 | return 0 [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/multi.rs:526:70 [INFO] [stderr] | [INFO] [stderr] 526 | secs as i32 * 1000 + timeout.subsec_nanos() as i32 / 1000_000 [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/multi.rs:837:9 [INFO] [stderr] | [INFO] [stderr] 837 | return err [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/multi.rs:855:9 [INFO] [stderr] | [INFO] [stderr] 855 | return err [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/list.rs:88:13 [INFO] [stderr] | [INFO] [stderr] 88 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:626:13 [INFO] [stderr] | [INFO] [stderr] 626 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:2601:9 [INFO] [stderr] | [INFO] [stderr] 2601 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:2661:13 [INFO] [stderr] | [INFO] [stderr] 2661 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:2695:13 [INFO] [stderr] | [INFO] [stderr] 2695 | return ret [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `ret` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/easy/handler.rs:3024:5 [INFO] [stderr] | [INFO] [stderr] 3024 | return 0 [INFO] [stderr] | ^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/multi.rs:526:70 [INFO] [stderr] | [INFO] [stderr] 526 | secs as i32 * 1000 + timeout.subsec_nanos() as i32 / 1000_000 [INFO] [stderr] | ^^^^^^^^ help: consider: `1_000_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/multi.rs:837:9 [INFO] [stderr] | [INFO] [stderr] 837 | return err [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/multi.rs:855:9 [INFO] [stderr] | [INFO] [stderr] 855 | return err [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `err` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `easy::list::List` [INFO] [stderr] --> src/easy/list.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new() -> List { [INFO] [stderr] 32 | | List { raw: 0 as *mut _ } [INFO] [stderr] 33 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 29 | impl Default for easy::list::List { [INFO] [stderr] 30 | fn default() -> Self { [INFO] [stderr] 31 | Self::new() [INFO] [stderr] 32 | } [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/list.rs:32:21 [INFO] [stderr] | [INFO] [stderr] 32 | List { raw: 0 as *mut _ } [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `easy::form::Form` [INFO] [stderr] --> src/easy/form.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn new() -> Form { [INFO] [stderr] 36 | | Form { [INFO] [stderr] 37 | | head: 0 as *mut _, [INFO] [stderr] 38 | | tail: 0 as *mut _, [INFO] [stderr] ... | [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 33 | impl Default for easy::form::Form { [INFO] [stderr] 34 | fn default() -> Self { [INFO] [stderr] 35 | Self::new() [INFO] [stderr] 36 | } [INFO] [stderr] 37 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/form.rs:37:19 [INFO] [stderr] | [INFO] [stderr] 37 | head: 0 as *mut _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/form.rs:38:19 [INFO] [stderr] | [INFO] [stderr] 38 | tail: 0 as *mut _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/form.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | value: 0 as *mut _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:108:12 [INFO] [stderr] | [INFO] [stderr] 108 | write: Option Result + 'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:109:11 [INFO] [stderr] | [INFO] [stderr] 109 | read: Option Result + 'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 111 | debug: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:113:15 [INFO] [stderr] | [INFO] [stderr] 113 | progress: Option bool + 'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:114:14 [INFO] [stderr] | [INFO] [stderr] 114 | ssl_ctx: Option Result<(), Error> + 'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `easy::handle::Easy` [INFO] [stderr] --> src/easy/handle.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | / pub fn new() -> Easy { [INFO] [stderr] 126 | | Easy { [INFO] [stderr] 127 | | inner: Easy2::new(EasyData { [INFO] [stderr] 128 | | running: Cell::new(false), [INFO] [stderr] ... | [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 117 | impl Default for easy::handle::Easy { [INFO] [stderr] 118 | fn default() -> Self { [INFO] [stderr] 119 | Self::new() [INFO] [stderr] 120 | } [INFO] [stderr] 121 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. [INFO] [stderr] --> src/easy/handler.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | drop(data); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_ref)] on by default [INFO] [stderr] note: argument has type &mut [u8] [INFO] [stderr] --> src/easy/handler.rs:113:14 [INFO] [stderr] | [INFO] [stderr] 113 | drop(data); [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_ref [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/easy/handler.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | drop(whence); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_copy)] on by default [INFO] [stderr] note: argument has type std::io::SeekFrom [INFO] [stderr] --> src/easy/handler.rs:137:14 [INFO] [stderr] | [INFO] [stderr] 137 | drop(whence); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. [INFO] [stderr] --> src/easy/handler.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | drop(data); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type &[u8] [INFO] [stderr] --> src/easy/handler.rs:187:14 [INFO] [stderr] | [INFO] [stderr] 187 | drop(data); [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_ref [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/easy/handler.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | drop((dltotal, dlnow, ultotal, ulnow)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type (f64, f64, f64, f64) [INFO] [stderr] --> src/easy/handler.rs:227:14 [INFO] [stderr] | [INFO] [stderr] 227 | drop((dltotal, dlnow, ultotal, ulnow)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:852:50 [INFO] [stderr] | [INFO] [stderr] 852 | self.setopt_long(curl_sys::CURLOPT_PORT, port as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(port)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:875:55 [INFO] [stderr] | [INFO] [stderr] 875 | self.setopt_long(curl_sys::CURLOPT_PROXYPORT, port as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(port)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:927:55 [INFO] [stderr] | [INFO] [stderr] 927 | self.setopt_long(curl_sys::CURLOPT_LOCALPORT, port as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(port)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:937:26 [INFO] [stderr] | [INFO] [stderr] 937 | range as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(range)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1021:26 [INFO] [stderr] | [INFO] [stderr] 1021 | scope as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(scope)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1161:55 [INFO] [stderr] | [INFO] [stderr] 1161 | self.setopt_long(curl_sys::CURLOPT_MAXREDIRS, max as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(max)` [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: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/easy/handler.rs:1211:60 [INFO] [stderr] | [INFO] [stderr] 1211 | try!(self.setopt_ptr(curl_sys::CURLOPT_POSTFIELDS, 0 as *const _)); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1604:18 [INFO] [stderr] | [INFO] [stderr] 1604 | (timeout.subsec_nanos() / 1_000_000) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(timeout.subsec_nanos() / 1_000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/easy/handler.rs:1604:18 [INFO] [stderr] | [INFO] [stderr] 1604 | (timeout.subsec_nanos() / 1_000_000) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `timeout.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1618:61 [INFO] [stderr] | [INFO] [stderr] 1618 | self.setopt_long(curl_sys::CURLOPT_LOW_SPEED_LIMIT, limit as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(limit)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1674:57 [INFO] [stderr] | [INFO] [stderr] 1674 | self.setopt_long(curl_sys::CURLOPT_MAXCONNECTS, max as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(max)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1714:18 [INFO] [stderr] | [INFO] [stderr] 1714 | (timeout.subsec_nanos() / 1_000_000) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(timeout.subsec_nanos() / 1_000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/easy/handler.rs:1714:18 [INFO] [stderr] | [INFO] [stderr] 1714 | (timeout.subsec_nanos() / 1_000_000) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `timeout.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/easy/handler.rs:2202:13 [INFO] [stderr] | [INFO] [stderr] 2202 | / if r==0 { [INFO] [stderr] 2203 | | false [INFO] [stderr] 2204 | | } else { [INFO] [stderr] 2205 | | true [INFO] [stderr] 2206 | | } [INFO] [stderr] | |_____________^ help: you can reduce it to: `!(r==0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/handler.rs:2538:28 [INFO] [stderr] | [INFO] [stderr] 2538 | let mut list = 0 as *mut _; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/easy/handler.rs:2650:12 [INFO] [stderr] | [INFO] [stderr] 2650 | if s.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/easy/handler.rs:2667:12 [INFO] [stderr] | [INFO] [stderr] 2667 | if s.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/easy/handler.rs:2832:25 [INFO] [stderr] | [INFO] [stderr] 2832 | let mut p = 0 as *const c_char; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:2864:25 [INFO] [stderr] | [INFO] [stderr] 2864 | let mut p = 0 as c_double; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(0)` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/easy/handler.rs:2890:52 [INFO] [stderr] | [INFO] [stderr] 2890 | let pos = buf.iter().position(|i| *i == 0).unwrap_or(buf.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `easy::handler::Auth` [INFO] [stderr] --> src/easy/handler.rs:3089:5 [INFO] [stderr] | [INFO] [stderr] 3089 | / pub fn new() -> Auth { [INFO] [stderr] 3090 | | Auth { bits: 0 } [INFO] [stderr] 3091 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 592 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `easy::handler::SslOpt` [INFO] [stderr] --> src/easy/handler.rs:3194:5 [INFO] [stderr] | [INFO] [stderr] 3194 | / pub fn new() -> SslOpt { [INFO] [stderr] 3195 | | SslOpt { bits: 0 } [INFO] [stderr] 3196 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 598 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `multi::Multi` [INFO] [stderr] --> src/multi.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | / pub fn new() -> Multi { [INFO] [stderr] 100 | | unsafe { [INFO] [stderr] 101 | | ::init(); [INFO] [stderr] 102 | | let ptr = curl_sys::curl_multi_init(); [INFO] [stderr] ... | [INFO] [stderr] 111 | | } [INFO] [stderr] 112 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 96 | impl Default for multi::Multi { [INFO] [stderr] 97 | fn default() -> Self { [INFO] [stderr] 98 | Self::new() [INFO] [stderr] 99 | } [INFO] [stderr] 100 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:625:60 [INFO] [stderr] | [INFO] [stderr] 625 | let read = read.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:626:62 [INFO] [stderr] | [INFO] [stderr] 626 | let write = write.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:627:64 [INFO] [stderr] | [INFO] [stderr] 627 | let except = except.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:649:60 [INFO] [stderr] | [INFO] [stderr] 649 | let read = read.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:650:62 [INFO] [stderr] | [INFO] [stderr] 650 | let write = write.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:651:64 [INFO] [stderr] | [INFO] [stderr] 651 | let except = except.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `multi::Events` [INFO] [stderr] --> src/multi.rs:896:5 [INFO] [stderr] | [INFO] [stderr] 896 | / pub fn new() -> Events { [INFO] [stderr] 897 | | Events { bits: 0 } [INFO] [stderr] 898 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 76 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `multi::WaitFd` [INFO] [stderr] --> src/multi.rs:971:5 [INFO] [stderr] | [INFO] [stderr] 971 | / pub fn new() -> WaitFd { [INFO] [stderr] 972 | | WaitFd { [INFO] [stderr] 973 | | inner: curl_sys::curl_waitfd { [INFO] [stderr] 974 | | fd: 0, [INFO] [stderr] ... | [INFO] [stderr] 978 | | } [INFO] [stderr] 979 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 969 | impl Default for multi::WaitFd { [INFO] [stderr] 970 | fn default() -> Self { [INFO] [stderr] 971 | Self::new() [INFO] [stderr] 972 | } [INFO] [stderr] 973 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `easy::list::List` [INFO] [stderr] --> src/easy/list.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new() -> List { [INFO] [stderr] 32 | | List { raw: 0 as *mut _ } [INFO] [stderr] 33 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 29 | impl Default for easy::list::List { [INFO] [stderr] 30 | fn default() -> Self { [INFO] [stderr] 31 | Self::new() [INFO] [stderr] 32 | } [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/list.rs:32:21 [INFO] [stderr] | [INFO] [stderr] 32 | List { raw: 0 as *mut _ } [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_ptr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `easy::form::Form` [INFO] [stderr] --> src/easy/form.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | / pub fn new() -> Form { [INFO] [stderr] 36 | | Form { [INFO] [stderr] 37 | | head: 0 as *mut _, [INFO] [stderr] 38 | | tail: 0 as *mut _, [INFO] [stderr] ... | [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 33 | impl Default for easy::form::Form { [INFO] [stderr] 34 | fn default() -> Self { [INFO] [stderr] 35 | Self::new() [INFO] [stderr] 36 | } [INFO] [stderr] 37 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/form.rs:37:19 [INFO] [stderr] | [INFO] [stderr] 37 | head: 0 as *mut _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/form.rs:38:19 [INFO] [stderr] | [INFO] [stderr] 38 | tail: 0 as *mut _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/form.rs:56:24 [INFO] [stderr] | [INFO] [stderr] 56 | value: 0 as *mut _, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] error: Could not compile `curl`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:108:12 [INFO] [stderr] | [INFO] [stderr] 108 | write: Option Result + 'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:109:11 [INFO] [stderr] | [INFO] [stderr] 109 | read: Option Result + 'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:111:12 [INFO] [stderr] | [INFO] [stderr] 111 | debug: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:113:15 [INFO] [stderr] | [INFO] [stderr] 113 | progress: Option bool + 'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/easy/handle.rs:114:14 [INFO] [stderr] | [INFO] [stderr] 114 | ssl_ctx: Option Result<(), Error> + 'a>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `easy::handle::Easy` [INFO] [stderr] --> src/easy/handle.rs:125:5 [INFO] [stderr] | [INFO] [stderr] 125 | / pub fn new() -> Easy { [INFO] [stderr] 126 | | Easy { [INFO] [stderr] 127 | | inner: Easy2::new(EasyData { [INFO] [stderr] 128 | | running: Cell::new(false), [INFO] [stderr] ... | [INFO] [stderr] 132 | | } [INFO] [stderr] 133 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 117 | impl Default for easy::handle::Easy { [INFO] [stderr] 118 | fn default() -> Self { [INFO] [stderr] 119 | Self::new() [INFO] [stderr] 120 | } [INFO] [stderr] 121 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. [INFO] [stderr] --> src/easy/handler.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | drop(data); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_ref)] on by default [INFO] [stderr] note: argument has type &mut [u8] [INFO] [stderr] --> src/easy/handler.rs:113:14 [INFO] [stderr] | [INFO] [stderr] 113 | drop(data); [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_ref [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/easy/handler.rs:137:9 [INFO] [stderr] | [INFO] [stderr] 137 | drop(whence); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::drop_copy)] on by default [INFO] [stderr] note: argument has type std::io::SeekFrom [INFO] [stderr] --> src/easy/handler.rs:137:14 [INFO] [stderr] | [INFO] [stderr] 137 | drop(whence); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a reference instead of an owned value. Dropping a reference does nothing. [INFO] [stderr] --> src/easy/handler.rs:187:9 [INFO] [stderr] | [INFO] [stderr] 187 | drop(data); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type &[u8] [INFO] [stderr] --> src/easy/handler.rs:187:14 [INFO] [stderr] | [INFO] [stderr] 187 | drop(data); [INFO] [stderr] | ^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_ref [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::drop` with a value that implements Copy. Dropping a copy leaves the original intact. [INFO] [stderr] --> src/easy/handler.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | drop((dltotal, dlnow, ultotal, ulnow)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type (f64, f64, f64, f64) [INFO] [stderr] --> src/easy/handler.rs:227:14 [INFO] [stderr] | [INFO] [stderr] 227 | drop((dltotal, dlnow, ultotal, ulnow)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#drop_copy [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:852:50 [INFO] [stderr] | [INFO] [stderr] 852 | self.setopt_long(curl_sys::CURLOPT_PORT, port as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(port)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:875:55 [INFO] [stderr] | [INFO] [stderr] 875 | self.setopt_long(curl_sys::CURLOPT_PROXYPORT, port as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(port)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:927:55 [INFO] [stderr] | [INFO] [stderr] 927 | self.setopt_long(curl_sys::CURLOPT_LOCALPORT, port as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(port)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:937:26 [INFO] [stderr] | [INFO] [stderr] 937 | range as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(range)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1021:26 [INFO] [stderr] | [INFO] [stderr] 1021 | scope as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(scope)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1161:55 [INFO] [stderr] | [INFO] [stderr] 1161 | self.setopt_long(curl_sys::CURLOPT_MAXREDIRS, max as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(max)` [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: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/easy/handler.rs:1211:60 [INFO] [stderr] | [INFO] [stderr] 1211 | try!(self.setopt_ptr(curl_sys::CURLOPT_POSTFIELDS, 0 as *const _)); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1604:18 [INFO] [stderr] | [INFO] [stderr] 1604 | (timeout.subsec_nanos() / 1_000_000) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(timeout.subsec_nanos() / 1_000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/easy/handler.rs:1604:18 [INFO] [stderr] | [INFO] [stderr] 1604 | (timeout.subsec_nanos() / 1_000_000) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `timeout.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::duration_subsec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1618:61 [INFO] [stderr] | [INFO] [stderr] 1618 | self.setopt_long(curl_sys::CURLOPT_LOW_SPEED_LIMIT, limit as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(limit)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1674:57 [INFO] [stderr] | [INFO] [stderr] 1674 | self.setopt_long(curl_sys::CURLOPT_MAXCONNECTS, max as c_long) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(max)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:1714:18 [INFO] [stderr] | [INFO] [stderr] 1714 | (timeout.subsec_nanos() / 1_000_000) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(timeout.subsec_nanos() / 1_000_000)` [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: Calling `subsec_millis()` is more concise than this calculation [INFO] [stderr] --> src/easy/handler.rs:1714:18 [INFO] [stderr] | [INFO] [stderr] 1714 | (timeout.subsec_nanos() / 1_000_000) as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `timeout.subsec_millis()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#duration_subsec [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/easy/handler.rs:2202:13 [INFO] [stderr] | [INFO] [stderr] 2202 | / if r==0 { [INFO] [stderr] 2203 | | false [INFO] [stderr] 2204 | | } else { [INFO] [stderr] 2205 | | true [INFO] [stderr] 2206 | | } [INFO] [stderr] | |_____________^ help: you can reduce it to: `!(r==0)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/easy/handler.rs:2538:28 [INFO] [stderr] | [INFO] [stderr] 2538 | let mut list = 0 as *mut _; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/easy/handler.rs:2650:12 [INFO] [stderr] | [INFO] [stderr] 2650 | if s.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/easy/handler.rs:2667:12 [INFO] [stderr] | [INFO] [stderr] 2667 | if s.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `0 as *const _` detected. Consider using `ptr::null()` [INFO] [stderr] --> src/easy/handler.rs:2832:25 [INFO] [stderr] | [INFO] [stderr] 2832 | let mut p = 0 as *const c_char; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/easy/handler.rs:2864:25 [INFO] [stderr] | [INFO] [stderr] 2864 | let mut p = 0 as c_double; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `f64::from(0)` [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/easy/handler.rs:2890:52 [INFO] [stderr] | [INFO] [stderr] 2890 | let pos = buf.iter().position(|i| *i == 0).unwrap_or(buf.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| buf.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `easy::handler::Auth` [INFO] [stderr] --> src/easy/handler.rs:3089:5 [INFO] [stderr] | [INFO] [stderr] 3089 | / pub fn new() -> Auth { [INFO] [stderr] 3090 | | Auth { bits: 0 } [INFO] [stderr] 3091 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 592 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `easy::handler::SslOpt` [INFO] [stderr] --> src/easy/handler.rs:3194:5 [INFO] [stderr] | [INFO] [stderr] 3194 | / pub fn new() -> SslOpt { [INFO] [stderr] 3195 | | SslOpt { bits: 0 } [INFO] [stderr] 3196 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 598 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `multi::Multi` [INFO] [stderr] --> src/multi.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | / pub fn new() -> Multi { [INFO] [stderr] 100 | | unsafe { [INFO] [stderr] 101 | | ::init(); [INFO] [stderr] 102 | | let ptr = curl_sys::curl_multi_init(); [INFO] [stderr] ... | [INFO] [stderr] 111 | | } [INFO] [stderr] 112 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 96 | impl Default for multi::Multi { [INFO] [stderr] 97 | fn default() -> Self { [INFO] [stderr] 98 | Self::new() [INFO] [stderr] 99 | } [INFO] [stderr] 100 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:625:60 [INFO] [stderr] | [INFO] [stderr] 625 | let read = read.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:626:62 [INFO] [stderr] | [INFO] [stderr] 626 | let write = write.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:627:64 [INFO] [stderr] | [INFO] [stderr] 627 | let except = except.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:649:60 [INFO] [stderr] | [INFO] [stderr] 649 | let read = read.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:650:62 [INFO] [stderr] | [INFO] [stderr] 650 | let write = write.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: `0 as *mut _` detected. Consider using `ptr::null_mut()` [INFO] [stderr] --> src/multi.rs:651:64 [INFO] [stderr] | [INFO] [stderr] 651 | let except = except.map(|r| r as *mut _).unwrap_or(0 as *mut _); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_ptr [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `multi::Events` [INFO] [stderr] --> src/multi.rs:896:5 [INFO] [stderr] | [INFO] [stderr] 896 | / pub fn new() -> Events { [INFO] [stderr] 897 | | Events { bits: 0 } [INFO] [stderr] 898 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 76 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `multi::WaitFd` [INFO] [stderr] --> src/multi.rs:971:5 [INFO] [stderr] | [INFO] [stderr] 971 | / pub fn new() -> WaitFd { [INFO] [stderr] 972 | | WaitFd { [INFO] [stderr] 973 | | inner: curl_sys::curl_waitfd { [INFO] [stderr] 974 | | fd: 0, [INFO] [stderr] ... | [INFO] [stderr] 978 | | } [INFO] [stderr] 979 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 969 | impl Default for multi::WaitFd { [INFO] [stderr] 970 | fn default() -> Self { [INFO] [stderr] 971 | Self::new() [INFO] [stderr] 972 | } [INFO] [stderr] 973 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `curl`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "2f1a72064079eb4e1b9726d86a253770a1c357786241bc0c0f2efa1351f87dc1"` [INFO] running `"docker" "rm" "-f" "2f1a72064079eb4e1b9726d86a253770a1c357786241bc0c0f2efa1351f87dc1"` [INFO] [stdout] 2f1a72064079eb4e1b9726d86a253770a1c357786241bc0c0f2efa1351f87dc1