[INFO] cloning repository https://github.com/t-xinlin/ilearning-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/t-xinlin/ilearning-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ft-xinlin%2Filearning-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ft-xinlin%2Filearning-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fdeb3ce9b61e00006258af9526af9ebfdd7f2ed0
[INFO] checking t-xinlin/ilearning-rust against beta-2021-10-15 for beta-1.56-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ft-xinlin%2Filearning-rust" "/workspace/builds/worker-102/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-102/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/t-xinlin/ilearning-rust on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/t-xinlin/ilearning-rust
[INFO] finished tweaking git repo https://github.com/t-xinlin/ilearning-rust
[INFO] tweaked toml for git repo https://github.com/t-xinlin/ilearning-rust written to /workspace/builds/worker-102/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded locale v0.2.2
[INFO] [stderr]   Downloaded actix-service v2.0.1
[INFO] [stderr]   Downloaded urlencoding v1.3.3
[INFO] [stderr]   Downloaded actix-web-codegen v0.5.0-beta.4
[INFO] [stderr]   Downloaded utf8-width v0.1.5
[INFO] [stderr]   Downloaded ctor v0.1.21
[INFO] [stderr]   Downloaded num-bigint v0.3.3
[INFO] [stderr]   Downloaded actix-rt v2.3.0
[INFO] [stderr]   Downloaded cron v0.6.1
[INFO] [stderr]   Downloaded actix-macros v0.2.2
[INFO] [stderr]   Downloaded zstd v0.7.0+zstd.1.4.9
[INFO] [stderr]   Downloaded simple_asn1 v0.5.4
[INFO] [stderr]   Downloaded zstd-safe v3.1.0+zstd.1.4.9
[INFO] [stderr]   Downloaded html-escape v0.2.9
[INFO] [stderr]   Downloaded cron v0.9.0
[INFO] [stderr]   Downloaded url-escape v0.1.0
[INFO] [stderr]   Downloaded cron v0.8.0
[INFO] [stderr]   Downloaded actix-web v4.0.0-beta.9
[INFO] [stderr]   Downloaded language-tags v0.3.2
[INFO] [stderr]   Downloaded paw v1.0.0
[INFO] [stderr]   Downloaded paw-raw v1.0.0
[INFO] [stderr]   Downloaded rsa v0.4.1
[INFO] [stderr]   Downloaded pad v0.1.6
[INFO] [stderr]   Downloaded paw-attributes v1.0.2
[INFO] [stderr]   Downloaded firestorm v0.4.6
[INFO] [stderr]   Downloaded actix-router v0.5.0-beta.2
[INFO] [stderr]   Downloaded actix-http v3.0.0-beta.10
[INFO] [stderr]   Downloaded actix-server v2.0.0-beta.6
[INFO] [stderr]   Downloaded crypto v0.2.0
[INFO] [stderr]   Downloaded iso8601 v0.1.1
[INFO] [stderr]   Downloaded url_encoded_data v0.6.1
[INFO] [stderr]   Downloaded datetime v0.4.7
[INFO] [stderr]   Downloaded zstd-sys v1.5.0+zstd.1.4.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8a750fa657f68fb528305773c5e9052cfefee9dc2b0e43947ddf728775d90be9
[INFO] running `Command { std: "docker" "start" "-a" "8a750fa657f68fb528305773c5e9052cfefee9dc2b0e43947ddf728775d90be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8a750fa657f68fb528305773c5e9052cfefee9dc2b0e43947ddf728775d90be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a750fa657f68fb528305773c5e9052cfefee9dc2b0e43947ddf728775d90be9", kill_on_drop: false }`
[INFO] [stdout] 8a750fa657f68fb528305773c5e9052cfefee9dc2b0e43947ddf728775d90be9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-102/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a85d73627e237145fcc117214363e241c086f7e4b5f1a8fd20b8c4c83f194687
[INFO] running `Command { std: "docker" "start" "-a" "a85d73627e237145fcc117214363e241c086f7e4b5f1a8fd20b8c4c83f194687", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.104
[INFO] [stderr]    Compiling proc-macro2 v1.0.30
[INFO] [stderr]    Compiling syn v1.0.80
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling futures-core v0.3.17
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]     Checking slab v0.4.5
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]     Checking bytes v1.1.0
[INFO] [stderr]     Checking futures-io v0.3.17
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling futures-task v0.3.17
[INFO] [stderr]    Compiling futures-channel v0.3.17
[INFO] [stderr]    Compiling pkg-config v0.3.20
[INFO] [stderr]     Checking futures-sink v0.3.17
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]    Compiling signal-hook v0.3.10
[INFO] [stderr]     Checking unicode-bidi v0.3.7
[INFO] [stderr]    Compiling cache-padded v1.1.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.7
[INFO] [stderr]    Compiling event-listener v2.5.1
[INFO] [stderr]    Compiling parking v2.0.0
[INFO] [stderr]    Compiling fastrand v1.5.0
[INFO] [stderr]    Compiling waker-fn v1.1.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.14
[INFO] [stderr]    Compiling itoa v0.4.8
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling serde_json v1.0.68
[INFO] [stderr]    Compiling anyhow v1.0.44
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling async-task v4.0.3
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling atomic-waker v1.0.0
[INFO] [stderr]     Checking local-waker v0.1.1
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling whoami v1.1.5
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling zstd-safe v3.1.0+zstd.1.4.9
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.2
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]    Compiling encoding_rs v0.8.29
[INFO] [stderr]    Compiling httparse v1.5.1
[INFO] [stderr]    Compiling openssl-probe v0.1.4
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling base64 v0.13.0
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking arc-swap v0.4.8
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling firestorm v0.4.6
[INFO] [stderr]    Compiling minimal-lexical v0.1.4
[INFO] [stderr]     Checking futures-sink-preview v0.3.0-alpha.19
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]     Checking language-tags v0.3.2
[INFO] [stderr]    Compiling crc-catalog v1.1.1
[INFO] [stderr]     Checking gimli v0.25.0
[INFO] [stderr]     Checking futures-core-preview v0.3.0-alpha.19
[INFO] [stderr]     Checking futures-io-preview v0.3.0-alpha.19
[INFO] [stderr]     Checking utf8-width v0.1.5
[INFO] [stderr]     Checking pin-project-lite v0.1.12
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]     Checking urlencoding v1.3.3
[INFO] [stderr]     Checking paw-raw v1.0.0
[INFO] [stderr]     Checking nom v1.2.4
[INFO] [stderr]     Checking data-encoding v2.3.2
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]     Checking crypto v0.2.0
[INFO] [stderr]     Checking map-rs v0.1.0 (/opt/rustwide/workdir/map-rs)
[INFO] [stderr]     Checking list v0.1.0 (/opt/rustwide/workdir/list)
[INFO] [stderr]     Checking option-result v0.1.0 (/opt/rustwide/workdir/option-result)
[INFO] [stderr]     Checking path-rs v0.1.0 (/opt/rustwide/workdir/path-rs)
[INFO] [stderr]     Checking macro-rules v0.1.0 (/opt/rustwide/workdir/macro-rules)
[INFO] [stderr]     Checking ilearn-orm v0.1.0 (/opt/rustwide/workdir/orm)
[INFO] [stderr]     Checking mutex-rwLock v0.1.0 (/opt/rustwide/workdir/mutex-rwLock)
[INFO] [stderr]     Checking borrowing-rs v0.1.0 (/opt/rustwide/workdir/borrowing-rs)
[INFO] [stderr]     Checking trait-rs v0.1.0 (/opt/rustwide/workdir/trait-rs)
[INFO] [stderr]     Checking error-rs v0.1.0 (/opt/rustwide/workdir/error-rs)
[INFO] [stderr]     Checking ilearning-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling value-bag v1.0.0-alpha.7
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stdout] error[E0428]: the name `test_v1` is defined multiple times
[INFO] [stdout]    --> trait-rs/src/main.rs:290:5
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn test_v1() {
[INFO] [stdout]     |     ------------ previous definition of the value `test_v1` here
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn test_v1() {
[INFO] [stdout]     |     ^^^^^^^^^^^^ `test_v1` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `test_v1` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0428]: the name `test_v1` is defined multiple times
[INFO] [stdout]    --> trait-rs/src/main.rs:302:5
[INFO] [stdout]     |
[INFO] [stdout] 279 |     fn test_v1() {
[INFO] [stdout]     |     ------------ previous definition of the value `test_v1` here
[INFO] [stdout] ...
[INFO] [stdout] 302 |     fn test_v1() {
[INFO] [stdout]     |     ^^^^^^^^^^^^ `test_v1` redefined here
[INFO] [stdout]     |
[INFO] [stdout]     = note: `test_v1` must be defined only once in the value namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `trait-rs` due to 3 previous errors
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0428`.
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `test`
[INFO] [stdout]   |
[INFO] [stdout]   = note: consider adding a `main` function to `examples/test.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0601`.
[INFO] [stdout] 
[INFO] [stdout] warning: variable `confPath` should have a snake case name
[INFO] [stdout]  --> path-rs/src/main.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let confPath = Path::new("conf").join(Path::new("log4rs.yaml"));
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `conf_path`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `confPath` should have a snake case name
[INFO] [stdout]  --> path-rs/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let confPath = cwd.to_str().unwrap();
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `conf_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `sync_map`
[INFO] [stdout]  --> orm/src/sync_map.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod sync_map;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `sync_map`, create file "orm/src/sync_map/sync_map.rs" or "orm/src/sync_map/sync_map/mod.rs"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]  --> orm/src/decode_json.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn decode_json<T>(&mut self) -> BoxFuture<Result<T, crate::Error>>
[INFO] [stdout]   |                   ^^^^^^^^^ not semantically valid as function parameter
[INFO] [stdout]   |
[INFO] [stdout]   = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio`
[INFO] [stdout]  --> orm/src/sync_map.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^ use of undeclared crate or module `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `json` in this scope
[INFO] [stdout]   --> orm/src/main.rs:19:56
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let data: serde_json::Value = rb.py_fetch("", py, &json!({   "delete_flag": 1 })).await.unwrap();
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> orm/src/decode_json.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |                 let v:serde_json::Value = row.json_decode_impl(key_str)?;
[INFO] [stdout]    |                       ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> orm/src/decode_json.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |             arr.push(serde_json::Value::Object(m));
[INFO] [stdout]    |                      ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> orm/src/main.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let data: serde_json::Value = rb.py_fetch("", py, &json!({   "delete_flag": 1 })).await.unwrap();
[INFO] [stdout]    |               ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rbatis_core`
[INFO] [stdout]   --> orm/src/main.rs:29:59
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub async fn begin(&self, tx_id: &str) -> Result<u64, rbatis_core::Error> {
[INFO] [stdout]    |                                                           ^^^^^^^^^^^ use of undeclared crate or module `rbatis_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `DeserializeOwned` in this scope
[INFO] [stdout]  --> orm/src/decode_json.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     where T: DeserializeOwned {
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BoxFuture` in this scope
[INFO] [stdout]  --> orm/src/decode_json.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn decode_json<T>(&mut self) -> BoxFuture<Result<T, crate::Error>>
[INFO] [stdout]   |                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Error` in the crate root
[INFO] [stdout]  --> orm/src/decode_json.rs:1:60
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn decode_json<T>(&mut self) -> BoxFuture<Result<T, crate::Error>>
[INFO] [stdout]   |                                                            ^^^^^ not found in the crate root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::fmt::Error;
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Error;
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Error;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `MySqlRow` in this scope
[INFO] [stdout]  --> orm/src/decode_json.rs:5:60
[INFO] [stdout]   |
[INFO] [stdout] 5 |         while let Some(row) = self.next().await? as Option<MySqlRow<'_>> {
[INFO] [stdout]   |                                                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]  --> orm/src/decode_json.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 |             let mut m = serde_json::Map::new();
[INFO] [stdout]   |                                     ^^^ not found in `serde_json`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::iter::Map;
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter::Map;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `json_decode` in this scope
[INFO] [stdout]   --> orm/src/decode_json.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let r = json_decode(arr)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Mutex` in this scope
[INFO] [stdout]  --> orm/src/sync_map.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub cell: Mutex<RefCell<HashMap<String, T>>>
[INFO] [stdout]   |               ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `RefCell` in this scope
[INFO] [stdout]  --> orm/src/sync_map.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub cell: Mutex<RefCell<HashMap<String, T>>>
[INFO] [stdout]   |                     ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cell::RefCell;
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cell::RefCell;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HashMap` in this scope
[INFO] [stdout]  --> orm/src/sync_map.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub cell: Mutex<RefCell<HashMap<String, T>>>
[INFO] [stdout]   |                             ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mutex`
[INFO] [stdout]   --> orm/src/sync_map.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 |             cell: Mutex::new(RefCell::new(HashMap::new()))
[INFO] [stdout]    |                   ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 3  | use std::sync::Mutex;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RefCell`
[INFO] [stdout]   --> orm/src/sync_map.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |             cell: Mutex::new(RefCell::new(HashMap::new()))
[INFO] [stdout]    |                              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 3  | use core::cell::RefCell;
[INFO] [stdout]    |
[INFO] [stdout] 3  | use std::cell::RefCell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]   --> orm/src/sync_map.rs:12:43
[INFO] [stdout]    |
[INFO] [stdout] 12 |             cell: Mutex::new(RefCell::new(HashMap::new()))
[INFO] [stdout]    |                                           ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 3  | use std::collections::HashMap;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `MYSQL_URL` in this scope
[INFO] [stdout]  --> orm/src/main.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let rb = Rbatis::new(MYSQL_URL).await.unwrap();
[INFO] [stdout]   |                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `SyncMap` in this scope
[INFO] [stdout]   --> orm/src/main.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rbatis<'r> { context_tx: SyncMap<Transaction<PoolConnection<MySqlConnection>>> }
[INFO] [stdout]    |                                     ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use crate::sync_map::SyncMap;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Transaction` in this scope
[INFO] [stdout]   --> orm/src/main.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rbatis<'r> { context_tx: SyncMap<Transaction<PoolConnection<MySqlConnection>>> }
[INFO] [stdout]    |                                             ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PoolConnection` in this scope
[INFO] [stdout]   --> orm/src/main.rs:23:57
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rbatis<'r> { context_tx: SyncMap<Transaction<PoolConnection<MySqlConnection>>> }
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `MySqlConnection` in this scope
[INFO] [stdout]   --> orm/src/main.rs:23:72
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rbatis<'r> { context_tx: SyncMap<Transaction<PoolConnection<MySqlConnection>>> }
[INFO] [stdout]    |                     -                                                  ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: you might be missing a type parameter: `, MySqlConnection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rbatis_core`
[INFO] [stdout]   --> orm/src/main.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 |         if tx_id.is_empty() { return Err(rbatis_core::Error::from("[rbatis] tx_id can not be empty")); }
[INFO] [stdout]    |                                                       ^^^^^ not found in `rbatis_core`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use core::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> orm/src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn main() {
[INFO] [stdout]   |    ---- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 7 |     let rb = Rbatis::new(MYSQL_URL).await.unwrap();
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> orm/src/main.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 4  | fn main() {
[INFO] [stdout]    |    ---- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 19 |     let data: serde_json::Value = rb.py_fetch("", py, &json!({   "delete_flag": 1 })).await.unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here
[INFO] [stdout]   --> orm/src/main.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Rbatis {
[INFO] [stdout]    |      ^^^^^^- help: indicate the anonymous lifetime: `<'_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: assuming a `'static` lifetime...
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> mutex-rwLock/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 29 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0425, E0433, E0583, E0728.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `option::Food`
[INFO] [stdout]  --> option-result/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use option::Food;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> option-result/src/result.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     return;
[INFO] [stdout]     |     ------ any code following this expression is unreachable
[INFO] [stdout] 103 |     // 这种情形下仍然会给出正确的答案。
[INFO] [stdout] 104 |     let twenty = multiply("10", "2");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `N`
[INFO] [stdout]  --> mutex-rwLock/src/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | const N: usize = 10;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main1`
[INFO] [stdout]  --> mutex-rwLock/src/main.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn main1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mux`
[INFO] [stdout]   --> mutex-rwLock/src/main.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn mux() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `mutex_rwLock` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `mutex_rw_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_number_str`
[INFO] [stdout]   --> option-result/src/result.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn multiply_v5(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_number_str`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second_number_str`
[INFO] [stdout]   --> option-result/src/result.rs:92:40
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn multiply_v5(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_number_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cooked_apple`
[INFO] [stdout]    --> option-result/src/option.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let cooked_apple = cook(chop(peel(apple)));
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cooked_apple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `ParseIntResult`
[INFO] [stdout]  --> option-result/src/result.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type ParseIntResult<T> = Result<T, ParseIntError>;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply`
[INFO] [stdout]  --> option-result/src/result.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn multiply(first_number_str: &str, second_number_str: &str) -> Result<i32, ParseIntError> {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply_v2`
[INFO] [stdout]   --> option-result/src/result.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn multiply_v2(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `print`
[INFO] [stdout]   --> option-result/src/result.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn print(result: ParseIntResult<i32>) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `test_result`
[INFO] [stdout]   --> option-result/src/result.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn test_result() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply_v3`
[INFO] [stdout]   --> option-result/src/result.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn multiply_v3(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply_v4`
[INFO] [stdout]   --> option-result/src/result.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn multiply_v4(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply_v5`
[INFO] [stdout]   --> option-result/src/result.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn multiply_v5(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]    --> option-result/src/result.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn main() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `double_first_v1`
[INFO] [stdout]   --> option-result/src/option_result.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn double_first_v1(vec: Vec<&str>) -> Result<Option<i32>, ParseIntError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> option-result/src/result.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     multiply_v4("t", "2");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `eat_box_i32`
[INFO] [stdout]  --> borrowing-rs/src/main.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn eat_box_i32(boxed_i32: Box<i32>) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `borrow_i32`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn borrow_i32(borrowed_i32: &i32) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main1`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn main1() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `borrow_book`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn borrow_book(book: &Book) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `new_edition`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn new_edition(book: &mut Book) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main33`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn main33() {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main2`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn main2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Point`
[INFO] [stdout]    --> borrowing-rs/src/main.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | struct Point { x: i32, y: i32, z: i32 }
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main4`
[INFO] [stdout]    --> borrowing-rs/src/main.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn main4() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]    --> borrowing-rs/src/main.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 | struct Point2 { x: i32, y: i32 }
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]    --> borrowing-rs/src/main.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 | struct Point2 { x: i32, y: i32 }
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `sync_map`
[INFO] [stdout]  --> orm/src/sync_map.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod sync_map;
[INFO] [stdout]   | ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `sync_map`, create file "orm/src/sync_map/sync_map.rs" or "orm/src/sync_map/sync_map/mod.rs"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `confPath` should have a snake case name
[INFO] [stdout]  --> path-rs/src/main.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let confPath = Path::new("conf").join(Path::new("log4rs.yaml"));
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `conf_path`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `self` parameter is only allowed in associated functions
[INFO] [stdout]  --> orm/src/decode_json.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn decode_json<T>(&mut self) -> BoxFuture<Result<T, crate::Error>>
[INFO] [stdout]   |                   ^^^^^^^^^ not semantically valid as function parameter
[INFO] [stdout]   |
[INFO] [stdout]   = note: associated functions are those in `impl` or `trait` definitions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `tokio`
[INFO] [stdout]  --> orm/src/sync_map.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::sync::Mutex;
[INFO] [stdout]   |     ^^^^^ use of undeclared crate or module `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `json` in this scope
[INFO] [stdout]   --> orm/src/main.rs:19:56
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let data: serde_json::Value = rb.py_fetch("", py, &json!({   "delete_flag": 1 })).await.unwrap();
[INFO] [stdout]    |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> orm/src/decode_json.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 |                 let v:serde_json::Value = row.json_decode_impl(key_str)?;
[INFO] [stdout]    |                       ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `confPath` should have a snake case name
[INFO] [stdout]  --> path-rs/src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let confPath = cwd.to_str().unwrap();
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `conf_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> orm/src/decode_json.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 |             arr.push(serde_json::Value::Object(m));
[INFO] [stdout]    |                      ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]   --> orm/src/main.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let data: serde_json::Value = rb.py_fetch("", py, &json!({   "delete_flag": 1 })).await.unwrap();
[INFO] [stdout]    |               ^^^^^^^^^^ use of undeclared crate or module `serde_json`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rbatis_core`
[INFO] [stdout]   --> orm/src/main.rs:29:59
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub async fn begin(&self, tx_id: &str) -> Result<u64, rbatis_core::Error> {
[INFO] [stdout]    |                                                           ^^^^^^^^^^^ use of undeclared crate or module `rbatis_core`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `DeserializeOwned` in this scope
[INFO] [stdout]  --> orm/src/decode_json.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     where T: DeserializeOwned {
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `BoxFuture` in this scope
[INFO] [stdout]  --> orm/src/decode_json.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn decode_json<T>(&mut self) -> BoxFuture<Result<T, crate::Error>>
[INFO] [stdout]   |                                 ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Error` in the crate root
[INFO] [stdout]  --> orm/src/decode_json.rs:1:60
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn decode_json<T>(&mut self) -> BoxFuture<Result<T, crate::Error>>
[INFO] [stdout]   |                                                            ^^^^^ not found in the crate root
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::fmt::Error;
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Error;
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Error;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `MySqlRow` in this scope
[INFO] [stdout]  --> orm/src/decode_json.rs:5:60
[INFO] [stdout]   |
[INFO] [stdout] 5 |         while let Some(row) = self.next().await? as Option<MySqlRow<'_>> {
[INFO] [stdout]   |                                                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde_json`
[INFO] [stdout]  --> orm/src/decode_json.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 |             let mut m = serde_json::Map::new();
[INFO] [stdout]   |                                     ^^^ not found in `serde_json`
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::iter::Map;
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::iter::Map;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `json_decode` in this scope
[INFO] [stdout]   --> orm/src/decode_json.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let r = json_decode(arr)?;
[INFO] [stdout]    |                 ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Mutex` in this scope
[INFO] [stdout]  --> orm/src/sync_map.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub cell: Mutex<RefCell<HashMap<String, T>>>
[INFO] [stdout]   |               ^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Mutex;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `RefCell` in this scope
[INFO] [stdout]  --> orm/src/sync_map.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub cell: Mutex<RefCell<HashMap<String, T>>>
[INFO] [stdout]   |                     ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cell::RefCell;
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cell::RefCell;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `HashMap` in this scope
[INFO] [stdout]  --> orm/src/sync_map.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub cell: Mutex<RefCell<HashMap<String, T>>>
[INFO] [stdout]   |                             ^^^^^^^ not found in this scope
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mutex`
[INFO] [stdout]   --> orm/src/sync_map.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 |             cell: Mutex::new(RefCell::new(HashMap::new()))
[INFO] [stdout]    |                   ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 3  | use std::sync::Mutex;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RefCell`
[INFO] [stdout]   --> orm/src/sync_map.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |             cell: Mutex::new(RefCell::new(HashMap::new()))
[INFO] [stdout]    |                              ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 3  | use core::cell::RefCell;
[INFO] [stdout]    |
[INFO] [stdout] 3  | use std::cell::RefCell;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `HashMap`
[INFO] [stdout]   --> orm/src/sync_map.rs:12:43
[INFO] [stdout]    |
[INFO] [stdout] 12 |             cell: Mutex::new(RefCell::new(HashMap::new()))
[INFO] [stdout]    |                                           ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 3  | use std::collections::HashMap;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `MYSQL_URL` in this scope
[INFO] [stdout]  --> orm/src/main.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let rb = Rbatis::new(MYSQL_URL).await.unwrap();
[INFO] [stdout]   |                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `SyncMap` in this scope
[INFO] [stdout]   --> orm/src/main.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rbatis<'r> { context_tx: SyncMap<Transaction<PoolConnection<MySqlConnection>>> }
[INFO] [stdout]    |                                     ^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 1  | use crate::sync_map::SyncMap;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Transaction` in this scope
[INFO] [stdout]   --> orm/src/main.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rbatis<'r> { context_tx: SyncMap<Transaction<PoolConnection<MySqlConnection>>> }
[INFO] [stdout]    |                                             ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `PoolConnection` in this scope
[INFO] [stdout]   --> orm/src/main.rs:23:57
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rbatis<'r> { context_tx: SyncMap<Transaction<PoolConnection<MySqlConnection>>> }
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `MySqlConnection` in this scope
[INFO] [stdout]   --> orm/src/main.rs:23:72
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rbatis<'r> { context_tx: SyncMap<Transaction<PoolConnection<MySqlConnection>>> }
[INFO] [stdout]    |                     -                                                  ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: you might be missing a type parameter: `, MySqlConnection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `rbatis_core`
[INFO] [stdout]   --> orm/src/main.rs:30:55
[INFO] [stdout]    |
[INFO] [stdout] 30 |         if tx_id.is_empty() { return Err(rbatis_core::Error::from("[rbatis] tx_id can not be empty")); }
[INFO] [stdout]    |                                                       ^^^^^ not found in `rbatis_core`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 1  | use core::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::error::Error;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::fmt::Error;
[INFO] [stdout]    |
[INFO] [stdout] 1  | use std::io::Error;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `option::Food`
[INFO] [stdout]  --> option-result/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use option::Food;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> option-result/src/result.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     return;
[INFO] [stdout]     |     ------ any code following this expression is unreachable
[INFO] [stdout] 103 |     // 这种情形下仍然会给出正确的答案。
[INFO] [stdout] 104 |     let twenty = multiply("10", "2");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]  --> orm/src/main.rs:7:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn main() {
[INFO] [stdout]   |    ---- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 7 |     let rb = Rbatis::new(MYSQL_URL).await.unwrap();
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]   --> orm/src/main.rs:19:35
[INFO] [stdout]    |
[INFO] [stdout] 4  | fn main() {
[INFO] [stdout]    |    ---- this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 19 |     let data: serde_json::Value = rb.py_fetch("", py, &json!({   "delete_flag": 1 })).await.unwrap();
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here
[INFO] [stdout]   --> orm/src/main.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Rbatis {
[INFO] [stdout]    |      ^^^^^^- help: indicate the anonymous lifetime: `<'_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: assuming a `'static` lifetime...
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 29 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0425, E0433, E0583, E0728.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_number_str`
[INFO] [stdout]   --> option-result/src/result.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn multiply_v5(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_number_str`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `second_number_str`
[INFO] [stdout]   --> option-result/src/result.rs:92:40
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn multiply_v5(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_second_number_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cooked_apple`
[INFO] [stdout]    --> option-result/src/option.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let cooked_apple = cook(chop(peel(apple)));
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cooked_apple`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> mutex-rwLock/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias is never used: `ParseIntResult`
[INFO] [stdout]  --> option-result/src/result.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub type ParseIntResult<T> = Result<T, ParseIntError>;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply`
[INFO] [stdout]  --> option-result/src/result.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn multiply(first_number_str: &str, second_number_str: &str) -> Result<i32, ParseIntError> {
[INFO] [stdout]   |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply_v2`
[INFO] [stdout]   --> option-result/src/result.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn multiply_v2(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `print`
[INFO] [stdout]   --> option-result/src/result.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn print(result: ParseIntResult<i32>) {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `test_result`
[INFO] [stdout]   --> option-result/src/result.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn test_result() {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply_v3`
[INFO] [stdout]   --> option-result/src/result.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn multiply_v3(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply_v4`
[INFO] [stdout]   --> option-result/src/result.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn multiply_v4(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `multiply_v5`
[INFO] [stdout]   --> option-result/src/result.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn multiply_v5(first_number_str: &str, second_number_str: &str) -> ParseIntResult<i32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main`
[INFO] [stdout]    --> option-result/src/result.rs:100:4
[INFO] [stdout]     |
[INFO] [stdout] 100 | fn main() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `double_first_v1`
[INFO] [stdout]   --> option-result/src/option_result.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn double_first_v1(vec: Vec<&str>) -> Result<Option<i32>, ParseIntError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num`
[INFO] [stdout]   --> error-rs/src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::num;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> option-result/src/result.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     multiply_v4("t", "2");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> error-rs/src/main.rs:69:48
[INFO] [stdout]    |
[INFO] [stdout] 69 | type ResultBox<T> = std::result::Result<T, Box<error::Error>>;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> error-rs/src/main.rs:85:32
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num`
[INFO] [stdout]   --> error-rs/src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::num;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> map-rs/src/main.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     return;
[INFO] [stdout]    |     ------ any code following this expression is unreachable
[INFO] [stdout] 72 | 
[INFO] [stdout] 73 |     let it: Vec<_> = (0..20).map(|x| x + 1).collect();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> error-rs/src/main.rs:69:48
[INFO] [stdout]    |
[INFO] [stdout] 69 | type ResultBox<T> = std::result::Result<T, Box<error::Error>>;
[INFO] [stdout]    |                                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `N`
[INFO] [stdout]  --> mutex-rwLock/src/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | const N: usize = 10;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main1`
[INFO] [stdout]  --> mutex-rwLock/src/main.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn main1() {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> error-rs/src/main.rs:85:32
[INFO] [stdout]    |
[INFO] [stdout] 85 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mux`
[INFO] [stdout]   --> mutex-rwLock/src/main.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn mux() {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `mutex_rwLock` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout]   = help: convert the identifier to snake case: `mutex_rw_lock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `std::convert::From<DoubleError>` for type `DoubleError`
[INFO] [stdout]   --> error-rs/src/main.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl From<DoubleError> for DoubleError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: conflicting implementation in crate `core`:
[INFO] [stdout]            - impl<T> From<T> for T;
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Name` should have a snake case name
[INFO] [stdout]   --> map-rs/src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     Name: String,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Age` should have a snake case name
[INFO] [stdout]   --> map-rs/src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     Age: i32,
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `age`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0119`.
[INFO] [stdout] 
[INFO] [stdout] error[E0119]: conflicting implementations of trait `std::convert::From<DoubleError>` for type `DoubleError`
[INFO] [stdout]   --> error-rs/src/main.rs:97:1
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl From<DoubleError> for DoubleError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: conflicting implementation in crate `core`:
[INFO] [stdout]            - impl<T> From<T> for T;
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0119`.
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> map-rs/src/main.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     return;
[INFO] [stdout]    |     ------ any code following this expression is unreachable
[INFO] [stdout] 72 | 
[INFO] [stdout] 73 |     let it: Vec<_> = (0..20).map(|x| x + 1).collect();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `eat_box_i32`
[INFO] [stdout]  --> borrowing-rs/src/main.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn eat_box_i32(boxed_i32: Box<i32>) {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `borrow_i32`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn borrow_i32(borrowed_i32: &i32) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main1`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn main1() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `borrow_book`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:57:4
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn borrow_book(book: &Book) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `new_edition`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn new_edition(book: &mut Book) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main33`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn main33() {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main2`
[INFO] [stdout]   --> borrowing-rs/src/main.rs:95:4
[INFO] [stdout]    |
[INFO] [stdout] 95 | fn main2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `Point`
[INFO] [stdout]    --> borrowing-rs/src/main.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | struct Point { x: i32, y: i32, z: i32 }
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `main4`
[INFO] [stdout]    --> borrowing-rs/src/main.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn main4() {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `x`
[INFO] [stdout]    --> borrowing-rs/src/main.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 | struct Point2 { x: i32, y: i32 }
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `y`
[INFO] [stdout]    --> borrowing-rs/src/main.rs:169:25
[INFO] [stdout]     |
[INFO] [stdout] 169 | struct Point2 { x: i32, y: i32 }
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Name` should have a snake case name
[INFO] [stdout]   --> map-rs/src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     Name: String,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Age` should have a snake case name
[INFO] [stdout]   --> map-rs/src/main.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     Age: i32,
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `age`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 16 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "a85d73627e237145fcc117214363e241c086f7e4b5f1a8fd20b8c4c83f194687", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a85d73627e237145fcc117214363e241c086f7e4b5f1a8fd20b8c4c83f194687", kill_on_drop: false }`
[INFO] [stdout] a85d73627e237145fcc117214363e241c086f7e4b5f1a8fd20b8c4c83f194687
