[INFO] cloning repository https://github.com/Shaka-h/library-management-system-in-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Shaka-h/library-management-system-in-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShaka-h%2Flibrary-management-system-in-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShaka-h%2Flibrary-management-system-in-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d38c41490eb9b696c2464a1358f8bb43b1b851d2
[INFO] testing Shaka-h/library-management-system-in-rust/d38c41490eb9b696c2464a1358f8bb43b1b851d2 against nightly-2024-10-28+rustflags=-Zrandomize-layout for randomize-layout
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShaka-h%2Flibrary-management-system-in-rust" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Shaka-h/library-management-system-in-rust on toolchain nightly-2024-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Shaka-h/library-management-system-in-rust
[INFO] finished tweaking git repo https://github.com/Shaka-h/library-management-system-in-rust
[INFO] tweaked toml for git repo https://github.com/Shaka-h/library-management-system-in-rust written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/Shaka-h/library-management-system-in-rust 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" "+nightly-2024-10-28" "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-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 93dd278b6c89ce39e07bfeb67ae0a9b07fd0c32c4ad4e0fa1e8791e2095b78b4
[INFO] running `Command { std: "docker" "start" "-a" "93dd278b6c89ce39e07bfeb67ae0a9b07fd0c32c4ad4e0fa1e8791e2095b78b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "93dd278b6c89ce39e07bfeb67ae0a9b07fd0c32c4ad4e0fa1e8791e2095b78b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "93dd278b6c89ce39e07bfeb67ae0a9b07fd0c32c4ad4e0fa1e8791e2095b78b4", kill_on_drop: false }`
[INFO] [stdout] 93dd278b6c89ce39e07bfeb67ae0a9b07fd0c32c4ad4e0fa1e8791e2095b78b4
[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 -Zrandomize-layout" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4fba8cfc5ba491f12236a90dd4db69c0ea5302c4eb10caeb01e92e95bcbb2b9c
[INFO] running `Command { std: "docker" "start" "-a" "4fba8cfc5ba491f12236a90dd4db69c0ea5302c4eb10caeb01e92e95bcbb2b9c", kill_on_drop: false }`
[INFO] [stderr]    Compiling library_management_system v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/books.rs:30:95
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn publish_book (name: String, author: String, year: u16, copies: u32, votes: u32) -> Book {
[INFO] [stdout]    |                                                                                               ^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
[INFO] [stdout] help: consider using the `'a` lifetime
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn publish_book (name: String, author: String, year: u16, copies: u32, votes: u32) -> Book<'a> {
[INFO] [stdout]    |                                                                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/patron.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub borrowed_books: Vec<&'a mut Book>,  // Use the same lifetime here
[INFO] [stdout]    |                                     ^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: consider using the `'a` lifetime
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub borrowed_books: Vec<&'a mut Book<'a>>,  // Use the same lifetime here
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `author::Author`
[INFO] [stdout]  --> src/patron.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{author::Author, books::{Book, BookStatus}};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/books.rs:39:23
[INFO] [stdout]    |
[INFO] [stdout] 39 |             borrower: null()
[INFO] [stdout]    |                       ^^^^^^ expected `&mut Patron`, found `*const _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected mutable reference `&mut Patron`
[INFO] [stdout]                     found raw pointer `*const _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/patron.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |             book.borrower = null();
[INFO] [stdout]    |             -------------   ^^^^^^ expected `&mut Patron`, found `*const _`
[INFO] [stdout]    |             |
[INFO] [stdout]    |             expected due to the type of this binding
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected mutable reference `&mut Patron`
[INFO] [stdout]                     found raw pointer `*const _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0621]: explicit lifetime required in the type of `book`
[INFO] [stdout]   --> src/books.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn add_book(&mut self, book:&'a mut Book) {
[INFO] [stdout]    |                                     ------------ help: add explicit lifetime `'a` to the type of `book`: `&'a mut Book<'a>`
[INFO] [stdout] 47 |         self.book.push(book);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `book.status`, which is behind a `&` reference
[INFO] [stdout]   --> src/patron.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             book.status = BookStatus::Available;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `book` is a `&` reference, so the data it refers to cannot be written
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be a mutable reference
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn borrow_book (&mut self, book: &mut Book, patron: &mut Patron){
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> src/patron.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn borrow_book (&mut self, book: &Book, patron: &mut Patron){
[INFO] [stdout]    |                                    ----                 - let's call the lifetime of this reference `'1`
[INFO] [stdout]    |                                    |
[INFO] [stdout]    |                                    has type `&Book<'2>`
[INFO] [stdout] ...
[INFO] [stdout] 38 |             book.borrower = patron;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ assignment requires that `'1` must outlive `'2`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a named lifetime parameter and update trait if needed
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn borrow_book<'b> (&mut self, book: &Book<'b>, patron: &'b mut Patron){
[INFO] [stdout]    |                       ++++                        ++++           ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0594]: cannot assign to `book.borrower`, which is behind a `&` reference
[INFO] [stdout]   --> src/patron.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             book.borrower = patron;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^ `book` is a `&` reference, so the data it refers to cannot be written
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be a mutable reference
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn borrow_book (&mut self, book: &mut Book, patron: &mut Patron){
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0308, E0594, E0621.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `library_management_system` (bin "library_management_system") due to 8 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "4fba8cfc5ba491f12236a90dd4db69c0ea5302c4eb10caeb01e92e95bcbb2b9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fba8cfc5ba491f12236a90dd4db69c0ea5302c4eb10caeb01e92e95bcbb2b9c", kill_on_drop: false }`
[INFO] [stdout] 4fba8cfc5ba491f12236a90dd4db69c0ea5302c4eb10caeb01e92e95bcbb2b9c
