[INFO] cloning repository https://github.com/TheForestSystem/rust-sqlite
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TheForestSystem/rust-sqlite" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheForestSystem%2Frust-sqlite", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheForestSystem%2Frust-sqlite'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 124310ce367171ea114d91024fa68887458201b7
[INFO] checking TheForestSystem/rust-sqlite against 760e1de835e253bf28bbcbfee38b5e8ed9ffe074 for pr-133502-26
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTheForestSystem%2Frust-sqlite" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/TheForestSystem/rust-sqlite
[INFO] finished tweaking git repo https://github.com/TheForestSystem/rust-sqlite
[INFO] tweaked toml for git repo https://github.com/TheForestSystem/rust-sqlite written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/TheForestSystem/rust-sqlite on toolchain 760e1de835e253bf28bbcbfee38b5e8ed9ffe074
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/TheForestSystem/rust-sqlite 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" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e
[INFO] running `Command { std: "docker" "start" "c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e" "/opt/rustwide/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e" "/opt/rustwide/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking hashlink v0.11.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]     Checking rusqlite v0.39.0
[INFO] [stderr]     Checking SQLite v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `enrollment`
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let enrollment = ctx
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enrollment`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Assignment` is never constructed
[INFO] [stdout]  --> src/models/assignment.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Assignment {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/models/assignment.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Assignment {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 13 |     pub fn new(course_id: i64, assignment_name: String, weight: Option<f64>) -> Assignment {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssignmentGrade` is never constructed
[INFO] [stdout]  --> src/models/assignment_grade.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct AssignmentGrade {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]  --> src/models/course.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Course {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub created_at: Option<DateTime<Utc>>,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `enrolled_at` is never read
[INFO] [stdout]  --> src/models/enrollment.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Enrollment {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub enrolled_at: Option<DateTime<Utc>>,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> src/models/staff.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Staff {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub created_at: Option<DateTime<Utc>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `full_name` is never used
[INFO] [stdout]   --> src/models/staff.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Staff {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn full_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]  --> src/models/student.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Student {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub created_at: Option<DateTime<Utc>>,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `full_name` is never used
[INFO] [stdout]   --> src/models/student.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Student {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn full_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `open_in_memory` is never used
[INFO] [stdout]   --> src/persistence/db.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn open_in_memory() -> Result<Connection, Error> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fetch_by_id_stmt` and `fetch_all_stmt` are never read
[INFO] [stdout]  --> src/persistence/student_repo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct StudentRepo<'a> {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fetch_by_id_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     fetch_all_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_by_id`, `fetch_all`, and `delete` are never used
[INFO] [stdout]   --> src/persistence/student_repo.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> StudentRepo<'a> {
[INFO] [stdout]    | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn fetch_by_id(&mut self, id: i64) -> Result<Student, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn fetch_all(&mut self) -> Result<Vec<Student>, Error> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn delete(&mut self, id: i64) -> Result<(), Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fetch_by_id_stmt` and `fetch_all_stmt` are never read
[INFO] [stdout]  --> src/persistence/staff_repo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct StaffRepo<'a> {
[INFO] [stdout]   |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fetch_by_id_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     fetch_all_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_by_id`, `fetch_all`, and `delete` are never used
[INFO] [stdout]   --> src/persistence/staff_repo.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> StaffRepo<'a> {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn fetch_by_id(&mut self, id: i64) -> Result<Staff, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn fetch_all(&mut self) -> Result<Vec<Staff>, Error> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn delete(&mut self, id: i64) -> Result<(), Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fetch_by_id_stmt`, `fetch_all_stmt`, and `fetch_by_staff_stmt` are never read
[INFO] [stdout]  --> src/persistence/course_repo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct CourseRepo<'a> {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fetch_by_id_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     fetch_all_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     fetch_by_staff_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_by_id`, `fetch_all`, `fetch_by_staff`, and `delete` are never used
[INFO] [stdout]    --> src/persistence/course_repo.rs:39:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl<'a> CourseRepo<'a> {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn fetch_by_id(&mut self, id: i64) -> Result<Course, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn fetch_all(&mut self) -> Result<Vec<Course>, Error> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn fetch_by_staff(&mut self, staff_id: i64) -> Result<Vec<Course>, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn delete(&mut self, id: i64) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conn`, `insert_stmt`, `fetch_by_id_stmt`, and `fetch_by_course_stmt` are never read
[INFO] [stdout]  --> src/persistence/assignment_repo.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct AssignmentRepo<'a> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] 5 |     conn: &'a Connection,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 6 |     insert_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 7 |     fetch_by_id_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     fetch_by_course_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert`, `fetch_by_id`, `fetch_by_course`, and `delete` are never used
[INFO] [stdout]   --> src/persistence/assignment_repo.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> AssignmentRepo<'a> {
[INFO] [stdout]    | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn insert(&mut self, assignment: &Assignment) -> Result<i64, Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn fetch_by_id(&mut self, id: i64) -> Result<Assignment, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn fetch_by_course(&mut self, course_id: i64) -> Result<Vec<Assignment>, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn delete(&mut self, id: i64) -> Result<(), Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fetch_by_id_stmt`, `fetch_by_student_stmt`, and `fetch_by_course_stmt` are never read
[INFO] [stdout]  --> src/persistence/enrollment_repo.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct EnrollmentRepo<'a> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     fetch_by_id_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     fetch_by_student_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     fetch_by_course_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_by_id`, `fetch_by_student`, `fetch_by_course`, and `delete` are never used
[INFO] [stdout]    --> src/persistence/enrollment_repo.rs:39:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl<'a> EnrollmentRepo<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn fetch_by_id(&mut self, id: i64) -> Result<Enrollment, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn fetch_by_student(&mut self, student_id: i64) -> Result<Vec<Enrollment>, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn fetch_by_course(&mut self, course_id: i64) -> Result<Vec<Enrollment>, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn delete(&mut self, id: i64) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conn`, `insert_stmt`, `fetch_by_enrollment_stmt`, and `update_stmt` are never read
[INFO] [stdout]  --> src/persistence/assignment_grade_repo.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct AssignmentGradeRepo<'a> {
[INFO] [stdout]   |            ------------------- fields in this struct
[INFO] [stdout] 5 |     conn: &'a Connection,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 6 |     insert_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 7 |     fetch_by_enrollment_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     update_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert`, `fetch_by_enrollment`, and `update_grade` are never used
[INFO] [stdout]   --> src/persistence/assignment_grade_repo.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> AssignmentGradeRepo<'a> {
[INFO] [stdout]    | -------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn insert(&mut self, grade: &AssignmentGrade) -> Result<(), Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn fetch_by_enrollment(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn update_grade(
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `assignments`, `assignment_grades`, and `views` are never read
[INFO] [stdout]   --> src/persistence/context.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DbContext<'a> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub assignments:      AssignmentRepo<'a>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     pub enrollments:      EnrollmentRepo<'a>,
[INFO] [stdout] 19 |     pub assignment_grades: AssignmentGradeRepo<'a>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub views: ViewRepo<'a>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `conn`, `final_grades_stmt`, `assignment_averages_stmt`, and `ungraded_stmt` are never read
[INFO] [stdout]   --> src/persistence/view_repo.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct ViewRepo<'a> {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  7 |     conn:                     &'a Connection,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  8 |     final_grades_stmt:        Option<Statement<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     assignment_averages_stmt: Option<Statement<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     ungraded_stmt:            Option<Statement<'a>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_final_grades`, `fetch_final_grades_for_student`, `fetch_assignment_averages`, and `fetch_ungraded_students` are never used
[INFO] [stdout]   --> src/persistence/view_repo.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<'a> ViewRepo<'a> {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn fetch_final_grades(&mut self) -> Result<Vec<StudentFinalGrade>, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn fetch_final_grades_for_student(&mut self, student_id: i64) -> Result<Vec<StudentFinalGrade>, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn fetch_assignment_averages(&mut self) -> Result<Vec<CourseAssignmentAverage>, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn fetch_ungraded_students(&mut self) -> Result<Vec<UngradedStudent>, Error> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enrollment`
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let enrollment = ctx
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enrollment`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `assignment_id` and `created_at` are never read
[INFO] [stdout]  --> src/models/assignment.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Assignment {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 5 |     pub assignment_id: Option<i64>,
[INFO] [stdout]   |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub created_at: Option<DateTime<Utc>>,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `graded_at` is never read
[INFO] [stdout]  --> src/models/assignment_grade.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct AssignmentGrade {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub graded_at: Option<DateTime<Utc>>,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]  --> src/models/course.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Course {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub created_at: Option<DateTime<Utc>>,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `enrolled_at` is never read
[INFO] [stdout]  --> src/models/enrollment.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Enrollment {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub enrolled_at: Option<DateTime<Utc>>,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]   --> src/models/staff.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Staff {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub created_at: Option<DateTime<Utc>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `full_name` is never used
[INFO] [stdout]   --> src/models/staff.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Staff {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn full_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `created_at` is never read
[INFO] [stdout]  --> src/models/student.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Student {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9 |     pub created_at: Option<DateTime<Utc>>,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `full_name` is never used
[INFO] [stdout]   --> src/models/student.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Student {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn full_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fetch_all_stmt` is never read
[INFO] [stdout]  --> src/persistence/course_repo.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct CourseRepo<'a> {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     fetch_all_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_all` and `delete` are never used
[INFO] [stdout]    --> src/persistence/course_repo.rs:61:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl<'a> CourseRepo<'a> {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn fetch_all(&mut self) -> Result<Vec<Course>, Error> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn delete(&mut self, id: i64) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]   --> src/persistence/assignment_repo.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> AssignmentRepo<'a> {
[INFO] [stdout]    | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn delete(&mut self, id: i64) -> Result<(), Error> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fetch_by_student_stmt` and `fetch_by_course_stmt` are never read
[INFO] [stdout]  --> src/persistence/enrollment_repo.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct EnrollmentRepo<'a> {
[INFO] [stdout]   |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     fetch_by_student_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     fetch_by_course_stmt: Option<Statement<'a>>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `fetch_by_student`, `fetch_by_course`, and `delete` are never used
[INFO] [stdout]    --> src/persistence/enrollment_repo.rs:61:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl<'a> EnrollmentRepo<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn fetch_by_student(&mut self, student_id: i64) -> Result<Vec<Enrollment>, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn fetch_by_course(&mut self, course_id: i64) -> Result<Vec<Enrollment>, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn delete(&mut self, id: i64) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `assignments`, `assignment_grades`, and `views` are never read
[INFO] [stdout]   --> src/persistence/context.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DbContext<'a> {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub assignments:      AssignmentRepo<'a>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     pub enrollments:      EnrollmentRepo<'a>,
[INFO] [stdout] 19 |     pub assignment_grades: AssignmentGradeRepo<'a>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub views: ViewRepo<'a>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.94s
[INFO] running `Command { std: "docker" "inspect" "c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e", kill_on_drop: false }`
[INFO] [stdout] c6a881587ff3e4187b2d6b460aa98064ff37adf5407ddcfad99452bcc07ee63e
