[INFO] cloning repository https://github.com/dearfat/cut-text-file
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dearfat/cut-text-file" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdearfat%2Fcut-text-file", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdearfat%2Fcut-text-file'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] af0edaed852fd1360ea819f1f7585fd46ee30098
[INFO] testing dearfat/cut-text-file against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdearfat%2Fcut-text-file" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dearfat/cut-text-file
[INFO] finished tweaking git repo https://github.com/dearfat/cut-text-file
[INFO] tweaked toml for git repo https://github.com/dearfat/cut-text-file written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dearfat/cut-text-file on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dearfat/cut-text-file 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded winapi-util v0.1.9
[INFO] [stderr]   Downloaded serde_derive v1.0.213
[INFO] [stderr]   Downloaded serde_spanned v0.6.8
[INFO] [stderr]   Downloaded kqueue-sys v1.0.4
[INFO] [stderr]   Downloaded inotify-sys v0.1.5
[INFO] [stderr]   Downloaded fsevent-sys v4.1.0
[INFO] [stderr]   Downloaded thiserror-impl v1.0.65
[INFO] [stderr]   Downloaded kqueue v1.0.8
[INFO] [stderr]   Downloaded filetime v0.2.25
[INFO] [stderr]   Downloaded pathdiff v0.2.2
[INFO] [stderr]   Downloaded cpufeatures v0.2.14
[INFO] [stderr]   Downloaded is-terminal v0.4.13
[INFO] [stderr]   Downloaded json5 v0.4.1
[INFO] [stderr]   Downloaded inotify v0.9.6
[INFO] [stderr]   Downloaded arraydeque v0.5.1
[INFO] [stderr]   Downloaded dlv-list v0.5.2
[INFO] [stderr]   Downloaded serde v1.0.213
[INFO] [stderr]   Downloaded rust-ini v0.20.0
[INFO] [stderr]   Downloaded ordered-multimap v0.7.3
[INFO] [stderr]   Downloaded thiserror v1.0.65
[INFO] [stderr]   Downloaded convert_case v0.6.0
[INFO] [stderr]   Downloaded env_logger v0.10.2
[INFO] [stderr]   Downloaded pest_derive v2.7.14
[INFO] [stderr]   Downloaded ucd-trie v0.1.7
[INFO] [stderr]   Downloaded notify v5.2.0
[INFO] [stderr]   Downloaded pest_generator v2.7.14
[INFO] [stderr]   Downloaded anyhow v1.0.91
[INFO] [stderr]   Downloaded ron v0.8.1
[INFO] [stderr]   Downloaded pest_meta v2.7.14
[INFO] [stderr]   Downloaded config v0.14.1
[INFO] [stderr]   Downloaded toml v0.8.19
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.13
[INFO] [stderr]   Downloaded tokio-util v0.7.12
[INFO] [stderr]   Downloaded pest v2.7.14
[INFO] [stderr]   Downloaded yaml-rust2 v0.8.1
[INFO] [stderr]   Downloaded hashbrown v0.15.0
[INFO] [stderr]   Downloaded syn v2.0.85
[INFO] [stderr]   Downloaded regex-automata v0.4.8
[INFO] [stderr]   Downloaded libc v0.2.161
[INFO] [stderr]   Downloaded tokio v1.41.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a
[INFO] running `Command { std: "docker" "start" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling serde v1.0.213
[INFO] [stderr]    Compiling thiserror v1.0.65
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.15
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling bytes v1.8.0
[INFO] [stderr]    Compiling hashbrown v0.15.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.2
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling syn v2.0.85
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling socket2 v0.5.7
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling indexmap v2.6.0
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling tracing-core v0.1.32
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]    Compiling unicode-bidi v0.3.17
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]    Compiling idna v0.5.0
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling anyhow v1.0.91
[INFO] [stderr]    Compiling arraydeque v0.5.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.13
[INFO] [stderr]    Compiling yaml-rust2 v0.8.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling url v2.5.2
[INFO] [stderr]    Compiling rust-ini v0.20.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling filetime v0.2.25
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling is-terminal v0.4.13
[INFO] [stderr]    Compiling serde_derive v1.0.213
[INFO] [stderr]    Compiling thiserror-impl v1.0.65
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling pest v2.7.14
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.41.0
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling pest_meta v2.7.14
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling pest_generator v2.7.14
[INFO] [stderr]    Compiling pathdiff v0.2.2
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling notify v5.2.0
[INFO] [stderr]    Compiling pest_derive v2.7.14
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling tokio-util v0.7.12
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling combine v4.6.7
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling toml v0.8.19
[INFO] [stderr]    Compiling config v0.14.1
[INFO] [stderr]    Compiling redis v0.23.3
[INFO] [stderr]    Compiling xreader_cut_file v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/main.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::{PathBuf,Path};
[INFO] [stdout]   |                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use log::{debug,error,info,warn};
[INFO] [stdout]    |           ^^^^^            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RedisResult`
[INFO] [stdout]   --> src/main.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | use redis::{cmd as redisCmd, RedisResult};
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/config/config.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]  --> src/config/config.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug,error,info,warn};
[INFO] [stdout]   |           ^^^^^ ^^^^^ ^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/processor/processor.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug,error,info,warn};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `self`
[INFO] [stdout]  --> src/processor/processor.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self,BufRead , BufReader, Read};
[INFO] [stdout]   |               ^^^^                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CHANNEL_PSB_BOOK_TASK`
[INFO] [stdout]   --> src/processor/processor.rs:11:65
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::model::book::{PREFIX_QUEUE_BOOK_CDN, BookRedisClient,CHANNEL_PSB_BOOK_TASK};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventKind`
[INFO] [stdout]  --> src/watcher/watcher.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use notify::{Watcher, RecursiveMode, Event,EventKind,Result as NotifyResult};
[INFO] [stdout]   |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::book`
[INFO] [stdout]  --> src/watcher/watcher.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::model::book;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Book` and `PREFIX_QUEUE_BOOK_CDN`
[INFO] [stdout]   --> src/watcher/watcher.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::model::book::{Book,BookRedisClient,PREFIX_QUEUE_BOOK_CDN,CHANNEL_PSB_BOOK_TASK};
[INFO] [stdout]    |                          ^^^^                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/watcher/watcher.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::time::{sleep, Duration};
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ok as ResultOk`
[INFO] [stdout]   --> src/watcher/watcher.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::result::Result::{Ok as ResultOk};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/model/book.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::Error`
[INFO] [stdout]  --> src/model/book.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{de::Error, Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::error`
[INFO] [stdout]  --> src/model/book.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/model/book.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::Book`
[INFO] [stdout]  --> src/model/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use book::Book;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::BookRedisClient`
[INFO] [stdout]  --> src/model/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use book::BookRedisClient;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::PREFIX_BOOK`
[INFO] [stdout]  --> src/model/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use book::PREFIX_BOOK;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::PREFIX_BOOK_SOURCE`
[INFO] [stdout]  --> src/model/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use book::PREFIX_BOOK_SOURCE;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::PREFIX_QUEUE_BOOK_CDN`
[INFO] [stdout]  --> src/model/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use book::PREFIX_QUEUE_BOOK_CDN;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::PREFIX_BOOK_UUID`
[INFO] [stdout]  --> src/model/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use book::PREFIX_BOOK_UUID;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::CHANNEL_PSB_BOOK_TASK`
[INFO] [stdout]  --> src/model/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use book::CHANNEL_PSB_BOOK_TASK;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/processor/processor.rs:38:2
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub async fn store_filenames_to_redis(&self) -> Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/processor/processor.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 | ...                   conn.sadd(PREFIX_QUEUE_BOOK_CDN, filename_str).await?;
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/processor/processor.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     #[warn(dependency_on_unit_never_type_fallback)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 53 |                                             conn.sadd::<_, _, ()>(PREFIX_QUEUE_BOOK_CDN, filename_str).await?;
[INFO] [stdout]    |                                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/processor/processor.rs:114:2
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub async fn process_all_files(&self)->Result<()>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/processor/processor.rs:135:62
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...                   cmd("SRM").arg(PREFIX_QUEUE_BOOK_CDN).arg(&file).query_async(&mut conn).await?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 135 |                                                 cmd("SRM").arg(PREFIX_QUEUE_BOOK_CDN).arg(&file).query_async::<_, ()>(&mut conn).await?;
[INFO] [stdout]     |                                                                                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/processor/processor.rs:148:2
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub async fn process_with_retry(&self,input_path: &Path, stop:i32 , max_retries:u32)->Result<()>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/processor/processor.rs:154:52
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...   self.redis_client.get_connection().await?.srem("files_to_process", input_path.file_name().unwrap().to_str().unwrap()).await?;   
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 154 |                                     self.redis_client.get_connection().await?.srem::<_, _, ()>("files_to_process", input_path.file_name().unwrap().to_str().unwrap()).await?;   
[INFO] [stdout]     |                                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:116:2
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub async fn set_book(&mut self, book:&Book)->Result<(),anyhow::Error>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |             .query_async(&mut self.conn)
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 123 |             .query_async::<_, ()>(&mut self.conn)
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:149:2
[INFO] [stdout]     |
[INFO] [stdout] 149 | /     pub async fn update_book_field<T:Serialize>(
[INFO] [stdout] 150 | |         &mut self,
[INFO] [stdout] 151 | |         id:&i32,
[INFO] [stdout] 152 | |         field:&str,
[INFO] [stdout] 153 | |         value:T,
[INFO] [stdout] 154 | |     )->Result<(),anyhow::Error>{
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |             .query_async(&mut self.conn).await?;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 161 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:202:2
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub async fn set_book_source(&mut self, name:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |             .query_async(&mut self.conn).await?;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 207 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:211:2
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub async fn set_book_uuid(&mut self, uuid:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |             .query_async(&mut self.conn).await?;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 216 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:251:2
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub async fn push_to_queue(&mut self, name:&str)->Result<(),anyhow::Error>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |             .query_async(&mut self.conn).await?;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 256 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Commands`
[INFO] [stdout]  --> src/processor/processor.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use redis::{cmd, AsyncCommands, Commands};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `redis::Commands`
[INFO] [stdout]  --> src/watcher/watcher.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use redis::Commands;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Commands`
[INFO] [stdout]  --> src/model/book.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use redis::{cmd, Commands};
[INFO] [stdout]   |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/processor/processor.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let mut fp = FileProcessor {
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PREFIX_BOOK_UUID` is never used
[INFO] [stdout]   --> src/model/book.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const PREFIX_BOOK_UUID:&str ="book:uuid:";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_redis_json` is never used
[INFO] [stdout]   --> src/model/book.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl Book{
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 95 |
[INFO] [stdout] 96 |     pub fn to_redis_json(&self)->Result<String,anyhow::Error>{
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/model/book.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl BookRedisClient{
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn set_book(&mut self, book:&Book)->Result<(),anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn update_book_field<T:Serialize>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub async fn get_book_id_by_uuid(&mut self , uuid:&str)->Result<Option<i32>,anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub async fn set_book_source(&mut self, name:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub async fn set_book_uuid(&mut self, uuid:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub async fn get_book_uuid(&mut self, uuid:&str)->Result<Option<i32>,anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub async fn get_book_by_uuid(&mut self, uuid:&str)->Result<Option<Book>,anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub async fn push_to_queue(&mut self, name:&str)->Result<(),anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 53s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.23.3, xreader_cut_file v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling xreader_cut_file v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/main.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::{PathBuf,Path};
[INFO] [stdout]   |                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use log::{debug,error,info,warn};
[INFO] [stdout]    |           ^^^^^            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RedisResult`
[INFO] [stdout]   --> src/main.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | use redis::{cmd as redisCmd, RedisResult};
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]  --> src/config/config.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::Deserialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stdout]  --> src/config/config.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use log::{debug,error,info,warn};
[INFO] [stdout]   |           ^^^^^ ^^^^^ ^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/processor/processor.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | use log::{debug,error,info,warn};
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Read` and `self`
[INFO] [stdout]  --> src/processor/processor.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self,BufRead , BufReader, Read};
[INFO] [stdout]   |               ^^^^                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CHANNEL_PSB_BOOK_TASK`
[INFO] [stdout]   --> src/processor/processor.rs:11:65
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::model::book::{PREFIX_QUEUE_BOOK_CDN, BookRedisClient,CHANNEL_PSB_BOOK_TASK};
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EventKind`
[INFO] [stdout]  --> src/watcher/watcher.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use notify::{Watcher, RecursiveMode, Event,EventKind,Result as NotifyResult};
[INFO] [stdout]   |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::model::book`
[INFO] [stdout]  --> src/watcher/watcher.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::model::book;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Book` and `PREFIX_QUEUE_BOOK_CDN`
[INFO] [stdout]   --> src/watcher/watcher.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::model::book::{Book,BookRedisClient,PREFIX_QUEUE_BOOK_CDN,CHANNEL_PSB_BOOK_TASK};
[INFO] [stdout]    |                          ^^^^                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]   --> src/watcher/watcher.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::time::{sleep, Duration};
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ok as ResultOk`
[INFO] [stdout]   --> src/watcher/watcher.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::result::Result::{Ok as ResultOk};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/model/book.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::Error`
[INFO] [stdout]  --> src/model/book.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{de::Error, Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::error`
[INFO] [stdout]  --> src/model/book.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/model/book.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::Book`
[INFO] [stdout]  --> src/model/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use book::Book;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::BookRedisClient`
[INFO] [stdout]  --> src/model/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use book::BookRedisClient;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::PREFIX_BOOK`
[INFO] [stdout]  --> src/model/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use book::PREFIX_BOOK;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::PREFIX_BOOK_SOURCE`
[INFO] [stdout]  --> src/model/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use book::PREFIX_BOOK_SOURCE;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::PREFIX_QUEUE_BOOK_CDN`
[INFO] [stdout]  --> src/model/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use book::PREFIX_QUEUE_BOOK_CDN;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::PREFIX_BOOK_UUID`
[INFO] [stdout]  --> src/model/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use book::PREFIX_BOOK_UUID;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `book::CHANNEL_PSB_BOOK_TASK`
[INFO] [stdout]  --> src/model/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use book::CHANNEL_PSB_BOOK_TASK;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]   --> src/processor/processor.rs:38:2
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub async fn store_filenames_to_redis(&self) -> Result<()> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]   --> src/processor/processor.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 | ...                   conn.sadd(PREFIX_QUEUE_BOOK_CDN, filename_str).await?;
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/processor/processor.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |     #[warn(dependency_on_unit_never_type_fallback)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]    |
[INFO] [stdout] 53 |                                             conn.sadd::<_, _, ()>(PREFIX_QUEUE_BOOK_CDN, filename_str).await?;
[INFO] [stdout]    |                                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/processor/processor.rs:114:2
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub async fn process_all_files(&self)->Result<()>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/processor/processor.rs:135:62
[INFO] [stdout]     |
[INFO] [stdout] 135 | ...                   cmd("SRM").arg(PREFIX_QUEUE_BOOK_CDN).arg(&file).query_async(&mut conn).await?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 135 |                                                 cmd("SRM").arg(PREFIX_QUEUE_BOOK_CDN).arg(&file).query_async::<_, ()>(&mut conn).await?;
[INFO] [stdout]     |                                                                                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/processor/processor.rs:148:2
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub async fn process_with_retry(&self,input_path: &Path, stop:i32 , max_retries:u32)->Result<()>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/processor/processor.rs:154:52
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...   self.redis_client.get_connection().await?.srem("files_to_process", input_path.file_name().unwrap().to_str().unwrap()).await?;   
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 154 |                                     self.redis_client.get_connection().await?.srem::<_, _, ()>("files_to_process", input_path.file_name().unwrap().to_str().unwrap()).await?;   
[INFO] [stdout]     |                                                                                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:116:2
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub async fn set_book(&mut self, book:&Book)->Result<(),anyhow::Error>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |             .query_async(&mut self.conn)
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 123 |             .query_async::<_, ()>(&mut self.conn)
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:149:2
[INFO] [stdout]     |
[INFO] [stdout] 149 | /     pub async fn update_book_field<T:Serialize>(
[INFO] [stdout] 150 | |         &mut self,
[INFO] [stdout] 151 | |         id:&i32,
[INFO] [stdout] 152 | |         field:&str,
[INFO] [stdout] 153 | |         value:T,
[INFO] [stdout] 154 | |     )->Result<(),anyhow::Error>{
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 161 |             .query_async(&mut self.conn).await?;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 161 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:202:2
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub async fn set_book_source(&mut self, name:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |             .query_async(&mut self.conn).await?;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 207 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:211:2
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub async fn set_book_uuid(&mut self, uuid:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:216:5
[INFO] [stdout]     |
[INFO] [stdout] 216 |             .query_async(&mut self.conn).await?;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 216 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this function depends on never type fallback being `()`
[INFO] [stdout]    --> src/model/book.rs:251:2
[INFO] [stdout]     |
[INFO] [stdout] 251 |     pub async fn push_to_queue(&mut self, name:&str)->Result<(),anyhow::Error>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: specify the types explicitly
[INFO] [stdout] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stdout]    --> src/model/book.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |             .query_async(&mut self.conn).await?;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stdout] help: use `()` annotations to avoid fallback changes
[INFO] [stdout]     |
[INFO] [stdout] 256 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stdout]     |                         +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Commands`
[INFO] [stdout]  --> src/processor/processor.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use redis::{cmd, AsyncCommands, Commands};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `redis::Commands`
[INFO] [stdout]  --> src/watcher/watcher.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use redis::Commands;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Commands`
[INFO] [stdout]  --> src/model/book.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | use redis::{cmd, Commands};
[INFO] [stdout]   |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/processor/processor.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let mut fp = FileProcessor {
[INFO] [stdout]    |                 ----^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PREFIX_BOOK_UUID` is never used
[INFO] [stdout]   --> src/model/book.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const PREFIX_BOOK_UUID:&str ="book:uuid:";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_redis_json` is never used
[INFO] [stdout]   --> src/model/book.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | impl Book{
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 95 |
[INFO] [stdout] 96 |     pub fn to_redis_json(&self)->Result<String,anyhow::Error>{
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/model/book.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl BookRedisClient{
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn set_book(&mut self, book:&Book)->Result<(),anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub async fn update_book_field<T:Serialize>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub async fn get_book_id_by_uuid(&mut self , uuid:&str)->Result<Option<i32>,anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub async fn set_book_source(&mut self, name:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub async fn set_book_uuid(&mut self, uuid:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub async fn get_book_uuid(&mut self, uuid:&str)->Result<Option<i32>,anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub async fn get_book_by_uuid(&mut self, uuid:&str)->Result<Option<Book>,anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub async fn push_to_queue(&mut self, name:&str)->Result<(),anyhow::Error>{
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1.10s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.23.3, xreader_cut_file v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `PathBuf`
[INFO] [stderr]  --> src/main.rs:7:17
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::path::{PathBuf,Path};
[INFO] [stderr]   |                 ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug` and `warn`
[INFO] [stderr]   --> src/main.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | use log::{debug,error,info,warn};
[INFO] [stderr]    |           ^^^^^            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RedisResult`
[INFO] [stderr]   --> src/main.rs:11:30
[INFO] [stderr]    |
[INFO] [stderr] 11 | use redis::{cmd as redisCmd, RedisResult};
[INFO] [stderr]    |                              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::Deserialize`
[INFO] [stderr]  --> src/config/config.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use serde::Deserialize;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug`, `error`, `info`, and `warn`
[INFO] [stderr]  --> src/config/config.rs:4:11
[INFO] [stderr]   |
[INFO] [stderr] 4 | use log::{debug,error,info,warn};
[INFO] [stderr]   |           ^^^^^ ^^^^^ ^^^^ ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> src/processor/processor.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | use log::{debug,error,info,warn};
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Read` and `self`
[INFO] [stderr]  --> src/processor/processor.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{self,BufRead , BufReader, Read};
[INFO] [stderr]   |               ^^^^                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CHANNEL_PSB_BOOK_TASK`
[INFO] [stderr]   --> src/processor/processor.rs:11:65
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::model::book::{PREFIX_QUEUE_BOOK_CDN, BookRedisClient,CHANNEL_PSB_BOOK_TASK};
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EventKind`
[INFO] [stderr]  --> src/watcher/watcher.rs:6:44
[INFO] [stderr]   |
[INFO] [stderr] 6 | use notify::{Watcher, RecursiveMode, Event,EventKind,Result as NotifyResult};
[INFO] [stderr]   |                                            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::model::book`
[INFO] [stderr]  --> src/watcher/watcher.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::model::book;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Book` and `PREFIX_QUEUE_BOOK_CDN`
[INFO] [stderr]   --> src/watcher/watcher.rs:12:26
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::model::book::{Book,BookRedisClient,PREFIX_QUEUE_BOOK_CDN,CHANNEL_PSB_BOOK_TASK};
[INFO] [stderr]    |                          ^^^^                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sleep`
[INFO] [stderr]   --> src/watcher/watcher.rs:14:19
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tokio::time::{sleep, Duration};
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ok as ResultOk`
[INFO] [stderr]   --> src/watcher/watcher.rs:16:27
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::result::Result::{Ok as ResultOk};
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/model/book.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `de::Error`
[INFO] [stderr]  --> src/model/book.rs:3:13
[INFO] [stderr]   |
[INFO] [stderr] 3 | use serde::{de::Error, Deserialize, Serialize};
[INFO] [stderr]   |             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::error`
[INFO] [stderr]  --> src/model/book.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde_json::error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `uuid::Uuid`
[INFO] [stderr]  --> src/model/book.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use uuid::Uuid;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `book::Book`
[INFO] [stderr]  --> src/model/mod.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub use book::Book;
[INFO] [stderr]   |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `book::BookRedisClient`
[INFO] [stderr]  --> src/model/mod.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub use book::BookRedisClient;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `book::PREFIX_BOOK`
[INFO] [stderr]  --> src/model/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use book::PREFIX_BOOK;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `book::PREFIX_BOOK_SOURCE`
[INFO] [stderr]  --> src/model/mod.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use book::PREFIX_BOOK_SOURCE;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `book::PREFIX_QUEUE_BOOK_CDN`
[INFO] [stderr]  --> src/model/mod.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use book::PREFIX_QUEUE_BOOK_CDN;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `book::PREFIX_BOOK_UUID`
[INFO] [stderr]  --> src/model/mod.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub use book::PREFIX_BOOK_UUID;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `book::CHANNEL_PSB_BOOK_TASK`
[INFO] [stderr]  --> src/model/mod.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use book::CHANNEL_PSB_BOOK_TASK;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]   --> src/processor/processor.rs:38:2
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub async fn store_filenames_to_redis(&self) -> Result<()> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]   --> src/processor/processor.rs:53:17
[INFO] [stderr]    |
[INFO] [stderr] 53 | ...                   conn.sadd(PREFIX_QUEUE_BOOK_CDN, filename_str).await?;
[INFO] [stderr]    |                            ^^^^
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/processor/processor.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |     #[warn(dependency_on_unit_never_type_fallback)]
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]    |
[INFO] [stderr] 53 |                                             conn.sadd::<_, _, ()>(PREFIX_QUEUE_BOOK_CDN, filename_str).await?;
[INFO] [stderr]    |                                                      ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/processor/processor.rs:114:2
[INFO] [stderr]     |
[INFO] [stderr] 114 |     pub async fn process_all_files(&self)->Result<()>{
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]    --> src/processor/processor.rs:135:62
[INFO] [stderr]     |
[INFO] [stderr] 135 | ...                   cmd("SRM").arg(PREFIX_QUEUE_BOOK_CDN).arg(&file).query_async(&mut conn).await?;
[INFO] [stderr]     |                                                                        ^^^^^^^^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr]     = note: `#[warn(dependency_on_unit_never_type_fallback)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 135 |                                                 cmd("SRM").arg(PREFIX_QUEUE_BOOK_CDN).arg(&file).query_async::<_, ()>(&mut conn).await?;
[INFO] [stderr]     |                                                                                                             +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/processor/processor.rs:148:2
[INFO] [stderr]     |
[INFO] [stderr] 148 |     pub async fn process_with_retry(&self,input_path: &Path, stop:i32 , max_retries:u32)->Result<()>{
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]    --> src/processor/processor.rs:154:52
[INFO] [stderr]     |
[INFO] [stderr] 154 | ...   self.redis_client.get_connection().await?.srem("files_to_process", input_path.file_name().unwrap().to_str().unwrap()).await?;   
[INFO] [stderr]     |                                                 ^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 154 |                                     self.redis_client.get_connection().await?.srem::<_, _, ()>("files_to_process", input_path.file_name().unwrap().to_str().unwrap()).await?;   
[INFO] [stderr]     |                                                                                   ++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/model/book.rs:116:2
[INFO] [stderr]     |
[INFO] [stderr] 116 |     pub async fn set_book(&mut self, book:&Book)->Result<(),anyhow::Error>{
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]    --> src/model/book.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 123 |             .query_async(&mut self.conn)
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 123 |             .query_async::<_, ()>(&mut self.conn)
[INFO] [stderr]     |                         +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/model/book.rs:149:2
[INFO] [stderr]     |
[INFO] [stderr] 149 | /     pub async fn update_book_field<T:Serialize>(
[INFO] [stderr] 150 | |         &mut self,
[INFO] [stderr] 151 | |         id:&i32,
[INFO] [stderr] 152 | |         field:&str,
[INFO] [stderr] 153 | |         value:T,
[INFO] [stderr] 154 | |     )->Result<(),anyhow::Error>{
[INFO] [stderr]     | |_______________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]    --> src/model/book.rs:161:5
[INFO] [stderr]     |
[INFO] [stderr] 161 |             .query_async(&mut self.conn).await?;
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 161 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stderr]     |                         +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/model/book.rs:202:2
[INFO] [stderr]     |
[INFO] [stderr] 202 |     pub async fn set_book_source(&mut self, name:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]    --> src/model/book.rs:207:5
[INFO] [stderr]     |
[INFO] [stderr] 207 |             .query_async(&mut self.conn).await?;
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 207 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stderr]     |                         +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/model/book.rs:211:2
[INFO] [stderr]     |
[INFO] [stderr] 211 |     pub async fn set_book_uuid(&mut self, uuid:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]    --> src/model/book.rs:216:5
[INFO] [stderr]     |
[INFO] [stderr] 216 |             .query_async(&mut self.conn).await?;
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 216 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stderr]     |                         +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: this function depends on never type fallback being `()`
[INFO] [stderr]    --> src/model/book.rs:251:2
[INFO] [stderr]     |
[INFO] [stderr] 251 |     pub async fn push_to_queue(&mut self, name:&str)->Result<(),anyhow::Error>{
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: specify the types explicitly
[INFO] [stderr] note: in edition 2024, the requirement `!: FromRedisValue` will fail
[INFO] [stderr]    --> src/model/book.rs:256:5
[INFO] [stderr]     |
[INFO] [stderr] 256 |             .query_async(&mut self.conn).await?;
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in Rust 2024 and in a future release in all editions!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/never-type-fallback.html>
[INFO] [stderr] help: use `()` annotations to avoid fallback changes
[INFO] [stderr]     |
[INFO] [stderr] 256 |             .query_async::<_, ()>(&mut self.conn).await?;
[INFO] [stderr]     |                         +++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Commands`
[INFO] [stderr]  --> src/processor/processor.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 | use redis::{cmd, AsyncCommands, Commands};
[INFO] [stderr]   |                                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `redis::Commands`
[INFO] [stderr]  --> src/watcher/watcher.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use redis::Commands;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Commands`
[INFO] [stderr]  --> src/model/book.rs:7:18
[INFO] [stderr]   |
[INFO] [stderr] 7 | use redis::{cmd, Commands};
[INFO] [stderr]   |                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/processor/processor.rs:27:8
[INFO] [stderr]    |
[INFO] [stderr] 27 |             let mut fp = FileProcessor {
[INFO] [stderr]    |                 ----^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PREFIX_BOOK_UUID` is never used
[INFO] [stderr]   --> src/model/book.rs:89:11
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub const PREFIX_BOOK_UUID:&str ="book:uuid:";
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_redis_json` is never used
[INFO] [stderr]   --> src/model/book.rs:96:9
[INFO] [stderr]    |
[INFO] [stderr] 94 | impl Book{
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] 95 |
[INFO] [stderr] 96 |     pub fn to_redis_json(&self)->Result<String,anyhow::Error>{
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/model/book.rs:116:15
[INFO] [stderr]     |
[INFO] [stderr] 109 | impl BookRedisClient{
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub async fn set_book(&mut self, book:&Book)->Result<(),anyhow::Error>{
[INFO] [stderr]     |                  ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 149 |     pub async fn update_book_field<T:Serialize>(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 165 |     pub async fn get_book_id_by_uuid(&mut self , uuid:&str)->Result<Option<i32>,anyhow::Error>{
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 202 |     pub async fn set_book_source(&mut self, name:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 211 |     pub async fn set_book_uuid(&mut self, uuid:&str,id:&i32)->Result<(),anyhow::Error>{
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 220 |     pub async fn get_book_uuid(&mut self, uuid:&str)->Result<Option<i32>,anyhow::Error>{
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 226 |     pub async fn get_book_by_uuid(&mut self, uuid:&str)->Result<Option<Book>,anyhow::Error>{
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 251 |     pub async fn push_to_queue(&mut self, name:&str)->Result<(),anyhow::Error>{
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `xreader_cut_file` (bin "xreader_cut_file" test) generated 39 warnings (run `cargo fix --bin "xreader_cut_file" -p xreader_cut_file --tests` to apply 33 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.22s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.23.3, xreader_cut_file v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/xreader_cut_file-8f83884906551c7c)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a", kill_on_drop: false }`
[INFO] [stdout] dd07338e1a61bb6f301b4aabd5c0ccb94a33608f4f1e3412249990498b9bc14a
