[INFO] fetching crate booklibrs 1.1.9...
[INFO] checking booklibrs-1.1.9 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate booklibrs 1.1.9 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate booklibrs 1.1.9 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate booklibrs 1.1.9
[INFO] finished tweaking crates.io crate booklibrs 1.1.9
[INFO] tweaked toml for crates.io crate booklibrs 1.1.9 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate crates.io crate booklibrs 1.1.9 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" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cc v1.0.66
[INFO] [stderr]   Downloaded fltk-calendar v0.2.0
[INFO] [stderr]   Downloaded fltk-derive v0.16.4
[INFO] [stderr]   Downloaded fltk v0.16.4
[INFO] [stderr]   Downloaded syn v1.0.68
[INFO] [stderr]   Downloaded fltk-sys v0.16.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ddc991af06ab01568c02f1621e88a9148fd420e1a8559bc92b274d66ee7a7436
[INFO] running `Command { std: "docker" "start" "-a" "ddc991af06ab01568c02f1621e88a9148fd420e1a8559bc92b274d66ee7a7436", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ddc991af06ab01568c02f1621e88a9148fd420e1a8559bc92b274d66ee7a7436", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddc991af06ab01568c02f1621e88a9148fd420e1a8559bc92b274d66ee7a7436", kill_on_drop: false }`
[INFO] [stdout] ddc991af06ab01568c02f1621e88a9148fd420e1a8559bc92b274d66ee7a7436
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e445f0f47283946a47c72cd941e6c13bfc16ba8541ccf1f4a1691beadd66c2ba
[INFO] running `Command { std: "docker" "start" "-a" "e445f0f47283946a47c72cd941e6c13bfc16ba8541ccf1f4a1691beadd66c2ba", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.92
[INFO] [stderr]    Compiling proc-macro2 v1.0.26
[INFO] [stderr]    Compiling cc v1.0.66
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling syn v1.0.68
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking linked-hash-map v0.5.4
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]    Compiling cmake v0.1.45
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling fltk-sys v0.16.4
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]    Compiling fltk-derive v0.16.4
[INFO] [stderr]     Checking fltk v0.16.4
[INFO] [stderr]     Checking fltk-calendar v0.2.0
[INFO] [stderr]     Checking booklibrs v1.1.9 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated constant `tests::book_test::book_tests::book_new_changing_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]   --> src/tests/book_test.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | /     fn book_new_changing_test() {
[INFO] [stdout] 36 | |         let book = Rc::new(RefCell::new(Book::new(
[INFO] [stdout] 37 | |             "Title1".to_string(),
[INFO] [stdout] 38 | |             "Author1".to_string(),
[INFO] [stdout] ...  |
[INFO] [stdout] 52 | |                    format!("{:?}", (*book).borrow()));
[INFO] [stdout] 53 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::book_test::book_tests::book_readers_manipulation_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]    --> src/tests/book_test.rs:56:5
[INFO] [stdout]     |
[INFO] [stdout] 56  | /     fn book_readers_manipulation_test() {
[INFO] [stdout] 57  | |         let book = Rc::new(RefCell::new(Book::new(
[INFO] [stdout] 58  | |             "Title1".to_string(),
[INFO] [stdout] 59  | |             "Author1".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 128 | |         format!("{:?}", x.remove_all_readers()));
[INFO] [stdout] 129 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::book_test::date_tests::date_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]   --> src/tests/book_test.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | /     fn date_test() {
[INFO] [stdout] 11 | |         let mut date = Date::new(0, 0, 0);
[INFO] [stdout] 12 | |         assert!(date.is_err());
[INFO] [stdout] ...  |
[INFO] [stdout] 21 | |         assert!(date.is_ok());
[INFO] [stdout] 22 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::book_test::the_book_tests::the_book_changing_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]    --> src/tests/book_test.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 198 | /     fn the_book_changing_test() {
[INFO] [stdout] 199 | |         let mut the_book = TheBook::new("Title".to_string(), "Author".to_string(), 200, 1);
[INFO] [stdout] 200 | |         let reader = Rc::new(RefCell::new(Reader::new(
[INFO] [stdout] 201 | |             "Michael".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 220 | |                    format!("{:?}", *(*reader).borrow()));
[INFO] [stdout] 221 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::book_test::the_book_tests::the_book_new_add_remove_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]    --> src/tests/book_test.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | /     fn the_book_new_add_remove_test() {
[INFO] [stdout] 143 | |         let mut the_book = TheBook::new("Title".to_string(), "Author".to_string(), 200, 1);
[INFO] [stdout] 144 | |         assert_eq!(
[INFO] [stdout] 145 | |             "The Book { title: \"Title\", author: \"Author\", pages: 200, books.yaml: [\"Book { title: \\\"Title\\\", author: \\\"Author\...
[INFO] [stdout] ...   |
[INFO] [stdout] 194 | |         );
[INFO] [stdout] 195 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::reader_test::reader_base_tests::reader_base_changing_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]    --> src/tests/reader_test.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 | /     fn reader_base_changing_test() {
[INFO] [stdout] 308 | |         let mut reader_base = ReaderBase::new();
[INFO] [stdout] 309 | |
[INFO] [stdout] 310 | |         assert_eq!("Reader Base { readers.yaml: [\"Reader { name: \\\"Name1\\\", family: \\\"Family1\\\", father: \\\"Father1\\\", age: 1...
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         assert!(reader_base.change_age(0, "aba".to_string()).is_err());
[INFO] [stdout] 334 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::reader_test::reader_base_tests::reader_base_new_find_add_remove_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]    --> src/tests/reader_test.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | /     fn reader_base_new_find_add_remove_test() {
[INFO] [stdout] 190 | |         let mut reader_base = ReaderBase::new();
[INFO] [stdout] 191 | |         assert_eq!(
[INFO] [stdout] 192 | |             "Reader Base { readers.yaml: [] }",
[INFO] [stdout] ...   |
[INFO] [stdout] 303 | |                    format!("{:?}", *(*book3).borrow()));
[INFO] [stdout] 304 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::reader_test::reader_tests::reader_books_manipulations_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]    --> src/tests/reader_test.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout] 96  | /     fn reader_books_manipulations_test() {
[INFO] [stdout] 97  | |         let reader = Rc::new(RefCell::new(Reader::new(
[INFO] [stdout] 98  | |             "Name".to_string(),
[INFO] [stdout] 99  | |             "Family".to_string(),
[INFO] [stdout] ...   |
[INFO] [stdout] 175 | |         );
[INFO] [stdout] 176 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::reader_test::reader_tests::reader_change_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]   --> src/tests/reader_test.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | /     fn reader_change_test() {
[INFO] [stdout] 61 | |         let mut reader = Reader::new(
[INFO] [stdout] 62 | |             "Name".to_string(),
[INFO] [stdout] 63 | |             "Family".to_string(),
[INFO] [stdout] ...  |
[INFO] [stdout] 92 | |         );
[INFO] [stdout] 93 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `tests::reader_test::reader_tests::reader_new_eq_test`: It has been a lot of changes since I need it,since everything works correct, I have no need for tests
[INFO] [stdout]   --> src/tests/reader_test.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | /     fn reader_new_eq_test() {
[INFO] [stdout] 15 | |         let reader1 = Reader::new(
[INFO] [stdout] 16 | |             "Name".to_string(),
[INFO] [stdout] 17 | |             "Family".to_string(),
[INFO] [stdout] ...  |
[INFO] [stdout] 56 | |         assert_ne!(reader3, reader2);
[INFO] [stdout] 57 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/tests/book_test.rs:36:41
[INFO] [stdout]     |
[INFO] [stdout] 36  |         let book = Rc::new(RefCell::new(Book::new(
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 37  |             "Title1".to_string(),
[INFO] [stdout] 38  |             "Author1".to_string(),
[INFO] [stdout]     |             --------------------- expected `&App`, found `String`
[INFO] [stdout] 39  |             200,
[INFO] [stdout]     |             --- expected `Lang`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Rc<RefCell<TheBook>>`, found `String`
[INFO] [stdout]    --> src/tests/book_test.rs:37:13
[INFO] [stdout]     |
[INFO] [stdout] 37  |             "Title1".to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `Rc<RefCell<TheBook>>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/book.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub(crate) fn new(the_book: Rc<RefCell<TheBook>>, app: &App, lang: Lang) -> Option<Self> {
[INFO] [stdout]     |                   ^^^ ------------------------------  ---------  ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `change_title` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]   --> src/tests/book_test.rs:47:14
[INFO] [stdout]    |
[INFO] [stdout] 45 | /         (*book)
[INFO] [stdout] 46 | |             .borrow_mut()
[INFO] [stdout] 47 | |             .change_title("Title2".to_string())
[INFO] [stdout]    | |             -^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `BookInterface` defines an item `change_title`, perhaps you need to implement it
[INFO] [stdout]   --> src/books/mod.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) trait BookInterface {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/tests/book_test.rs:57:41
[INFO] [stdout]     |
[INFO] [stdout] 57  |         let book = Rc::new(RefCell::new(Book::new(
[INFO] [stdout]     |                                         ^^^^^^^^^
[INFO] [stdout] 58  |             "Title1".to_string(),
[INFO] [stdout] 59  |             "Author1".to_string(),
[INFO] [stdout]     |             --------------------- expected `&App`, found `String`
[INFO] [stdout] 60  |             200,
[INFO] [stdout]     |             --- expected `Lang`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Rc<RefCell<TheBook>>`, found `String`
[INFO] [stdout]    --> src/tests/book_test.rs:58:13
[INFO] [stdout]     |
[INFO] [stdout] 58  |             "Title1".to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `Rc<RefCell<TheBook>>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/book.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub(crate) fn new(the_book: Rc<RefCell<TheBook>>, app: &App, lang: Lang) -> Option<Self> {
[INFO] [stdout]     |                   ^^^ ------------------------------  ---------  ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/book_test.rs:63:44
[INFO] [stdout]     |
[INFO] [stdout] 63  |           let reader1 = Rc::new(RefCell::new(Reader::new(
[INFO] [stdout]     |  ____________________________________________^^^^^^^^^^^-
[INFO] [stdout] 64  | |             "Name".to_string(),
[INFO] [stdout] 65  | |             "Family".to_string(),
[INFO] [stdout] 66  | |             "Father".to_string(),
[INFO] [stdout] 67  | |             50,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 68  | |         )));
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 67  |             50.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 63  |         let reader1 = Rc::new(RefCell::new(Reader::new("Name".to_string(), "Family".to_string(), "Father".to_string(), /* std::string::String */, /* date::Date */)));
[INFO] [stdout]     |                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/book_test.rs:70:44
[INFO] [stdout]     |
[INFO] [stdout] 70  |           let reader2 = Rc::new(RefCell::new(Reader::new(
[INFO] [stdout]     |  ____________________________________________^^^^^^^^^^^-
[INFO] [stdout] 71  | |             "Another Name".to_string(),
[INFO] [stdout] 72  | |             "Another Family".to_string(),
[INFO] [stdout] 73  | |             "Another Father".to_string(),
[INFO] [stdout] 74  | |             60,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 75  | |         )));
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 74  |             60.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 70  |         let reader2 = Rc::new(RefCell::new(Reader::new("Another Name".to_string(), "Another Family".to_string(), "Another Father".to_string(), /* std::string::String */, /* date::Date */)));
[INFO] [stdout]     |                                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/tests/book_test.rs:77:33
[INFO] [stdout]     |
[INFO] [stdout] 77  |         (*reader1).borrow_mut().start_reading(&book);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^------- an argument of type `&date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&Rc<RefCell<Book>>`, found `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout]    --> src/tests/book_test.rs:77:47
[INFO] [stdout]     |
[INFO] [stdout] 77  |         (*reader1).borrow_mut().start_reading(&book);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     = note: expected reference `&Rc<RefCell<Book>>`
[INFO] [stdout]                found reference `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub(crate) fn start_reading(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 200 |         &mut self,
[INFO] [stdout] 201 |         book: &Rc<RefCell<Book>>,
[INFO] [stdout]     |         ------------------------
[INFO] [stdout] 202 |         date: &Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 77  |         (*reader1).borrow_mut().start_reading(/* &Rc<RefCell<Book>> */, /* &date::Date */);
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]   --> src/tests/book_test.rs:81:14
[INFO] [stdout]    |
[INFO] [stdout] 79 | /         (*book)
[INFO] [stdout] 80 | |             .borrow_mut()
[INFO] [stdout] 81 | |             .start_reading(&reader1, Date::new(1, 1, 1).unwrap());
[INFO] [stdout]    | |             -^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BookInterface` is never used
[INFO] [stdout]   --> src/books/mod.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub(crate) trait BookInterface {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/tests/book_test.rs:83:33
[INFO] [stdout]     |
[INFO] [stdout] 83  |         (*reader2).borrow_mut().start_reading(&book);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^------- an argument of type `&date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&Rc<RefCell<Book>>`, found `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout]    --> src/tests/book_test.rs:83:47
[INFO] [stdout]     |
[INFO] [stdout] 83  |         (*reader2).borrow_mut().start_reading(&book);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     = note: expected reference `&Rc<RefCell<Book>>`
[INFO] [stdout]                found reference `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub(crate) fn start_reading(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 200 |         &mut self,
[INFO] [stdout] 201 |         book: &Rc<RefCell<Book>>,
[INFO] [stdout]     |         ------------------------
[INFO] [stdout] 202 |         date: &Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 83  |         (*reader2).borrow_mut().start_reading(/* &Rc<RefCell<Book>> */, /* &date::Date */);
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.borrow()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/books/book_sys.rs:521:88
[INFO] [stdout]     |
[INFO] [stdout] 521 |   ...                   && *(*(*(**s).borrow().readers.last().unwrap())
[INFO] [stdout]     |  ______________________________________________________________________^
[INFO] [stdout] 522 | | ...                       .borrow()
[INFO] [stdout]     | |___________________________________^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `(std::rc::Weak<RefCell<Reader>>, (date::Date, date::Date))` does not implement `Borrow`, so calling `borrow` on `&(std::rc::Weak<RefCell<Reader>>, (date::Date, date::Date))` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]   --> src/tests/book_test.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 85 | /         (*book)
[INFO] [stdout] 86 | |             .borrow_mut()
[INFO] [stdout] 87 | |             .start_reading(&reader2, Date::new(1, 1, 1).unwrap());
[INFO] [stdout]    | |             -^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]    | |_____________|
[INFO] [stdout]    | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `finish_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]   --> src/tests/book_test.rs:92:41
[INFO] [stdout]    |
[INFO] [stdout] 92 |         assert_eq!((*book).borrow_mut().finish_reading().err().unwrap(), 1);
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/tests/book_test.rs:97:33
[INFO] [stdout]     |
[INFO] [stdout] 97  |         (*reader2).borrow_mut().start_reading(&book);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^------- an argument of type `&date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&Rc<RefCell<Book>>`, found `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout]    --> src/tests/book_test.rs:97:47
[INFO] [stdout]     |
[INFO] [stdout] 97  |         (*reader2).borrow_mut().start_reading(&book);
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     = note: expected reference `&Rc<RefCell<Book>>`
[INFO] [stdout]                found reference `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub(crate) fn start_reading(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 200 |         &mut self,
[INFO] [stdout] 201 |         book: &Rc<RefCell<Book>>,
[INFO] [stdout]     |         ------------------------
[INFO] [stdout] 202 |         date: &Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 97  |         (*reader2).borrow_mut().start_reading(/* &Rc<RefCell<Book>> */, /* &date::Date */);
[INFO] [stdout]     |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/book_test.rs:101:14
[INFO] [stdout]     |
[INFO] [stdout] 99  | /         (*book)
[INFO] [stdout] 100 | |             .borrow_mut()
[INFO] [stdout] 101 | |             .start_reading(&reader2, Date::new(1, 1, 1).unwrap());
[INFO] [stdout]     | |             -^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `find_reader_first` found for struct `Ref<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/book_test.rs:106:37
[INFO] [stdout]     |
[INFO] [stdout] 106 |         assert_eq!((*book).borrow().find_reader_first(&reader1).unwrap(), 0);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^ method not found in `Ref<'_, Option<Book>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `find_reader_first` found for struct `Ref<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/book_test.rs:107:37
[INFO] [stdout]     |
[INFO] [stdout] 107 |         assert_eq!((*book).borrow().find_reader_first(&reader2).unwrap(), 1);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^ method not found in `Ref<'_, Option<Book>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests/book_test.rs:117:25
[INFO] [stdout]     |
[INFO] [stdout] 117 |             .change_age(60);
[INFO] [stdout]     |              ---------- ^^ expected `Date`, found integer
[INFO] [stdout]     |              |
[INFO] [stdout]     |              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:365:19
[INFO] [stdout]     |
[INFO] [stdout] 365 |     pub(crate) fn change_age(&mut self, new_birth: Date) -> &mut Self {
[INFO] [stdout]     |                   ^^^^^^^^^^            ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `remove_reader` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/book_test.rs:123:57
[INFO] [stdout]     |
[INFO] [stdout] 123 |                    format!("{:?}", (*book).borrow_mut().remove_reader(&(*(*reader2).borrow()))));
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `remove_all_readers` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/book_test.rs:128:27
[INFO] [stdout]     |
[INFO] [stdout] 128 |         format!("{:?}", x.remove_all_readers()));
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/book_test.rs:143:28
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let mut the_book = TheBook::new("Title".to_string(), "Author".to_string(), 200, 1);
[INFO] [stdout]     |                            ^^^^^^^^^^^^                                               ---
[INFO] [stdout]     |                                                                                       | |
[INFO] [stdout]     |                                                                                       | unexpected argument of type `{integer}`
[INFO] [stdout]     |                                                                                       help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/the_book.rs:79:25
[INFO] [stdout]     |
[INFO] [stdout] 79  |     pub(crate) const fn new(new_title: String, new_author: String, new_pages: u16) -> Self {
[INFO] [stdout]     |                         ^^^ -----------------  ------------------  --------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/book_test.rs:149:43
[INFO] [stdout]     |
[INFO] [stdout] 149 |           let reader = Rc::new(RefCell::new(Reader::new(
[INFO] [stdout]     |  ___________________________________________^^^^^^^^^^^-
[INFO] [stdout] 150 | |             "Name".to_string(),
[INFO] [stdout] 151 | |             "Family".to_string(),
[INFO] [stdout] 152 | |             "Father".to_string(),
[INFO] [stdout] 153 | |             50,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 154 | |         )));
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 153 |             50.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 149 |         let reader = Rc::new(RefCell::new(Reader::new("Name".to_string(), "Family".to_string(), "Father".to_string(), /* std::string::String */, /* date::Date */)));
[INFO] [stdout]     |                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/tests/book_test.rs:163:18
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 .start_reading(the_book.books.get(ind.unwrap()).unwrap());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^------------------------------------------- an argument of type `&date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub(crate) fn start_reading(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 200 |         &mut self,
[INFO] [stdout] 201 |         book: &Rc<RefCell<Book>>,
[INFO] [stdout]     |         ------------------------
[INFO] [stdout] 202 |         date: &Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 .start_reading(the_book.books.get(ind.unwrap()).unwrap(), /* &date::Date */);
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_book` found for struct `TheBook` in the current scope
[INFO] [stdout]    --> src/tests/book_test.rs:169:22
[INFO] [stdout]     |
[INFO] [stdout] 169 |             the_book.add_book();
[INFO] [stdout]     |                      ^^^^^^^^ method not found in `TheBook`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/books/the_book.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout] 16  | pub struct TheBook {
[INFO] [stdout]     | ------------------ method `add_book` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/book_test.rs:199:28
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut the_book = TheBook::new("Title".to_string(), "Author".to_string(), 200, 1);
[INFO] [stdout]     |                            ^^^^^^^^^^^^                                               ---
[INFO] [stdout]     |                                                                                       | |
[INFO] [stdout]     |                                                                                       | unexpected argument of type `{integer}`
[INFO] [stdout]     |                                                                                       help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/the_book.rs:79:25
[INFO] [stdout]     |
[INFO] [stdout] 79  |     pub(crate) const fn new(new_title: String, new_author: String, new_pages: u16) -> Self {
[INFO] [stdout]     |                         ^^^ -----------------  ------------------  --------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/book_test.rs:200:43
[INFO] [stdout]     |
[INFO] [stdout] 200 |           let reader = Rc::new(RefCell::new(Reader::new(
[INFO] [stdout]     |  ___________________________________________^^^^^^^^^^^-
[INFO] [stdout] 201 | |             "Michael".to_string(),
[INFO] [stdout] 202 | |             "Jackson".to_string(),
[INFO] [stdout] 203 | |             "Joseph".to_string(),
[INFO] [stdout] 204 | |             60,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 205 | |         )));
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 204 |             60.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let reader = Rc::new(RefCell::new(Reader::new("Michael".to_string(), "Jackson".to_string(), "Joseph".to_string(), /* std::string::String */, /* date::Date */)));
[INFO] [stdout]     |                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/tests/book_test.rs:209:14
[INFO] [stdout]     |
[INFO] [stdout] 209 |             .start_reading(the_book.books.first().unwrap());
[INFO] [stdout]     |              ^^^^^^^^^^^^^--------------------------------- an argument of type `&date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub(crate) fn start_reading(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 200 |         &mut self,
[INFO] [stdout] 201 |         book: &Rc<RefCell<Book>>,
[INFO] [stdout]     |         ------------------------
[INFO] [stdout] 202 |         date: &Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 209 |             .start_reading(the_book.books.first().unwrap(), /* &date::Date */);
[INFO] [stdout]     |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:15:23
[INFO] [stdout]     |
[INFO] [stdout] 15  |           let reader1 = Reader::new(
[INFO] [stdout]     |  _______________________^^^^^^^^^^^-
[INFO] [stdout] 16  | |             "Name".to_string(),
[INFO] [stdout] 17  | |             "Family".to_string(),
[INFO] [stdout] 18  | |             "Father".to_string(),
[INFO] [stdout] 19  | |             50,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 20  | |         );
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 19  |             50.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 15  |         let reader1 = Reader::new("Name".to_string(), "Family".to_string(), "Father".to_string(), /* std::string::String */, /* date::Date */);
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:22:23
[INFO] [stdout]     |
[INFO] [stdout] 22  |           let reader2 = Reader::new(
[INFO] [stdout]     |  _______________________^^^^^^^^^^^-
[INFO] [stdout] 23  | |             "Name".to_string(),
[INFO] [stdout] 24  | |             "Family".to_string(),
[INFO] [stdout] 25  | |             "Father".to_string(),
[INFO] [stdout] 26  | |             50,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 27  | |         );
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 26  |             50.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 22  |         let reader2 = Reader::new("Name".to_string(), "Family".to_string(), "Father".to_string(), /* std::string::String */, /* date::Date */);
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:29:23
[INFO] [stdout]     |
[INFO] [stdout] 29  |           let reader3 = Reader::new(
[INFO] [stdout]     |  _______________________^^^^^^^^^^^-
[INFO] [stdout] 30  | |             "Another Name".to_string(),
[INFO] [stdout] 31  | |             "Another Family".to_string(),
[INFO] [stdout] 32  | |             "Another Father".to_string(),
[INFO] [stdout] 33  | |             50,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 34  | |         );
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 33  |             50.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 29  |         let reader3 = Reader::new("Another Name".to_string(), "Another Family".to_string(), "Another Father".to_string(), /* std::string::String */, /* date::Date */);
[INFO] [stdout]     |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:61:26
[INFO] [stdout]     |
[INFO] [stdout] 61  |           let mut reader = Reader::new(
[INFO] [stdout]     |  __________________________^^^^^^^^^^^-
[INFO] [stdout] 62  | |             "Name".to_string(),
[INFO] [stdout] 63  | |             "Family".to_string(),
[INFO] [stdout] 64  | |             "Father".to_string(),
[INFO] [stdout] 65  | |             50,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 66  | |         );
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 65  |             50.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 61  |         let mut reader = Reader::new("Name".to_string(), "Family".to_string(), "Father".to_string(), /* std::string::String */, /* date::Date */);
[INFO] [stdout]     |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests/reader_test.rs:91:47
[INFO] [stdout]     |
[INFO] [stdout] 91  |             format!("{:?}", reader.change_age(60))
[INFO] [stdout]     |                                    ---------- ^^ expected `Date`, found integer
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:365:19
[INFO] [stdout]     |
[INFO] [stdout] 365 |     pub(crate) fn change_age(&mut self, new_birth: Date) -> &mut Self {
[INFO] [stdout]     |                   ^^^^^^^^^^            ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:97:43
[INFO] [stdout]     |
[INFO] [stdout] 97  |           let reader = Rc::new(RefCell::new(Reader::new(
[INFO] [stdout]     |  ___________________________________________^^^^^^^^^^^-
[INFO] [stdout] 98  | |             "Name".to_string(),
[INFO] [stdout] 99  | |             "Family".to_string(),
[INFO] [stdout] 100 | |             "Father".to_string(),
[INFO] [stdout] 101 | |             50,
[INFO] [stdout]     | |             -- expected `String`, found integer
[INFO] [stdout] 102 | |         )));
[INFO] [stdout]     | |_________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/reading/reader.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub(crate) const fn new(
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 116 |         new_name: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 117 |         new_family: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 118 |         new_father: String,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 119 |         new_info: String,
[INFO] [stdout]     |         ----------------
[INFO] [stdout] 120 |         new_birth: Date,
[INFO] [stdout]     |         ---------------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 101 |             50.to_string(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 97  |         let reader = Rc::new(RefCell::new(Reader::new("Name".to_string(), "Family".to_string(), "Father".to_string(), /* std::string::String */, /* date::Date */)));
[INFO] [stdout]     |                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/tests/reader_test.rs:104:42
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let book1 = Rc::new(RefCell::new(Book::new(
[INFO] [stdout]     |                                          ^^^^^^^^^
[INFO] [stdout] 105 |             "Title1".to_string(),
[INFO] [stdout] 106 |             "Author1".to_string(),
[INFO] [stdout]     |             --------------------- expected `&App`, found `String`
[INFO] [stdout] 107 |             50,
[INFO] [stdout]     |             -- expected `Lang`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Rc<RefCell<TheBook>>`, found `String`
[INFO] [stdout]    --> src/tests/reader_test.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |             "Title1".to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `Rc<RefCell<TheBook>>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/book.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub(crate) fn new(the_book: Rc<RefCell<TheBook>>, app: &App, lang: Lang) -> Option<Self> {
[INFO] [stdout]     |                   ^^^ ------------------------------  ---------  ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/tests/reader_test.rs:110:42
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let book2 = Rc::new(RefCell::new(Book::new(
[INFO] [stdout]     |                                          ^^^^^^^^^
[INFO] [stdout] 111 |             "Title2".to_string(),
[INFO] [stdout] 112 |             "Author2".to_string(),
[INFO] [stdout]     |             --------------------- expected `&App`, found `String`
[INFO] [stdout] 113 |             60,
[INFO] [stdout]     |             -- expected `Lang`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Rc<RefCell<TheBook>>`, found `String`
[INFO] [stdout]    --> src/tests/reader_test.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             "Title2".to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `Rc<RefCell<TheBook>>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/book.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub(crate) fn new(the_book: Rc<RefCell<TheBook>>, app: &App, lang: Lang) -> Option<Self> {
[INFO] [stdout]     |                   ^^^ ------------------------------  ---------  ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/tests/reader_test.rs:116:42
[INFO] [stdout]     |
[INFO] [stdout] 116 |         let book3 = Rc::new(RefCell::new(Book::new(
[INFO] [stdout]     |                                          ^^^^^^^^^
[INFO] [stdout] 117 |             "Title3".to_string(),
[INFO] [stdout] 118 |             "Author3".to_string(),
[INFO] [stdout]     |             --------------------- expected `&App`, found `String`
[INFO] [stdout] 119 |             70,
[INFO] [stdout]     |             -- expected `Lang`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Rc<RefCell<TheBook>>`, found `String`
[INFO] [stdout]    --> src/tests/reader_test.rs:117:13
[INFO] [stdout]     |
[INFO] [stdout] 117 |             "Title3".to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `Rc<RefCell<TheBook>>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/book.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub(crate) fn new(the_book: Rc<RefCell<TheBook>>, app: &App, lang: Lang) -> Option<Self> {
[INFO] [stdout]     |                   ^^^ ------------------------------  ---------  ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:126:37
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...                   .start_reading(&book1)
[INFO] [stdout]     |                        ^^^^^^^^^^^^^-------- an argument of type `&date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&Rc<RefCell<Book>>`, found `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout]    --> src/tests/reader_test.rs:126:51
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...                   .start_reading(&book1)
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     = note: expected reference `&Rc<RefCell<Book>>`
[INFO] [stdout]                found reference `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub(crate) fn start_reading(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 200 |         &mut self,
[INFO] [stdout] 201 |         book: &Rc<RefCell<Book>>,
[INFO] [stdout]     |         ------------------------
[INFO] [stdout] 202 |         date: &Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 126 |                                    .start_reading(/* &Rc<RefCell<Book>> */, /* &date::Date */)
[INFO] [stdout]     |                                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for enum `Result` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:127:37
[INFO] [stdout]     |
[INFO] [stdout] 124 | / ...                   (*reader)
[INFO] [stdout] 125 | | ...                       .borrow_mut()
[INFO] [stdout]     | |                            ------------ method `start_reading` is available on `&mut Reader`
[INFO] [stdout] 126 | | ...                       .start_reading(&book1)
[INFO] [stdout] 127 | | ...                       .start_reading(&book2)
[INFO] [stdout]     | |                           -^^^^^^^^^^^^^ method not found in `Result<&mut Reader, u8>`
[INFO] [stdout]     | |___________________________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout] note: the method `start_reading` exists on the type `&mut Reader`
[INFO] [stdout]    --> src/reading/reader.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | /     pub(crate) fn start_reading(
[INFO] [stdout] 200 | |         &mut self,
[INFO] [stdout] 201 | |         book: &Rc<RefCell<Book>>,
[INFO] [stdout] 202 | |         date: &Date,
[INFO] [stdout] 203 | |     ) -> ResultSelf<Self> {
[INFO] [stdout]     | |_________________________^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `&mut Reader` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 126 |                                    .start_reading(&book1).expect("REASON")
[INFO] [stdout]     |                                                          +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:132:14
[INFO] [stdout]     |
[INFO] [stdout] 130 | /         (*book1)
[INFO] [stdout] 131 | |             .borrow_mut()
[INFO] [stdout] 132 | |             .start_reading(&reader, Date::new(1, 1, 1).unwrap());
[INFO] [stdout]     | |             -^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:136:14
[INFO] [stdout]     |
[INFO] [stdout] 134 | /         (*book2)
[INFO] [stdout] 135 | |             .borrow_mut()
[INFO] [stdout] 136 | |             .start_reading(&reader, Date::new(1, 1, 1).unwrap());
[INFO] [stdout]     | |             -^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:140:14
[INFO] [stdout]     |
[INFO] [stdout] 138 | /         (*book3)
[INFO] [stdout] 139 | |             .borrow_mut()
[INFO] [stdout] 140 | |             .start_reading(&reader, Date::new(1, 1, 1).unwrap());
[INFO] [stdout]     | |             -^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `change_title` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:144:14
[INFO] [stdout]     |
[INFO] [stdout] 142 | /         (*book1)
[INFO] [stdout] 143 | |             .borrow_mut()
[INFO] [stdout] 144 | |             .change_title("KEK".to_string())
[INFO] [stdout]     | |             -^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `BookInterface` defines an item `change_title`, perhaps you need to implement it
[INFO] [stdout]    --> src/books/mod.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout] 26  | pub(crate) trait BookInterface {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `change_title` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:150:14
[INFO] [stdout]     |
[INFO] [stdout] 148 | /         (*book2)
[INFO] [stdout] 149 | |             .borrow_mut()
[INFO] [stdout] 150 | |             .change_title("LOL".to_string())
[INFO] [stdout]     | |             -^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `BookInterface` defines an item `change_title`, perhaps you need to implement it
[INFO] [stdout]    --> src/books/mod.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout] 26  | pub(crate) trait BookInterface {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `change_title` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:156:14
[INFO] [stdout]     |
[INFO] [stdout] 154 | /         (*book3)
[INFO] [stdout] 155 | |             .borrow_mut()
[INFO] [stdout] 156 | |             .change_title("KOK".to_string())
[INFO] [stdout]     | |             -^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `BookInterface` defines an item `change_title`, perhaps you need to implement it
[INFO] [stdout]    --> src/books/mod.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout] 26  | pub(crate) trait BookInterface {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests/reader_test.rs:166:26
[INFO] [stdout]     |
[INFO] [stdout] 166 |             .remove_book(&mut (*(*book1).borrow_mut()));
[INFO] [stdout]     |              ----------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Book`, found `&mut Option<Book>`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Book`
[INFO] [stdout]                found mutable reference `&mut Option<Book>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:262:19
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub(crate) fn remove_book(&mut self, book: &mut Book) -> &mut Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^            ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:199:22
[INFO] [stdout]     |
[INFO] [stdout] 199 |                       .add_reader(
[INFO] [stdout]     |  ______________________^^^^^^^^^^-
[INFO] [stdout] 200 | |                         "Name1".to_string(), 
[INFO] [stdout] 201 | |                         "Family1".to_string(), 
[INFO] [stdout] 202 | |                         "Father1".to_string(), 
[INFO] [stdout] 203 | |                         50, )
[INFO] [stdout]     | |_________________________--__- an argument of type `date::Date` is missing
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           expected `String`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/read_base.rs:173:19
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn add_reader(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 174 |         &mut self,
[INFO] [stdout] 175 |         name: String,
[INFO] [stdout]     |         ------------
[INFO] [stdout] 176 |         family: String,
[INFO] [stdout]     |         --------------
[INFO] [stdout] 177 |         father: String,
[INFO] [stdout]     |         --------------
[INFO] [stdout] 178 |         info: String,
[INFO] [stdout]     |         ------------
[INFO] [stdout] 179 |         birth: Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 203 |                         50.to_string(), )
[INFO] [stdout]     |                           ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 199 |                     .add_reader("Name1".to_string(), "Family1".to_string(), "Father1".to_string(), /* std::string::String */, /* date::Date */)
[INFO] [stdout]     |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |                       .add_reader(
[INFO] [stdout]     |  ______________________^^^^^^^^^^-
[INFO] [stdout] 206 | |                         "Name2".to_string(), 
[INFO] [stdout] 207 | |                         "Family2".to_string(), 
[INFO] [stdout] 208 | |                         "Father2".to_string(), 
[INFO] [stdout] 209 | |                         60, )
[INFO] [stdout]     | |_________________________--__- an argument of type `date::Date` is missing
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           expected `String`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/read_base.rs:173:19
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn add_reader(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 174 |         &mut self,
[INFO] [stdout] 175 |         name: String,
[INFO] [stdout]     |         ------------
[INFO] [stdout] 176 |         family: String,
[INFO] [stdout]     |         --------------
[INFO] [stdout] 177 |         father: String,
[INFO] [stdout]     |         --------------
[INFO] [stdout] 178 |         info: String,
[INFO] [stdout]     |         ------------
[INFO] [stdout] 179 |         birth: Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 209 |                         60.to_string(), )
[INFO] [stdout]     |                           ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     .add_reader("Name2".to_string(), "Family2".to_string(), "Father2".to_string(), /* std::string::String */, /* date::Date */)
[INFO] [stdout]     |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests/reader_test.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |             reader_base.find_reader(
[INFO] [stdout]     |                         ----------- arguments to this method are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 217 |                 50
[INFO] [stdout]     |                 ^^ expected `Date`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/read_base.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub(crate) fn find_reader(
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |         birth: Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests/reader_test.rs:227:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |             reader_base.find_reader(
[INFO] [stdout]     |                         ----------- arguments to this method are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 227 |                 60
[INFO] [stdout]     |                 ^^ expected `Date`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/read_base.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub(crate) fn find_reader(
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |         birth: Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests/reader_test.rs:237:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |             reader_base.find_reader(
[INFO] [stdout]     |                         ----------- arguments to this method are incorrect
[INFO] [stdout] ...
[INFO] [stdout] 237 |                 50
[INFO] [stdout]     |                 ^^ expected `Date`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/read_base.rs:109:19
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub(crate) fn find_reader(
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |         birth: Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/tests/reader_test.rs:242:42
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let book1 = Rc::new(RefCell::new(Book::new(
[INFO] [stdout]     |                                          ^^^^^^^^^
[INFO] [stdout] 243 |             "Title1".to_string(),
[INFO] [stdout] 244 |             "Author1".to_string(),
[INFO] [stdout]     |             --------------------- expected `&App`, found `String`
[INFO] [stdout] 245 |             50,
[INFO] [stdout]     |             -- expected `Lang`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Rc<RefCell<TheBook>>`, found `String`
[INFO] [stdout]    --> src/tests/reader_test.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             "Title1".to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `Rc<RefCell<TheBook>>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/book.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub(crate) fn new(the_book: Rc<RefCell<TheBook>>, app: &App, lang: Lang) -> Option<Self> {
[INFO] [stdout]     |                   ^^^ ------------------------------  ---------  ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/tests/reader_test.rs:248:42
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let book2 = Rc::new(RefCell::new(Book::new(
[INFO] [stdout]     |                                          ^^^^^^^^^
[INFO] [stdout] 249 |             "Title2".to_string(),
[INFO] [stdout] 250 |             "Author2".to_string(),
[INFO] [stdout]     |             --------------------- expected `&App`, found `String`
[INFO] [stdout] 251 |             60,
[INFO] [stdout]     |             -- expected `Lang`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Rc<RefCell<TheBook>>`, found `String`
[INFO] [stdout]    --> src/tests/reader_test.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |             "Title2".to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `Rc<RefCell<TheBook>>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/book.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub(crate) fn new(the_book: Rc<RefCell<TheBook>>, app: &App, lang: Lang) -> Option<Self> {
[INFO] [stdout]     |                   ^^^ ------------------------------  ---------  ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/tests/reader_test.rs:254:42
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let book3 = Rc::new(RefCell::new(Book::new(
[INFO] [stdout]     |                                          ^^^^^^^^^
[INFO] [stdout] 255 |             "Title3".to_string(),
[INFO] [stdout] 256 |             "Author3".to_string(),
[INFO] [stdout]     |             --------------------- expected `&App`, found `String`
[INFO] [stdout] 257 |             70,
[INFO] [stdout]     |             -- expected `Lang`, found integer
[INFO] [stdout]     |
[INFO] [stdout] note: expected `Rc<RefCell<TheBook>>`, found `String`
[INFO] [stdout]    --> src/tests/reader_test.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |             "Title3".to_string(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `Rc<RefCell<TheBook>>`
[INFO] [stdout]                found struct `std::string::String`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/books/book.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub(crate) fn new(the_book: Rc<RefCell<TheBook>>, app: &App, lang: Lang) -> Option<Self> {
[INFO] [stdout]     |                   ^^^ ------------------------------  ---------  ----------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             .start_reading(&book1)
[INFO] [stdout]     |              ^^^^^^^^^^^^^-------- an argument of type `&date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: expected `&Rc<RefCell<Book>>`, found `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout]    --> src/tests/reader_test.rs:262:28
[INFO] [stdout]     |
[INFO] [stdout] 262 |             .start_reading(&book1)
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     = note: expected reference `&Rc<RefCell<Book>>`
[INFO] [stdout]                found reference `&Rc<RefCell<Option<Book>>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/reader.rs:199:19
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub(crate) fn start_reading(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 200 |         &mut self,
[INFO] [stdout] 201 |         book: &Rc<RefCell<Book>>,
[INFO] [stdout]     |         ------------------------
[INFO] [stdout] 202 |         date: &Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 262 |             .start_reading(/* &Rc<RefCell<Book>> */, /* &date::Date */)
[INFO] [stdout]     |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for enum `Result` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 260 | /         (*(*reader_base.readers.first_mut().unwrap()))
[INFO] [stdout] 261 | |             .borrow_mut()
[INFO] [stdout]     | |              ------------ method `start_reading` is available on `&mut Reader`
[INFO] [stdout] 262 | |             .start_reading(&book1)
[INFO] [stdout] 263 | |             .start_reading(&book2)
[INFO] [stdout]     | |             -^^^^^^^^^^^^^ method not found in `Result<&mut Reader, u8>`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout] note: the method `start_reading` exists on the type `&mut Reader`
[INFO] [stdout]    --> src/reading/reader.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | /     pub(crate) fn start_reading(
[INFO] [stdout] 200 | |         &mut self,
[INFO] [stdout] 201 | |         book: &Rc<RefCell<Book>>,
[INFO] [stdout] 202 | |         date: &Date,
[INFO] [stdout] 203 | |     ) -> ResultSelf<Self> {
[INFO] [stdout]     | |_________________________^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `&mut Reader` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 262 |             .start_reading(&book1).expect("REASON")
[INFO] [stdout]     |                                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:266:31
[INFO] [stdout]     |
[INFO] [stdout] 266 |         (*book1).borrow_mut().start_reading(
[INFO] [stdout]     |         ----------------------^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:271:31
[INFO] [stdout]     |
[INFO] [stdout] 271 |         (*book2).borrow_mut().start_reading(
[INFO] [stdout]     |         ----------------------^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `start_reading` found for struct `RefMut<'_, Option<Book>>` in the current scope
[INFO] [stdout]    --> src/tests/reader_test.rs:276:31
[INFO] [stdout]     |
[INFO] [stdout] 276 |         (*book3).borrow_mut().start_reading(
[INFO] [stdout]     |         ----------------------^^^^^^^^^^^^^ method not found in `RefMut<'_, Option<Book>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tests/reader_test.rs:313:26
[INFO] [stdout]     |
[INFO] [stdout] 313 |                           .add_reader(
[INFO] [stdout]     |  __________________________^^^^^^^^^^-
[INFO] [stdout] 314 | |                             "Name1".to_string(),
[INFO] [stdout] 315 | |                             "Family1".to_string(),
[INFO] [stdout] 316 | |                             "Father1".to_string(),
[INFO] [stdout] 317 | |                             10,
[INFO] [stdout]     | |                             -- expected `String`, found integer
[INFO] [stdout] 318 | |                         )
[INFO] [stdout]     | |_________________________- an argument of type `date::Date` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/read_base.rs:173:19
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn add_reader(
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 174 |         &mut self,
[INFO] [stdout] 175 |         name: String,
[INFO] [stdout]     |         ------------
[INFO] [stdout] 176 |         family: String,
[INFO] [stdout]     |         --------------
[INFO] [stdout] 177 |         father: String,
[INFO] [stdout]     |         --------------
[INFO] [stdout] 178 |         info: String,
[INFO] [stdout]     |         ------------
[INFO] [stdout] 179 |         birth: Date,
[INFO] [stdout]     |         -----------
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 317 |                             10.to_string(),
[INFO] [stdout]     |                               ++++++++++++
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         .add_reader("Name1".to_string(), "Family1".to_string(), "Father1".to_string(), /* std::string::String */, /* date::Date */)
[INFO] [stdout]     |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests/reader_test.rs:330:47
[INFO] [stdout]     |
[INFO] [stdout] 330 | ...                   .change_age(0, "60".to_string())
[INFO] [stdout]     |                        ----------    ^^^^^^^^^^^^^^^^ expected `Date`, found `String`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/read_base.rs:389:19
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub(crate) fn change_age(&mut self, ind: usize, new_birth: Date) -> ResultSelf<Self> {
[INFO] [stdout]     |                   ^^^^^^^^^^                        ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/tests/reader_test.rs:333:43
[INFO] [stdout]     |
[INFO] [stdout] 333 |         assert!(reader_base.change_age(0, "aba".to_string()).is_err());
[INFO] [stdout]     |                             ----------    ^^^^^^^^^^^^^^^^^ expected `Date`, found `String`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/reading/read_base.rs:389:19
[INFO] [stdout]     |
[INFO] [stdout] 389 |     pub(crate) fn change_age(&mut self, ind: usize, new_birth: Date) -> ResultSelf<Self> {
[INFO] [stdout]     |                   ^^^^^^^^^^                        ---------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 58 previous errors; 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `booklibrs` (lib test) due to 59 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e445f0f47283946a47c72cd941e6c13bfc16ba8541ccf1f4a1691beadd66c2ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e445f0f47283946a47c72cd941e6c13bfc16ba8541ccf1f4a1691beadd66c2ba", kill_on_drop: false }`
[INFO] [stdout] e445f0f47283946a47c72cd941e6c13bfc16ba8541ccf1f4a1691beadd66c2ba
