[INFO] fetching crate ccny-course-catalog 0.1.4... [INFO] checking ccny-course-catalog-0.1.4 against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] extracting crate ccny-course-catalog 0.1.4 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate ccny-course-catalog 0.1.4 [INFO] finished tweaking crates.io crate ccny-course-catalog 0.1.4 [INFO] tweaked toml for crates.io crate ccny-course-catalog 0.1.4 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ccny-course-catalog 0.1.4 on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ccny-course-catalog 0.1.4 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" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e2b646091096ed41ab05267472dc1adc9cb311273fff98f864e504c4ad6446b8 [INFO] running `Command { std: "docker" "start" "-a" "e2b646091096ed41ab05267472dc1adc9cb311273fff98f864e504c4ad6446b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e2b646091096ed41ab05267472dc1adc9cb311273fff98f864e504c4ad6446b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e2b646091096ed41ab05267472dc1adc9cb311273fff98f864e504c4ad6446b8", kill_on_drop: false }` [INFO] [stdout] e2b646091096ed41ab05267472dc1adc9cb311273fff98f864e504c4ad6446b8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0c0bc374e0fb0a585b1a03d4ea63510df3901c6cccec62343058266b59b58404 [INFO] running `Command { std: "docker" "start" "-a" "0c0bc374e0fb0a585b1a03d4ea63510df3901c6cccec62343058266b59b58404", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking bytes v1.9.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking itoa v1.0.14 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Checking once_cell v1.20.2 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Checking litemap v0.7.4 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Compiling cc v1.2.9 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking foldhash v0.1.4 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking icu_locid_transform_data v1.5.0 [INFO] [stderr] Checking icu_properties_data v1.5.0 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Compiling httparse v1.9.5 [INFO] [stderr] Compiling openssl v0.10.68 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Checking bitflags v2.8.0 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking http v1.2.0 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking hashbrown v0.15.2 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking log v0.4.25 [INFO] [stderr] Checking miniz_oxide v0.8.3 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling serde_json v1.0.135 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Compiling anyhow v1.0.95 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Checking tower-layer v0.3.3 [INFO] [stderr] Checking rustls-pki-types v1.10.1 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Checking flate2 v1.0.35 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking ipnet v2.10.1 [INFO] [stderr] Checking filepath v0.2.0 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking indexmap v2.7.0 [INFO] [stderr] Checking lru v0.13.0 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling openssl-sys v0.9.104 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking rayon v0.7.1 [INFO] [stderr] Checking closestmatch v0.1.2 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.5 [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 tokio-macros v2.5.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Checking tokio v1.43.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking zerofrom v0.1.5 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking tokio-util v0.7.13 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking async-compression v0.4.18 [INFO] [stderr] Checking h2 v0.4.7 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking hyper v1.5.2 [INFO] [stderr] Checking hyper-util v0.1.10 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.12 [INFO] [stderr] Checking ccny-course-catalog v0.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/data_structures/custom_lru_cache.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ACCEPT`, `CONTENT_TYPE`, `HeaderMap`, `HeaderValue`, `ORIGIN`, and `REFERER` [INFO] [stdout] --> src/api/course_finder.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use reqwest::header::{HeaderMap, HeaderValue, ACCEPT, CONTENT_TYPE, ORIGIN, REFERER}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^ ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/api/course_finder.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs` and `io::Write` [INFO] [stdout] --> src/api/course_finder.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use std::{fs, io::Write}; [INFO] [stdout] | ^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/api/course_finder.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/api/course_finder.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/api/course_finder.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null` [INFO] [stdout] --> src/api/course_finder.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ptr::null; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::api::course_finder` [INFO] [stdout] --> src/api/utils.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::api::course_finder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Write` [INFO] [stdout] --> src/api/utils.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use std::{fs, io::Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CourseComponents` and `CourseInfo` [INFO] [stdout] --> src/lib.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | use models::course::{CourseComponents, CourseInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> src/data_structures/custom_lru_cache.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ACCEPT`, `CONTENT_TYPE`, `HeaderMap`, `HeaderValue`, `ORIGIN`, and `REFERER` [INFO] [stdout] --> src/api/course_finder.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | use reqwest::header::{HeaderMap, HeaderValue, ACCEPT, CONTENT_TYPE, ORIGIN, REFERER}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^ ^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/api/course_finder.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs` and `io::Write` [INFO] [stdout] --> src/api/course_finder.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use std::{fs, io::Write}; [INFO] [stdout] | ^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> src/api/course_finder.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/api/course_finder.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/api/course_finder.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null` [INFO] [stdout] --> src/api/course_finder.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ptr::null; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::api::course_finder` [INFO] [stdout] --> src/api/utils.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::api::course_finder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Write` [INFO] [stdout] --> src/api/utils.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use std::{fs, io::Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CourseComponents` and `CourseInfo` [INFO] [stdout] --> src/lib.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | use models::course::{CourseComponents, CourseInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effective_end_date_placeholder` [INFO] [stdout] --> src/api/department.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | ... let effective_end_date_placeholder = serde_json::from_value(course_data["effectiveEndDate"].clone()).unwrap_or("null".to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_end_date_placeholder` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/api/department.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | let mut course_component_instance = CourseComponents { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/api/department.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | let mut course_info_instance = CourseInfo { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effective_end_date_placeholder` [INFO] [stdout] --> src/api/department.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | ... let effective_end_date_placeholder = serde_json::from_value(course_data["effectiveEndDate"].clone()).unwrap_or("null".to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_end_date_placeholder` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/api/department.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | let mut course_component_instance = CourseComponents { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/api/department.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | let mut course_info_instance = CourseInfo { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json_string` [INFO] [stdout] --> src/api/course_finder.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let json_string : serde_json::Value = serde_json::from_str(&body)?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closest_course_groupID` [INFO] [stdout] --> src/api/course_finder.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closest_course_groupID` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/api/course_finder.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/api/course_finder.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut courses_by_department = fetch_courses_by_department(&closest_department).await.unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `course_name_and_code_mapping` [INFO] [stdout] --> src/api/course_finder.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let course_name_and_code_mapping : BTreeMap = BTreeMap::new(); // this is where the mapping logic will be ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_course_name_and_code_mapping` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `complete_course_group_id` is never read [INFO] [stdout] --> src/api/course_finder.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | let mut complete_course_group_id : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `department_courses` [INFO] [stdout] --> src/api/utils.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let department_courses : Vec = fetch_courses_by_department(department_name).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_department_courses` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `json_string` [INFO] [stdout] --> src/api/course_finder.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let json_string : serde_json::Value = serde_json::from_str(&body)?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closest_course_groupID` [INFO] [stdout] --> src/api/course_finder.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closest_course_groupID` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/api/course_finder.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/api/course_finder.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | let mut courses_by_department = fetch_courses_by_department(&closest_department).await.unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `course_name_and_code_mapping` [INFO] [stdout] --> src/api/course_finder.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | let course_name_and_code_mapping : BTreeMap = BTreeMap::new(); // this is where the mapping logic will be ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_course_name_and_code_mapping` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `complete_course_group_id` is never read [INFO] [stdout] --> src/api/course_finder.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | let mut complete_course_group_id : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `department_courses` [INFO] [stdout] --> src/api/utils.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let department_courses : Vec = fetch_courses_by_department(department_name).await?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_department_courses` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result_string` is never read [INFO] [stdout] --> src/api/department.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | let mut result_string : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/api/department.rs:313:14 [INFO] [stdout] | [INFO] [stdout] 313 | for (key,value) in department_mapping.into_iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result_string` is never read [INFO] [stdout] --> src/api/course_finder.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut result_string : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/api/utils.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 35 | for (key,value) in hashmap_input.into_iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_MAX_SIZE` is never used [INFO] [stdout] --> src/data_structures/custom_hashmap.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const DEFAULT_MAX_SIZE : u64 = 256; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CustomHashMap` is never constructed [INFO] [stdout] --> src/data_structures/custom_hashmap.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct CustomHashMap { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyValue` is never constructed [INFO] [stdout] --> src/data_structures/custom_hashmap.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct KeyValue { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/data_structures/custom_hashmap.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl KeyValue { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn new(key : T, value : V) -> KeyValue { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/data_structures/custom_hashmap.rs:58:11 [INFO] [stdout] | [INFO] [stdout] 57 | impl CustomHashMap { [INFO] [stdout] | --------------------------------------------------------------- associated items in this implementation [INFO] [stdout] 58 | const INIT : Option> = None; // we use const to avoid running into borrow/ownership related errors that may arise [INFO] [stdout] | ^^^^ [INFO] [stdout] 59 | [INFO] [stdout] 60 | pub fn new() -> CustomHashMap { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn insert(&mut self, key : T, val : V) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn insert_new_value(&mut self, key : T, val : V, position : usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn update_or_link_new_val(&mut self, key : T, val : V, position : usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn get(&self, key : T) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn check_list_for_key(&self, key : T, position : usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn remove(&mut self, key : T) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn check_item_in_list_and_remove(&mut self, key : T, position : usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_key` is never used [INFO] [stdout] --> src/data_structures/custom_hashmap.rs:322:4 [INFO] [stdout] | [INFO] [stdout] 322 | fn hash_key(key : T) -> u64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/data_structures/custom_lru_cache.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CustomLruCache` is never constructed [INFO] [stdout] --> src/data_structures/custom_lru_cache.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct CustomLruCache { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/data_structures/custom_lru_cache.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl CustomLruCache { [INFO] [stdout] | --------------------------------------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn new(capacity : usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get(&mut self, key : &K) -> Option<&V> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_mut(&mut self, key : &K) -> Option<&mut V> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn insert(&mut self, key : K, value : V) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn remove(&mut self, key : &K) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | fn move_to_front(&mut self, node_idx : usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn remove_node(&mut self, node_idx : usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn evict_tail(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retrieve_historical_terms` is never used [INFO] [stdout] --> src/api/course_finder.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn retrieve_historical_terms() -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_course_list_by_department` is never used [INFO] [stdout] --> src/api/utils.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn get_course_list_by_department(department_name : &str) -> Result, anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_type_of` is never used [INFO] [stdout] --> src/api/utils.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn print_type_of(_ : &T) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_to_file` is never used [INFO] [stdout] --> src/api/utils.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn save_to_file(data: &serde_json::Value, filename: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_hashmap_keys` is never used [INFO] [stdout] --> src/api/utils.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn print_hashmap_keys(hashmap_input : HashMap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CourseInfoVector` should have a snake case name [INFO] [stdout] --> src/api/department.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let mut CourseInfoVector : Vec = Vec::new(); // store results here [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `course_info_vector` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `closest_course_groupID` should have a snake case name [INFO] [stdout] --> src/api/course_finder.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `closest_course_group_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result_string` is never read [INFO] [stdout] --> src/api/department.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | let mut result_string : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/api/department.rs:313:14 [INFO] [stdout] | [INFO] [stdout] 313 | for (key,value) in department_mapping.into_iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result_string` is never read [INFO] [stdout] --> src/api/course_finder.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | let mut result_string : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/api/utils.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 35 | for (key,value) in hashmap_input.into_iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_mut` and `remove` are never used [INFO] [stdout] --> src/data_structures/custom_lru_cache.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl CustomLruCache { [INFO] [stdout] | --------------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn get_mut(&mut self, key : &K) -> Option<&mut V> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn remove(&mut self, key : &K) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retrieve_historical_terms` is never used [INFO] [stdout] --> src/api/course_finder.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub async fn retrieve_historical_terms() -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_course_list_by_department` is never used [INFO] [stdout] --> src/api/utils.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub async fn get_course_list_by_department(department_name : &str) -> Result, anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_type_of` is never used [INFO] [stdout] --> src/api/utils.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn print_type_of(_ : &T) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_to_file` is never used [INFO] [stdout] --> src/api/utils.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn save_to_file(data: &serde_json::Value, filename: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_hashmap_keys` is never used [INFO] [stdout] --> src/api/utils.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn print_hashmap_keys(hashmap_input : HashMap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CourseInfoVector` should have a snake case name [INFO] [stdout] --> src/api/department.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | let mut CourseInfoVector : Vec = Vec::new(); // store results here [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `course_info_vector` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `closest_course_groupID` should have a snake case name [INFO] [stdout] --> src/api/course_finder.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `closest_course_group_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `list_of_courses` [INFO] [stdout] --> src/bin/experimental.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut list_of_courses = course_instance.get_courses_list().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_of_courses` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `course_info` [INFO] [stdout] --> src/bin/experimental.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut course_info = course_instance.get_course_info().await; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_course_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/experimental.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut course_instance = CCNYCourseCatalog::new(String::from("computer science"), Some(String::from("algorithms"))); [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/experimental.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut list_of_courses = course_instance.get_courses_list().await; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/experimental.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let mut course_info = course_instance.get_course_info().await; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `list_of_courses` [INFO] [stdout] --> src/bin/experimental.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut list_of_courses = course_instance.get_courses_list().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_of_courses` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `course_info` [INFO] [stdout] --> src/bin/experimental.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut course_info = course_instance.get_course_info().await; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_course_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/experimental.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut course_instance = CCNYCourseCatalog::new(String::from("computer science"), Some(String::from("algorithms"))); [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/experimental.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut list_of_courses = course_instance.get_courses_list().await; [INFO] [stdout] | ----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/experimental.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let mut course_info = course_instance.get_course_info().await; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Write` [INFO] [stdout] --> src/main.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{fs, io::Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::ptr::null; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Write` [INFO] [stdout] --> src/main.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{fs, io::Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::null` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::ptr::null; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closest_course_groupID` [INFO] [stdout] --> src/main.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closest_course_groupID` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `closest_course_groupID` [INFO] [stdout] --> src/main.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_closest_course_groupID` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let mut courses_by_department = fetch_courses_by_department(&closest_department).await.unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | let mut courses_by_department = fetch_courses_by_department(&closest_department).await.unwrap(); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `course_name_and_code_mapping` [INFO] [stdout] --> src/main.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let course_name_and_code_mapping : BTreeMap = BTreeMap::new(); // this is where the mapping logic will be ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_course_name_and_code_mapping` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `complete_course_group_id` is never read [INFO] [stdout] --> src/main.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let mut complete_course_group_id : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `course_name_and_code_mapping` [INFO] [stdout] --> src/main.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let course_name_and_code_mapping : BTreeMap = BTreeMap::new(); // this is where the mapping logic will be ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_course_name_and_code_mapping` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `complete_course_group_id` is never read [INFO] [stdout] --> src/main.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | let mut complete_course_group_id : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effective_end_date_placeholder` [INFO] [stdout] --> src/main.rs:377:17 [INFO] [stdout] | [INFO] [stdout] 377 | ... let effective_end_date_placeholder = serde_json::from_value(course_data["effectiveEndDate"].clone()).unwrap_or("null".to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_end_date_placeholder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:354:25 [INFO] [stdout] | [INFO] [stdout] 354 | let mut course_component_instance = CourseComponents { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:399:17 [INFO] [stdout] | [INFO] [stdout] 399 | let mut course_info_instance = CourseInfo { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `effective_end_date_placeholder` [INFO] [stdout] --> src/main.rs:377:17 [INFO] [stdout] | [INFO] [stdout] 377 | ... let effective_end_date_placeholder = serde_json::from_value(course_data["effectiveEndDate"].clone()).unwrap_or("null".to_owned()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_effective_end_date_placeholder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_dept` [INFO] [stdout] --> src/main.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | let mut curr_dept = String::from(department); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_dept` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | let mut curr_dept = String::from(department); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:354:25 [INFO] [stdout] | [INFO] [stdout] 354 | let mut course_component_instance = CourseComponents { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:399:17 [INFO] [stdout] | [INFO] [stdout] 399 | let mut course_info_instance = CourseInfo { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_dept` [INFO] [stdout] --> src/main.rs:450:17 [INFO] [stdout] | [INFO] [stdout] 450 | let mut curr_dept = String::from(department); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_dept` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | let mut curr_dept = String::from(department); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/main.rs:540:14 [INFO] [stdout] | [INFO] [stdout] 540 | for (key,value) in hashmap_input.into_iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/main.rs:551:14 [INFO] [stdout] | [INFO] [stdout] 551 | for (key,value) in department_mapping.into_iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result_string` is never read [INFO] [stdout] --> src/main.rs:572:13 [INFO] [stdout] | [INFO] [stdout] 572 | let mut result_string : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `closest_course_groupID` should have a snake case name [INFO] [stdout] --> src/main.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `closest_course_group_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CourseInfoVector` should have a snake case name [INFO] [stdout] --> src/main.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | let mut CourseInfoVector : Vec = Vec::new(); // store results here [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `course_info_vector` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/main.rs:540:14 [INFO] [stdout] | [INFO] [stdout] 540 | for (key,value) in hashmap_input.into_iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/main.rs:551:14 [INFO] [stdout] | [INFO] [stdout] 551 | for (key,value) in department_mapping.into_iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `result_string` is never read [INFO] [stdout] --> src/main.rs:572:13 [INFO] [stdout] | [INFO] [stdout] 572 | let mut result_string : String = String::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `closest_course_groupID` should have a snake case name [INFO] [stdout] --> src/main.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let mut closest_course_groupID = String::new(); // result will be stored here [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `closest_course_group_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CourseInfoVector` should have a snake case name [INFO] [stdout] --> src/main.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | let mut CourseInfoVector : Vec = Vec::new(); // store results here [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `course_info_vector` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.65s [INFO] running `Command { std: "docker" "inspect" "0c0bc374e0fb0a585b1a03d4ea63510df3901c6cccec62343058266b59b58404", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c0bc374e0fb0a585b1a03d4ea63510df3901c6cccec62343058266b59b58404", kill_on_drop: false }` [INFO] [stdout] 0c0bc374e0fb0a585b1a03d4ea63510df3901c6cccec62343058266b59b58404