[INFO] cloning repository https://github.com/OSS-PREY/OSSPREY-OSS-Scraper-Tool [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/OSS-PREY/OSSPREY-OSS-Scraper-Tool" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOSS-PREY%2FOSSPREY-OSS-Scraper-Tool", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOSS-PREY%2FOSSPREY-OSS-Scraper-Tool'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1eec9aa87983ef12cd0afc726db825de4f16960c [INFO] building OSS-PREY/OSSPREY-OSS-Scraper-Tool against master#44f415c1d617ebc7b931a243b7b321ef8a6ca47c for pr-142134-abi-ast-error [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FOSS-PREY%2FOSSPREY-OSS-Scraper-Tool" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/OSS-PREY/OSSPREY-OSS-Scraper-Tool on toolchain 44f415c1d617ebc7b931a243b7b321ef8a6ca47c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/OSS-PREY/OSSPREY-OSS-Scraper-Tool [INFO] finished tweaking git repo https://github.com/OSS-PREY/OSSPREY-OSS-Scraper-Tool [INFO] tweaked toml for git repo https://github.com/OSS-PREY/OSSPREY-OSS-Scraper-Tool written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/OSS-PREY/OSSPREY-OSS-Scraper-Tool already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/gootorov/rust-csv.git` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded chronoutil v0.2.7 [INFO] [stderr] Downloaded encoding_rs_io v0.1.7 [INFO] [stderr] Downloaded grep-matcher v0.1.7 [INFO] [stderr] Downloaded codepage v0.1.2 [INFO] [stderr] Downloaded calamine v0.18.0 [INFO] [stderr] Downloaded quick-xml v0.19.0 [INFO] [stderr] Downloaded grep-searcher v0.1.14 [INFO] [stderr] Downloaded deunicode v1.6.1 [INFO] [stderr] Downloaded tokei v12.1.2 [INFO] [stderr] Downloaded mail-parser v0.8.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3dd0839ed25e72efa7619bfe03c76ec806fc1abc3ce6ea0f70edcf2d8658866a [INFO] running `Command { std: "docker" "start" "-a" "3dd0839ed25e72efa7619bfe03c76ec806fc1abc3ce6ea0f70edcf2d8658866a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3dd0839ed25e72efa7619bfe03c76ec806fc1abc3ce6ea0f70edcf2d8658866a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3dd0839ed25e72efa7619bfe03c76ec806fc1abc3ce6ea0f70edcf2d8658866a", kill_on_drop: false }` [INFO] [stdout] 3dd0839ed25e72efa7619bfe03c76ec806fc1abc3ce6ea0f70edcf2d8658866a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ba4e92da9275daa58d745005304665c97b80f6f793762476b2316f3a4abeff03 [INFO] running `Command { std: "docker" "start" "-a" "ba4e92da9275daa58d745005304665c97b80f6f793762476b2316f3a4abeff03", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.24 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Compiling smallvec v1.15.0 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.1 [INFO] [stderr] Compiling bstr v1.12.0 [INFO] [stderr] Compiling icu_properties_data v1.5.1 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling phf_shared v0.8.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling icu_normalizer_data v1.5.1 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Compiling cc v1.2.19 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling socket2 v0.5.9 [INFO] [stderr] Compiling unic-char-range v0.9.0 [INFO] [stderr] Compiling unic-common v0.9.0 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling libm v0.2.11 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling unic-ucd-version v0.9.0 [INFO] [stderr] Compiling unic-char-property v0.9.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling openssl v0.10.72 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling tokio v1.44.2 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling encoding_index_tests v0.1.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling unic-ucd-segment v0.9.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling tracing-core v0.1.33 [INFO] [stderr] Compiling openssl-sys v0.9.107 [INFO] [stderr] Compiling libz-sys v1.1.22 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling chrono v0.4.40 [INFO] [stderr] Compiling libssh2-sys v0.2.23 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling mac v0.1.1 [INFO] [stderr] Compiling deunicode v1.6.1 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling futf v0.1.5 [INFO] [stderr] Compiling miniz_oxide v0.8.8 [INFO] [stderr] Compiling phf_generator v0.8.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling slug v0.1.6 [INFO] [stderr] Compiling humansize v2.1.3 [INFO] [stderr] Compiling phf_codegen v0.8.0 [INFO] [stderr] Compiling unic-segment v0.9.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling itoa v0.4.8 [INFO] [stderr] Compiling rustls-pki-types v1.11.0 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Compiling dtoa v1.0.10 [INFO] [stderr] Compiling markup5ever v0.10.1 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling tendril v0.4.3 [INFO] [stderr] Compiling dtoa-short v0.3.5 [INFO] [stderr] Compiling flate2 v1.1.1 [INFO] [stderr] Compiling selectors v0.22.0 [INFO] [stderr] Compiling libgit2-sys v0.12.26+1.3.0 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling destructure_traitobject v0.2.0 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling matches v0.1.10 [INFO] [stderr] Compiling humantime v2.2.0 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling rustls v0.23.26 [INFO] [stderr] Compiling rustix v1.0.5 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling servo_arc v0.1.1 [INFO] [stderr] Compiling unsafe-any-ors v1.0.0 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling encoding_rs_io v0.1.7 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling globset v0.4.16 [INFO] [stderr] Compiling num_cpus v1.16.0 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling ignore v0.4.23 [INFO] [stderr] Compiling memmap2 v0.9.5 [INFO] [stderr] Compiling parse-zoneinfo v0.3.1 [INFO] [stderr] Compiling grep-matcher v0.1.7 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling thin-slice v0.1.1 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling phf_macros v0.8.0 [INFO] [stderr] Compiling globwalk v0.9.1 [INFO] [stderr] Compiling chrono-tz-build v0.3.0 [INFO] [stderr] Compiling tokio-util v0.7.14 [INFO] [stderr] Compiling cssparser v0.27.2 [INFO] [stderr] Compiling html5ever v0.25.2 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling phf v0.8.0 [INFO] [stderr] Compiling h2 v0.3.26 [INFO] [stderr] Compiling num-format v0.4.4 [INFO] [stderr] Compiling structopt-derive v0.4.18 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling chrono-tz v0.9.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling rustls-webpki v0.103.1 [INFO] [stderr] Compiling derive_more v0.99.19 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling dirs v3.0.2 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling typemap-ors v1.0.0 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Compiling webpki-roots v0.26.8 [INFO] [stderr] Compiling pest v2.8.0 [INFO] [stderr] Compiling hyper v0.14.32 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling encoding-index-tradchinese v1.20141219.5 [INFO] [stderr] Compiling zip v0.5.13 [INFO] [stderr] Compiling encoding-index-simpchinese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-japanese v1.20141219.5 [INFO] [stderr] Compiling encoding-index-korean v1.20141219.5 [INFO] [stderr] Compiling encoding-index-singlebyte v1.20141219.5 [INFO] [stderr] Compiling getopts v0.2.21 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling quick-xml v0.19.0 [INFO] [stderr] Compiling codepage v0.1.2 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling thread-id v4.2.2 [INFO] [stderr] Compiling term_size v0.3.2 [INFO] [stderr] Compiling aho-corasick v0.7.20 [INFO] [stderr] Compiling csv-core v0.1.10 (https://github.com/gootorov/rust-csv.git?rev=31d1105f9ee50bf02dff178f20be4a1ec9fdff2d#31d1105f) [INFO] [stderr] Compiling log-mdc v0.1.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling pest_meta v2.8.0 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling ego-tree v0.6.3 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling tempfile v3.19.1 [INFO] [stderr] Compiling encoding v0.2.33 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling structopt v0.3.26 [INFO] [stderr] Compiling chronoutil v0.2.7 [INFO] [stderr] Compiling mail-parser v0.8.2 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Compiling pest_generator v2.8.0 [INFO] [stderr] Compiling dotenv v0.15.0 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling pest_derive v2.8.0 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling string_cache v0.8.9 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling hyper-tls v0.5.0 [INFO] [stderr] Compiling env_logger v0.8.4 [INFO] [stderr] Compiling grep-searcher v0.1.14 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling tera v1.20.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling dashmap v4.0.2 [INFO] [stderr] Compiling bstr v0.2.17 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling simple_logger v2.3.0 [INFO] [stderr] Compiling calamine v0.18.0 [INFO] [stderr] Compiling csv v1.1.5 (https://github.com/gootorov/rust-csv.git?rev=31d1105f9ee50bf02dff178f20be4a1ec9fdff2d#31d1105f) [INFO] [stderr] Compiling scraper v0.12.0 [INFO] [stderr] Compiling log4rs v1.3.0 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Compiling tokei v12.1.2 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Compiling git2 v0.13.25 [INFO] [stderr] Compiling ureq v2.12.1 [INFO] [stderr] Compiling reqwest v0.11.27 [INFO] [stderr] Compiling miner v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/emails.rs:295:52 [INFO] [stdout] | [INFO] [stdout] 295 | ... chrono::NaiveDate::from_ymd( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::pred`: use `pred_opt()` instead [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:188:10 [INFO] [stdout] | [INFO] [stdout] 188 | .pred(); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::succ`: use `succ_opt()` instead [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:254:18 [INFO] [stdout] | [INFO] [stdout] 254 | .succ(); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/repo.rs:252:46 [INFO] [stdout] | [INFO] [stdout] 252 | let commit_time = NaiveDateTime::from_timestamp(commit.committer().when().seconds(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:254:28 [INFO] [stdout] | [INFO] [stdout] 254 | NaiveDate::from_ymd(commit_time.year(), commit_time.month(), commit_time.day()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/utils.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | let tz = chrono::FixedOffset::east(time.offset_minutes() * 60); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/utils.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | tz.timestamp(time.seconds(), 0).with_timezone(&Utc) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/utils.rs:217:42 [INFO] [stdout] | [INFO] [stdout] 217 | let tz_offset = chrono::FixedOffset::east(1 * 3600); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead [INFO] [stdout] --> src/utils.rs:218:35 [INFO] [stdout] | [INFO] [stdout] 218 | let time = chrono::NaiveTime::from_hms(12, 0, 0); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AuthorNode` is more private than the item `Issue::author` [INFO] [stdout] --> src/github_issues.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub author: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Issue::author` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `AuthorNode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/github_issues.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | struct AuthorNode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `CommentConnection` is more private than the item `Issue::comments` [INFO] [stdout] --> src/github_issues.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub comments: CommentConnection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Issue::comments` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `CommentConnection` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/github_issues.rs:81:1 [INFO] [stdout] | [INFO] [stdout] 81 | struct CommentConnection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AuthorNode` is more private than the item `github_issues::Comment::author` [INFO] [stdout] --> src/github_issues.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub author: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `github_issues::Comment::author` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `AuthorNode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/github_issues.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | struct AuthorNode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_test_project` is never used [INFO] [stdout] --> src/main.rs:340:4 [INFO] [stdout] | [INFO] [stdout] 340 | fn analyze_test_project(project: String, metadata_filepath: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sha` and `commit` are never read [INFO] [stdout] --> src/commit_metrics_graphql.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | struct RestCommit { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 73 | sha: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 74 | commit: InnerCommit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RestCommit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message` and `author` are never read [INFO] [stdout] --> src/commit_metrics_graphql.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 79 | struct InnerCommit { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 80 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | author: RestAuthor, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InnerCommit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `date` is never read [INFO] [stdout] --> src/commit_metrics_graphql.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 85 | struct RestAuthor { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 86 | date: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RestAuthor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `preprocess_emails` is never used [INFO] [stdout] --> src/emails.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl EmailsMetrics { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn preprocess_emails(text: Option>) -> EmailStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `download_email` is never used [INFO] [stdout] --> src/emails.rs:529:8 [INFO] [stdout] | [INFO] [stdout] 529 | pub fn download_email<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_valid_date` is never used [INFO] [stdout] --> src/emails.rs:566:4 [INFO] [stdout] | [INFO] [stdout] 566 | fn check_valid_date(date: &DateTime) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `issue` is never read [INFO] [stdout] --> src/github_issues.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 115 | struct IssueData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 116 | issue: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IssueData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `comments` is never read [INFO] [stdout] --> src/github_issues.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 120 | struct CommentedIssue { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 121 | comments: CommentConnection, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommentedIssue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `inc_month_to_date` is never used [INFO] [stdout] --> src/utils.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 232 | pub fn inc_month_to_date(start_date: &str, inc_month: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:313:9 [INFO] [stdout] | [INFO] [stdout] 313 | repo.checkout_master_main_trunk(&args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 313 | let _ = repo.checkout_master_main_trunk(&args); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:362:13 [INFO] [stdout] | [INFO] [stdout] 362 | repo.checkout_master_main_trunk(&args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 362 | let _ = repo.checkout_master_main_trunk(&args); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defaultBranchRef` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | defaultBranchRef: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `default_branch_ref` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `pageInfo` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pageInfo: PageInfo, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `page_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `hasNextPage` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | hasNextPage: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `has_next_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endCursor` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | endCursor: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `end_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `committedDate` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | committedDate: String, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `committed_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/dev_stats.rs:55:41 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn compute_individual_dev_stats(&self, args: &Args) -> Result, Error> { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 55 | pub fn compute_individual_dev_stats(&self, args: &Args) -> Result>, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `pageInfo` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | pageInfo: PageInfo, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `page_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `createdAt` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | createdAt: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `created_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `updatedAt` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | updatedAt: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `updated_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `closedAt` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | closedAt: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `closed_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `pageInfo` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pageInfo: PageInfo, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `page_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `createdAt` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | createdAt: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `created_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `hasNextPage` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | hasNextPage: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `has_next_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endCursor` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | endCursor: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `end_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | revwalk.set_sorting(git2::Sort::REVERSE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 101 | let _ = revwalk.set_sorting(git2::Sort::REVERSE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 102 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:128:21 [INFO] [stdout] | [INFO] [stdout] 128 | revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 128 | let _ = revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 131 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:161:25 [INFO] [stdout] | [INFO] [stdout] 161 | revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 161 | let _ = revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:164:25 [INFO] [stdout] | [INFO] [stdout] 164 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 164 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | revwalk.set_sorting(git2::Sort::REVERSE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 78 | let _ = revwalk.set_sorting(git2::Sort::REVERSE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 99 | let _ = revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 100 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/statistics.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 55 | ) -> Result, Error> { [INFO] [stdout] | ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 55 | ) -> Result>, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/statistics.rs:376:37 [INFO] [stdout] | [INFO] [stdout] 376 | ... sokrates.adjust_analysis(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 376 | let _ = sokrates.adjust_analysis(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/statistics.rs:380:41 [INFO] [stdout] | [INFO] [stdout] 380 | ... sokrates.adjust_files_to_be_analyzed(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 380 | let _ = sokrates.adjust_files_to_be_analyzed(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/statistics.rs:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | &mut self, [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 496 | ) -> Result, Error> { [INFO] [stdout] | ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 496 | ) -> Result>, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/utils.rs:197:18 [INFO] [stdout] | [INFO] [stdout] 197 | for a in exts.as_array() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 197 - for a in exts.as_array() { [INFO] [stdout] 197 + while let Some(a) = exts.as_array() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 197 - for a in exts.as_array() { [INFO] [stdout] 197 + if let Some(a) = exts.as_array() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 03s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.19.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "ba4e92da9275daa58d745005304665c97b80f6f793762476b2316f3a4abeff03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba4e92da9275daa58d745005304665c97b80f6f793762476b2316f3a4abeff03", kill_on_drop: false }` [INFO] [stdout] ba4e92da9275daa58d745005304665c97b80f6f793762476b2316f3a4abeff03 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+44f415c1d617ebc7b931a243b7b321ef8a6ca47c" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 69b963b5546f9b43e2d7c26f133b60861544715f022542e983ecd99f1fe4f98c [INFO] running `Command { std: "docker" "start" "-a" "69b963b5546f9b43e2d7c26f133b60861544715f022542e983ecd99f1fe4f98c", kill_on_drop: false }` [INFO] [stderr] Compiling miner v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/emails.rs:295:52 [INFO] [stdout] | [INFO] [stdout] 295 | ... chrono::NaiveDate::from_ymd( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::pred`: use `pred_opt()` instead [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:188:10 [INFO] [stdout] | [INFO] [stdout] 188 | .pred(); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDate::succ`: use `succ_opt()` instead [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:254:18 [INFO] [stdout] | [INFO] [stdout] 254 | .succ(); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/repo.rs:252:46 [INFO] [stdout] | [INFO] [stdout] 252 | let commit_time = NaiveDateTime::from_timestamp(commit.committer().when().seconds(), 0); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:254:28 [INFO] [stdout] | [INFO] [stdout] 254 | NaiveDate::from_ymd(commit_time.year(), commit_time.month(), commit_time.day()); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:686:48 [INFO] [stdout] | [INFO] [stdout] 686 | start_date: chrono::NaiveDate::from_ymd(2022, 01, 01), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:687:46 [INFO] [stdout] | [INFO] [stdout] 687 | end_date: chrono::NaiveDate::from_ymd(2022, 01, 10), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:694:48 [INFO] [stdout] | [INFO] [stdout] 694 | start_date: chrono::NaiveDate::from_ymd(2022, 01, 11), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:695:46 [INFO] [stdout] | [INFO] [stdout] 695 | end_date: chrono::NaiveDate::from_ymd(2022, 01, 20), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:702:48 [INFO] [stdout] | [INFO] [stdout] 702 | start_date: chrono::NaiveDate::from_ymd(2022, 01, 21), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:703:46 [INFO] [stdout] | [INFO] [stdout] 703 | end_date: chrono::NaiveDate::from_ymd(2022, 01, 30), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:710:48 [INFO] [stdout] | [INFO] [stdout] 710 | start_date: chrono::NaiveDate::from_ymd(2022, 01, 31), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:711:46 [INFO] [stdout] | [INFO] [stdout] 711 | end_date: chrono::NaiveDate::from_ymd(2022, 02, 09), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:718:48 [INFO] [stdout] | [INFO] [stdout] 718 | start_date: chrono::NaiveDate::from_ymd(2022, 02, 10), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:719:46 [INFO] [stdout] | [INFO] [stdout] 719 | end_date: chrono::NaiveDate::from_ymd(2022, 02, 15), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:734:48 [INFO] [stdout] | [INFO] [stdout] 734 | start_date: chrono::NaiveDate::from_ymd(2022, 01, 01), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:735:46 [INFO] [stdout] | [INFO] [stdout] 735 | end_date: chrono::NaiveDate::from_ymd(2022, 01, 08), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:750:48 [INFO] [stdout] | [INFO] [stdout] 750 | start_date: chrono::NaiveDate::from_ymd(2022, 01, 01), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:751:46 [INFO] [stdout] | [INFO] [stdout] 751 | end_date: chrono::NaiveDate::from_ymd(2022, 01, 10), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:766:48 [INFO] [stdout] | [INFO] [stdout] 766 | start_date: chrono::NaiveDate::from_ymd(2022, 01, 01), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:767:46 [INFO] [stdout] | [INFO] [stdout] 767 | end_date: chrono::NaiveDate::from_ymd(2022, 01, 10), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:775:48 [INFO] [stdout] | [INFO] [stdout] 775 | start_date: chrono::NaiveDate::from_ymd(2022, 01, 11), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/repo.rs:776:46 [INFO] [stdout] | [INFO] [stdout] 776 | end_date: chrono::NaiveDate::from_ymd(2022, 01, 11), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/utils.rs:10:35 [INFO] [stdout] | [INFO] [stdout] 10 | let tz = chrono::FixedOffset::east(time.offset_minutes() * 60); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::TimeZone::timestamp`: use `timestamp_opt()` instead [INFO] [stdout] --> src/utils.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | tz.timestamp(time.seconds(), 0).with_timezone(&Utc) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::FixedOffset::east`: use `east_opt()` instead [INFO] [stdout] --> src/utils.rs:217:42 [INFO] [stdout] | [INFO] [stdout] 217 | let tz_offset = chrono::FixedOffset::east(1 * 3600); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveTime::from_hms`: use `from_hms_opt()` instead [INFO] [stdout] --> src/utils.rs:218:35 [INFO] [stdout] | [INFO] [stdout] 218 | let time = chrono::NaiveTime::from_hms(12, 0, 0); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/utils.rs:327:48 [INFO] [stdout] | [INFO] [stdout] 327 | start_date: chrono::NaiveDate::from_ymd(2010, 10, 17), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/utils.rs:328:46 [INFO] [stdout] | [INFO] [stdout] 328 | end_date: chrono::NaiveDate::from_ymd(2010, 11, 15), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/utils.rs:335:48 [INFO] [stdout] | [INFO] [stdout] 335 | start_date: chrono::NaiveDate::from_ymd(2010, 11, 16), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead [INFO] [stdout] --> src/utils.rs:336:46 [INFO] [stdout] | [INFO] [stdout] 336 | end_date: chrono::NaiveDate::from_ymd(2010, 12, 15), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AuthorNode` is more private than the item `Issue::author` [INFO] [stdout] --> src/github_issues.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub author: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Issue::author` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `AuthorNode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/github_issues.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | struct AuthorNode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `CommentConnection` is more private than the item `Issue::comments` [INFO] [stdout] --> src/github_issues.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub comments: CommentConnection, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `Issue::comments` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `CommentConnection` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/github_issues.rs:81:1 [INFO] [stdout] | [INFO] [stdout] 81 | struct CommentConnection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AuthorNode` is more private than the item `github_issues::Comment::author` [INFO] [stdout] --> src/github_issues.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | pub author: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `github_issues::Comment::author` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `AuthorNode` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/github_issues.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | struct AuthorNode { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_test_project` is never used [INFO] [stdout] --> src/main.rs:340:4 [INFO] [stdout] | [INFO] [stdout] 340 | fn analyze_test_project(project: String, metadata_filepath: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sha` and `commit` are never read [INFO] [stdout] --> src/commit_metrics_graphql.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 72 | struct RestCommit { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 73 | sha: String, [INFO] [stdout] | ^^^ [INFO] [stdout] 74 | commit: InnerCommit, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RestCommit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message` and `author` are never read [INFO] [stdout] --> src/commit_metrics_graphql.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 79 | struct InnerCommit { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 80 | message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | author: RestAuthor, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InnerCommit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `date` is never read [INFO] [stdout] --> src/commit_metrics_graphql.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 85 | struct RestAuthor { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 86 | date: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RestAuthor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `preprocess_emails` is never used [INFO] [stdout] --> src/emails.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl EmailsMetrics { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn preprocess_emails(text: Option>) -> EmailStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `download_email` is never used [INFO] [stdout] --> src/emails.rs:529:8 [INFO] [stdout] | [INFO] [stdout] 529 | pub fn download_email<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_valid_date` is never used [INFO] [stdout] --> src/emails.rs:566:4 [INFO] [stdout] | [INFO] [stdout] 566 | fn check_valid_date(date: &DateTime) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `issue` is never read [INFO] [stdout] --> src/github_issues.rs:116:5 [INFO] [stdout] | [INFO] [stdout] 115 | struct IssueData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 116 | issue: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IssueData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `comments` is never read [INFO] [stdout] --> src/github_issues.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 120 | struct CommentedIssue { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 121 | comments: CommentConnection, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommentedIssue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:313:9 [INFO] [stdout] | [INFO] [stdout] 313 | repo.checkout_master_main_trunk(&args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 313 | let _ = repo.checkout_master_main_trunk(&args); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:362:13 [INFO] [stdout] | [INFO] [stdout] 362 | repo.checkout_master_main_trunk(&args); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 362 | let _ = repo.checkout_master_main_trunk(&args); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `defaultBranchRef` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | defaultBranchRef: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `default_branch_ref` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `pageInfo` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | pageInfo: PageInfo, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `page_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `hasNextPage` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | hasNextPage: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `has_next_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endCursor` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | endCursor: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `end_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `committedDate` should have a snake case name [INFO] [stdout] --> src/commit_metrics_graphql.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | committedDate: String, [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `committed_date` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/dev_stats.rs:55:41 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn compute_individual_dev_stats(&self, args: &Args) -> Result, Error> { [INFO] [stdout] | ^^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 55 | pub fn compute_individual_dev_stats(&self, args: &Args) -> Result>, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `pageInfo` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | pageInfo: PageInfo, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `page_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `createdAt` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | createdAt: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `created_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `updatedAt` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | updatedAt: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `updated_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `closedAt` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | closedAt: Option, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `closed_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `pageInfo` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 82 | pageInfo: PageInfo, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `page_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:89:5 [INFO] [stdout] | [INFO] [stdout] 89 | databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `createdAt` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | createdAt: String, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `created_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `databaseId` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | databaseId: Option, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `database_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `hasNextPage` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | hasNextPage: bool, [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `has_next_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `endCursor` should have a snake case name [INFO] [stdout] --> src/github_issues.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | endCursor: Option, [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `end_cursor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | revwalk.set_sorting(git2::Sort::REVERSE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 101 | let _ = revwalk.set_sorting(git2::Sort::REVERSE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 102 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:128:21 [INFO] [stdout] | [INFO] [stdout] 128 | revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 128 | let _ = revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:131:21 [INFO] [stdout] | [INFO] [stdout] 131 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 131 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:161:25 [INFO] [stdout] | [INFO] [stdout] 161 | revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 161 | let _ = revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/pre_post_incubation_analysis.rs:164:25 [INFO] [stdout] | [INFO] [stdout] 164 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 164 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | revwalk.set_sorting(git2::Sort::REVERSE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 78 | let _ = revwalk.set_sorting(git2::Sort::REVERSE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 99 | let _ = revwalk.set_sorting(git2::Sort::NONE); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/repo.rs:100:13 [INFO] [stdout] | [INFO] [stdout] 100 | revwalk.push_head(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 100 | let _ = revwalk.push_head(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/statistics.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | &self, [INFO] [stdout] | ^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 55 | ) -> Result, Error> { [INFO] [stdout] | ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 55 | ) -> Result>, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/statistics.rs:376:37 [INFO] [stdout] | [INFO] [stdout] 376 | ... sokrates.adjust_analysis(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 376 | let _ = sokrates.adjust_analysis(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/statistics.rs:380:41 [INFO] [stdout] | [INFO] [stdout] 380 | ... sokrates.adjust_files_to_be_analyzed(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 380 | let _ = sokrates.adjust_files_to_be_analyzed(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/statistics.rs:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | &mut self, [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 496 | ) -> Result, Error> { [INFO] [stdout] | ----- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 496 | ) -> Result>, Error> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/utils.rs:197:18 [INFO] [stdout] | [INFO] [stdout] 197 | for a in exts.as_array() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 197 - for a in exts.as_array() { [INFO] [stdout] 197 + while let Some(a) = exts.as_array() { [INFO] [stdout] | [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 197 - for a in exts.as_array() { [INFO] [stdout] 197 + if let Some(a) = exts.as_array() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.52s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: quick-xml v0.19.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "69b963b5546f9b43e2d7c26f133b60861544715f022542e983ecd99f1fe4f98c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "69b963b5546f9b43e2d7c26f133b60861544715f022542e983ecd99f1fe4f98c", kill_on_drop: false }` [INFO] [stdout] 69b963b5546f9b43e2d7c26f133b60861544715f022542e983ecd99f1fe4f98c