[INFO] cloning repository https://github.com/clearloop/leetcode-cli [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/clearloop/leetcode-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclearloop%2Fleetcode-cli", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclearloop%2Fleetcode-cli'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b315dd436b7a99784b63159157adfdbd8107b856 [INFO] checking clearloop/leetcode-cli against try#3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f for pr-87248 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclearloop%2Fleetcode-cli" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/clearloop/leetcode-cli on toolchain 3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-13/source/rust-toolchain [INFO] started tweaking git repo https://github.com/clearloop/leetcode-cli [INFO] finished tweaking git repo https://github.com/clearloop/leetcode-cli [INFO] tweaked toml for git repo https://github.com/clearloop/leetcode-cli written to /workspace/builds/worker-13/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded crypto-mac v0.10.1 [INFO] [stderr] Downloaded pin-project-internal v1.0.8 [INFO] [stderr] Downloaded diesel v1.4.7 [INFO] [stderr] Downloaded indoc-impl v0.3.6 [INFO] [stderr] Downloaded indoc v0.3.6 [INFO] [stderr] Downloaded pin-project v1.0.8 [INFO] [stderr] Downloaded keyring v0.8.0 [INFO] [stderr] Downloaded pyo3-derive-backend v0.8.5 [INFO] [stderr] Downloaded async-compression v0.3.8 [INFO] [stderr] Downloaded cargo-husky v1.5.0 [INFO] [stderr] Downloaded pyo3 v0.8.5 [INFO] [stderr] Downloaded libsqlite3-sys v0.22.2 [INFO] [stderr] Downloaded entities v1.0.1 [INFO] [stderr] Downloaded pyo3cls v0.8.5 [INFO] [stderr] Downloaded escaper v0.1.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c5aceec12cd237dda9c22cb63c6c3607048c1340b30bb5331f38216e91932647 [INFO] running `Command { std: "docker" "start" "-a" "c5aceec12cd237dda9c22cb63c6c3607048c1340b30bb5331f38216e91932647", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c5aceec12cd237dda9c22cb63c6c3607048c1340b30bb5331f38216e91932647", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5aceec12cd237dda9c22cb63c6c3607048c1340b30bb5331f38216e91932647", kill_on_drop: false }` [INFO] [stdout] c5aceec12cd237dda9c22cb63c6c3607048c1340b30bb5331f38216e91932647 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3d69b71bd0abfd9fe68702a1b0675b36ca502c274e209748ec44d3187a504156 [INFO] running `Command { std: "docker" "start" "-a" "3d69b71bd0abfd9fe68702a1b0675b36ca502c274e209748ec44d3187a504156", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.98 [INFO] [stderr] Compiling proc-macro2 v1.0.28 [INFO] [stderr] Compiling syn v1.0.74 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling futures-core v0.3.16 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking bytes v0.5.6 [INFO] [stderr] Compiling futures-task v0.3.16 [INFO] [stderr] Checking pin-project-lite v0.1.12 [INFO] [stderr] Checking bytes v1.0.1 [INFO] [stderr] Compiling native-tls v0.2.7 [INFO] [stderr] Checking futures-sink v0.3.16 [INFO] [stderr] Compiling futures-channel v0.3.16 [INFO] [stderr] Compiling httparse v1.4.1 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Checking httpdate v0.3.2 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Compiling encoding_rs v0.8.28 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking entities v1.0.1 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking ipnet v2.3.1 [INFO] [stderr] Compiling cargo-husky v1.5.0 [INFO] [stderr] Compiling futures-util v0.3.16 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling openssl-sys v0.9.65 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling libsqlite3-sys v0.22.2 [INFO] [stderr] Checking tinyvec v1.3.1 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking num-complex v0.3.1 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking aes-soft v0.6.4 [INFO] [stderr] Checking block-modes v0.7.0 [INFO] [stderr] Checking crypto-mac v0.10.1 [INFO] [stderr] Checking tracing-core v0.1.18 [INFO] [stderr] Checking http v0.2.4 [INFO] [stderr] Checking hmac v0.10.1 [INFO] [stderr] Checking escaper v0.1.1 [INFO] [stderr] Checking hkdf v0.10.0 [INFO] [stderr] Checking aes v0.6.0 [INFO] [stderr] Checking tracing v0.1.26 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Compiling openssl v0.10.35 [INFO] [stderr] Checking num v0.3.1 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking unicode-normalization v0.1.19 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking socket2 v0.3.19 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking flate2 v1.0.20 [INFO] [stderr] Checking dbus v0.2.3 [INFO] [stderr] Checking dirs-sys v0.3.6 [INFO] [stderr] Checking nix v0.17.0 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking colored v1.9.3 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking http-body v0.3.1 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking async-compression v0.3.8 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking tokio v0.2.25 [INFO] [stderr] Checking secret-service v1.1.3 [INFO] [stderr] Checking keyring v0.8.0 [INFO] [stderr] Checking tokio-util v0.3.1 [INFO] [stderr] Checking tokio-tls v0.3.1 [INFO] [stderr] Compiling pin-project-internal v1.0.8 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling diesel_derives v1.4.1 [INFO] [stderr] Compiling async-trait v0.1.50 [INFO] [stderr] Checking pin-project v1.0.8 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Checking h2 v0.2.7 [INFO] [stderr] Checking serde v1.0.126 [INFO] [stderr] Checking diesel v1.4.7 [INFO] [stderr] Checking hyper v0.13.10 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking serde_json v1.0.64 [INFO] [stderr] Checking toml v0.5.8 [INFO] [stderr] Checking hyper-tls v0.4.3 [INFO] [stderr] Checking reqwest v0.10.10 [INFO] [stderr] Checking leetcode-cli v0.3.9 (/opt/rustwide/workdir) [INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option` [INFO] [stdout] --> src/err.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | impl std::convert::From for Error { [INFO] [stdout] | ^^^^^^^^^ not found in `std::option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option` [INFO] [stdout] --> src/err.rs:119:29 [INFO] [stdout] | [INFO] [stdout] 119 | fn from(_: std::option::NoneError) -> Self { [INFO] [stdout] | ^^^^^^^^^ not found in `std::option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option` [INFO] [stdout] --> src/err.rs:118:38 [INFO] [stdout] | [INFO] [stdout] 118 | impl std::convert::From for Error { [INFO] [stdout] | ^^^^^^^^^ not found in `std::option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `NoneError` in module `std::option` [INFO] [stdout] --> src/err.rs:119:29 [INFO] [stdout] | [INFO] [stdout] 119 | fn from(_: std::option::NoneError) -> Self { [INFO] [stdout] | ^^^^^^^^^ not found in `std::option` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:75:29 [INFO] [stdout] | [INFO] [stdout] 69 | pub async fn get_category_problems(self, category: &str) -> Result { [INFO] [stdout] | _________________________________________________________________________________________- [INFO] [stdout] 70 | | trace!("Requesting {} problems...", &category); [INFO] [stdout] 71 | | let url = &self [INFO] [stdout] 72 | | .conf [INFO] [stdout] ... | [INFO] [stdout] 75 | | .get("problems")? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 88 | | .await [INFO] [stdout] 89 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:75:29 [INFO] [stdout] | [INFO] [stdout] 69 | pub async fn get_category_problems(self, category: &str) -> Result { [INFO] [stdout] | _________________________________________________________________________________________- [INFO] [stdout] 70 | | trace!("Requesting {} problems...", &category); [INFO] [stdout] 71 | | let url = &self [INFO] [stdout] 72 | | .conf [INFO] [stdout] ... | [INFO] [stdout] 75 | | .get("problems")? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 88 | | .await [INFO] [stdout] 89 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:127:55 [INFO] [stdout] | [INFO] [stdout] 125 | pub async fn get_question_detail(self, slug: &str) -> Result { [INFO] [stdout] | ___________________________________________________________________________________- [INFO] [stdout] 126 | | trace!("Requesting {} detail...", &slug); [INFO] [stdout] 127 | | let refer = self.conf.sys.urls.get("problems")?.replace("$slug", slug); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 128 | | let mut json: Json = HashMap::new(); [INFO] [stdout] ... | [INFO] [stdout] 165 | | .await [INFO] [stdout] 166 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:127:55 [INFO] [stdout] | [INFO] [stdout] 125 | pub async fn get_question_detail(self, slug: &str) -> Result { [INFO] [stdout] | ___________________________________________________________________________________- [INFO] [stdout] 126 | | trace!("Requesting {} detail...", &slug); [INFO] [stdout] 127 | | let refer = self.conf.sys.urls.get("problems")?.replace("$slug", slug); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 128 | | let mut json: Json = HashMap::new(); [INFO] [stdout] ... | [INFO] [stdout] 165 | | .await [INFO] [stdout] 166 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:93:53 [INFO] [stdout] | [INFO] [stdout] 91 | pub async fn get_question_ids_by_tag(self, slug: &str) -> Result { [INFO] [stdout] | _______________________________________________________________________________________- [INFO] [stdout] 92 | | trace!("Requesting {} ref problems...", &slug); [INFO] [stdout] 93 | | let url = &self.conf.sys.urls.get("graphql")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 94 | | let mut json: Json = HashMap::new(); [INFO] [stdout] ... | [INFO] [stdout] 121 | | .await [INFO] [stdout] 122 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:113:56 [INFO] [stdout] | [INFO] [stdout] 91 | pub async fn get_question_ids_by_tag(self, slug: &str) -> Result { [INFO] [stdout] | _______________________________________________________________________________________- [INFO] [stdout] 92 | | trace!("Requesting {} ref problems...", &slug); [INFO] [stdout] 93 | | let url = &self.conf.sys.urls.get("graphql")?; [INFO] [stdout] 94 | | let mut json: Json = HashMap::new(); [INFO] [stdout] ... | [INFO] [stdout] 113 | | refer: Some((&self.conf.sys.urls.get("tag")?).replace("$slug", slug)), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 121 | | .await [INFO] [stdout] 122 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:93:53 [INFO] [stdout] | [INFO] [stdout] 91 | pub async fn get_question_ids_by_tag(self, slug: &str) -> Result { [INFO] [stdout] | _______________________________________________________________________________________- [INFO] [stdout] 92 | | trace!("Requesting {} ref problems...", &slug); [INFO] [stdout] 93 | | let url = &self.conf.sys.urls.get("graphql")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 94 | | let mut json: Json = HashMap::new(); [INFO] [stdout] ... | [INFO] [stdout] 121 | | .await [INFO] [stdout] 122 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:113:56 [INFO] [stdout] | [INFO] [stdout] 91 | pub async fn get_question_ids_by_tag(self, slug: &str) -> Result { [INFO] [stdout] | _______________________________________________________________________________________- [INFO] [stdout] 92 | | trace!("Requesting {} ref problems...", &slug); [INFO] [stdout] 93 | | let url = &self.conf.sys.urls.get("graphql")?; [INFO] [stdout] 94 | | let mut json: Json = HashMap::new(); [INFO] [stdout] ... | [INFO] [stdout] 113 | | refer: Some((&self.conf.sys.urls.get("tag")?).replace("$slug", slug)), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 121 | | .await [INFO] [stdout] 122 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:238:51 [INFO] [stdout] | [INFO] [stdout] 191 | ) -> Result<(HashMap<&'static str, String>, [String; 2]), Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 192 | | trace!("pre run code..."); [INFO] [stdout] 193 | | use crate::helper::{code_path, test_cases_path}; [INFO] [stdout] 194 | | use std::fs::File; [INFO] [stdout] ... | [INFO] [stdout] 238 | | Run::Test => conf.sys.urls.get("test")?.replace("$slug", &p.slug), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 251 | | )) [INFO] [stdout] 252 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:241:44 [INFO] [stdout] | [INFO] [stdout] 191 | ) -> Result<(HashMap<&'static str, String>, [String; 2]), Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 192 | | trace!("pre run code..."); [INFO] [stdout] 193 | | use crate::helper::{code_path, test_cases_path}; [INFO] [stdout] 194 | | use std::fs::File; [INFO] [stdout] ... | [INFO] [stdout] 241 | | conf.sys.urls.get("submit")?.replace("$slug", &p.slug) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 251 | | )) [INFO] [stdout] 252 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:238:51 [INFO] [stdout] | [INFO] [stdout] 191 | ) -> Result<(HashMap<&'static str, String>, [String; 2]), Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 192 | | trace!("pre run code..."); [INFO] [stdout] 193 | | use crate::helper::{code_path, test_cases_path}; [INFO] [stdout] 194 | | use std::fs::File; [INFO] [stdout] ... | [INFO] [stdout] 238 | | Run::Test => conf.sys.urls.get("test")?.replace("$slug", &p.slug), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 251 | | )) [INFO] [stdout] 252 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:249:46 [INFO] [stdout] | [INFO] [stdout] 191 | ) -> Result<(HashMap<&'static str, String>, [String; 2]), Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 192 | | trace!("pre run code..."); [INFO] [stdout] 193 | | use crate::helper::{code_path, test_cases_path}; [INFO] [stdout] 194 | | use std::fs::File; [INFO] [stdout] ... | [INFO] [stdout] 249 | | conf.sys.urls.get("problems")?.replace("$slug", &p.slug), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] 250 | | ], [INFO] [stdout] 251 | | )) [INFO] [stdout] 252 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:241:44 [INFO] [stdout] | [INFO] [stdout] 191 | ) -> Result<(HashMap<&'static str, String>, [String; 2]), Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 192 | | trace!("pre run code..."); [INFO] [stdout] 193 | | use crate::helper::{code_path, test_cases_path}; [INFO] [stdout] 194 | | use std::fs::File; [INFO] [stdout] ... | [INFO] [stdout] 241 | | conf.sys.urls.get("submit")?.replace("$slug", &p.slug) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 251 | | )) [INFO] [stdout] 252 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:249:46 [INFO] [stdout] | [INFO] [stdout] 191 | ) -> Result<(HashMap<&'static str, String>, [String; 2]), Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 192 | | trace!("pre run code..."); [INFO] [stdout] 193 | | use crate::helper::{code_path, test_cases_path}; [INFO] [stdout] 194 | | use std::fs::File; [INFO] [stdout] ... | [INFO] [stdout] 249 | | conf.sys.urls.get("problems")?.replace("$slug", &p.slug), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] 250 | | ], [INFO] [stdout] 251 | | )) [INFO] [stdout] 252 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(HashMap<&str, std::string::String>, [std::string::String; 2]), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:187:51 [INFO] [stdout] | [INFO] [stdout] 185 | pub async fn verify_result(self, id: String) -> Result { [INFO] [stdout] | _____________________________________________________________________________- [INFO] [stdout] 186 | | trace!("Verifying result..."); [INFO] [stdout] 187 | | let url = self.conf.sys.urls.get("verify")?.replace("$id", &id); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 188 | | Req { [INFO] [stdout] ... | [INFO] [stdout] 198 | | .await [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/plugins/leetcode.rs:187:51 [INFO] [stdout] | [INFO] [stdout] 185 | pub async fn verify_result(self, id: String) -> Result { [INFO] [stdout] | _____________________________________________________________________________- [INFO] [stdout] 186 | | trace!("Verifying result..."); [INFO] [stdout] 187 | | let url = self.conf.sys.urls.get("verify")?.replace("$id", &id); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 188 | | Req { [INFO] [stdout] ... | [INFO] [stdout] 198 | | .await [INFO] [stdout] 199 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:311:36 [INFO] [stdout] | [INFO] [stdout] 288 | ) -> Result { [INFO] [stdout] | ______________________________________- [INFO] [stdout] 289 | | trace!("Exec problem filter —— Test or Submit"); [INFO] [stdout] 290 | | let (json, [url, refer]) = self.pre_run_code(run.clone(), rfid, testcase).await?; [INFO] [stdout] 291 | | trace!("Pre run code result {:?}, {:?}, {:?}", json, url, refer); [INFO] [stdout] ... | [INFO] [stdout] 311 | | res.name = json.get("name")?.to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 314 | | Ok(res) [INFO] [stdout] 315 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:311:36 [INFO] [stdout] | [INFO] [stdout] 288 | ) -> Result { [INFO] [stdout] | ______________________________________- [INFO] [stdout] 289 | | trace!("Exec problem filter —— Test or Submit"); [INFO] [stdout] 290 | | let (json, [url, refer]) = self.pre_run_code(run.clone(), rfid, testcase).await?; [INFO] [stdout] 291 | | trace!("Pre run code result {:?}, {:?}, {:?}", json, url, refer); [INFO] [stdout] ... | [INFO] [stdout] 311 | | res.name = json.get("name")?.to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 314 | | Ok(res) [INFO] [stdout] 315 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:312:48 [INFO] [stdout] | [INFO] [stdout] 288 | ) -> Result { [INFO] [stdout] | ______________________________________- [INFO] [stdout] 289 | | trace!("Exec problem filter —— Test or Submit"); [INFO] [stdout] 290 | | let (json, [url, refer]) = self.pre_run_code(run.clone(), rfid, testcase).await?; [INFO] [stdout] 291 | | trace!("Pre run code result {:?}, {:?}, {:?}", json, url, refer); [INFO] [stdout] ... | [INFO] [stdout] 312 | | res.data_input = json.get("data_input")?.to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 313 | | res.result_type = run; [INFO] [stdout] 314 | | Ok(res) [INFO] [stdout] 315 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async function that returns `Result` [INFO] [stdout] --> src/cache/mod.rs:312:48 [INFO] [stdout] | [INFO] [stdout] 288 | ) -> Result { [INFO] [stdout] | ______________________________________- [INFO] [stdout] 289 | | trace!("Exec problem filter —— Test or Submit"); [INFO] [stdout] 290 | | let (json, [url, refer]) = self.pre_run_code(run.clone(), rfid, testcase).await?; [INFO] [stdout] 291 | | trace!("Pre run code result {:?}, {:?}, {:?}", json, url, refer); [INFO] [stdout] ... | [INFO] [stdout] 312 | | res.data_input = json.get("data_input")?.to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 313 | | res.result_type = run; [INFO] [stdout] 314 | | Ok(res) [INFO] [stdout] 315 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:8:43 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:8:55 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:10:33 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:8:43 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:11:46 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] 11 | | let total_acs = stat.get("total_acs")?.as_f64()? as f32; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:8:55 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:11:56 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] 11 | | let total_acs = stat.get("total_acs")?.as_f64()? as f32; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:12:58 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] 11 | | let total_acs = stat.get("total_acs")?.as_f64()? as f32; [INFO] [stdout] 12 | | let total_submitted = stat.get("total_submitted")?.as_f64()? as f32; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:10:33 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:12:68 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] 11 | | let total_acs = stat.get("total_acs")?.as_f64()? as f32; [INFO] [stdout] 12 | | let total_submitted = stat.get("total_submitted")?.as_f64()? as f32; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:15:45 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 15 | | category: v.get("category_slug")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:11:46 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] 11 | | let total_acs = stat.get("total_acs")?.as_f64()? as f32; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:15:55 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 15 | | category: v.get("category_slug")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:11:56 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] 11 | | let total_acs = stat.get("total_acs")?.as_f64()? as f32; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:16:50 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 16 | | fid: stat.get("frontend_question_id")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:12:58 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] 11 | | let total_acs = stat.get("total_acs")?.as_f64()? as f32; [INFO] [stdout] 12 | | let total_submitted = stat.get("total_submitted")?.as_f64()? as f32; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:16:60 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 16 | | fid: stat.get("frontend_question_id")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:12:68 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] 11 | | let total_acs = stat.get("total_acs")?.as_f64()? as f32; [INFO] [stdout] 12 | | let total_submitted = stat.get("total_submitted")?.as_f64()? as f32; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:17:40 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 17 | | id: stat.get("question_id")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:15:45 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 15 | | category: v.get("category_slug")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:17:50 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 17 | | id: stat.get("question_id")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:15:55 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 15 | | category: v.get("category_slug")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:18:39 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 18 | | level: p.get("difficulty")?.as_object()?.get("level")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:16:50 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 16 | | fid: stat.get("frontend_question_id")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:18:52 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 18 | | level: p.get("difficulty")?.as_object()?.get("level")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:16:60 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 16 | | fid: stat.get("frontend_question_id")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:18:66 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 18 | | level: p.get("difficulty")?.as_object()?.get("level")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:17:40 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 17 | | id: stat.get("question_id")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:18:76 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 18 | | level: p.get("difficulty")?.as_object()?.get("level")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:19:39 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 19 | | locked: p.get("paid_only")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:17:50 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 17 | | id: stat.get("question_id")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:19:50 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 19 | | locked: p.get("paid_only")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:18:39 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 18 | | level: p.get("difficulty")?.as_object()?.get("level")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:20:46 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 20 | | name: stat.get("question__title")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:18:52 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 18 | | level: p.get("difficulty")?.as_object()?.get("level")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:20:56 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 20 | | name: stat.get("question__title")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:18:66 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 18 | | level: p.get("difficulty")?.as_object()?.get("level")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:22:51 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 22 | | slug: stat.get("question__title_slug")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:22:61 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 22 | | slug: stat.get("question__title_slug")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:18:76 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 18 | | level: p.get("difficulty")?.as_object()?.get("level")?.as_i64()? as i32, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:23:39 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 23 | | starred: p.get("is_favor")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:19:39 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 19 | | locked: p.get("paid_only")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:23:50 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 23 | | starred: p.get("is_favor")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:19:50 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 19 | | locked: p.get("paid_only")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 24 | | status: p.get("status")?.as_str().unwrap_or("Null").to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:20:46 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 20 | | name: stat.get("question__title")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:20:56 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 20 | | name: stat.get("question__title")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:22:51 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 22 | | slug: stat.get("question__title_slug")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] 37 | | .as_object()? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:38:25 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] 37 | | .as_object()? [INFO] [stdout] 38 | | .get("question")? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:22:61 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 22 | | slug: stat.get("question__title_slug")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 39 | | .as_object()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:23:39 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 23 | | starred: p.get("is_favor")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 42 | | content: o.get("content")?.as_str().unwrap_or("").to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:43:51 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 43 | | stats: serde_json::from_str(o.get("stats")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:23:50 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 23 | | starred: p.get("is_favor")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:43:61 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 43 | | stats: serde_json::from_str(o.get("stats")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 7 | / pub fn problem(problems: &mut Vec, v: Value) -> Result<(), Error> { [INFO] [stdout] 8 | | let pairs = v.get("stat_status_pairs")?.as_array()?; [INFO] [stdout] 9 | | for p in pairs { [INFO] [stdout] 10 | | let stat = p.get("stat")?.as_object()?; [INFO] [stdout] ... | [INFO] [stdout] 24 | | status: p.get("status")?.as_str().unwrap_or("Null").to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 29 | | Ok(()) [INFO] [stdout] 30 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:44:59 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 44 | | defs: serde_json::from_str(o.get("codeDefinition")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:44:69 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 44 | | defs: serde_json::from_str(o.get("codeDefinition")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 45 | | case: o.get("sampleTestCase")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:36:21 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:45:48 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 45 | | case: o.get("sampleTestCase")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] 37 | | .as_object()? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:47:51 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 47 | | .unwrap_or(o.get("sampleTestCase")?) // soft fail to the sampleTestCase [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:38:25 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] 37 | | .as_object()? [INFO] [stdout] 38 | | .get("question")? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:48:26 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 48 | | .as_str()? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 39 | | .as_object()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:50:57 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 50 | | metadata: serde_json::from_str(o.get("metaData")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:50:67 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 50 | | metadata: serde_json::from_str(o.get("metaData")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:42:34 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 42 | | content: o.get("content")?.as_str().unwrap_or("").to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:51:37 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 51 | | test: o.get("enableRunCode")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:43:51 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 43 | | stats: serde_json::from_str(o.get("stats")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:51:48 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 51 | | test: o.get("enableRunCode")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:43:61 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 43 | | stats: serde_json::from_str(o.get("stats")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:53:38 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 53 | | .get("translatedContent")? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:44:59 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 44 | | defs: serde_json::from_str(o.get("codeDefinition")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:65:41 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:44:69 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 44 | | defs: serde_json::from_str(o.get("codeDefinition")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:45:38 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 45 | | case: o.get("sampleTestCase")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:65:54 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:45:48 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 45 | | case: o.get("sampleTestCase")?.as_str()?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:65:71 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 71 | | let arr = tag.as_object()?.get("questions")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:71:48 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 71 | | let arr = tag.as_object()?.get("questions")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:47:51 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 47 | | .unwrap_or(o.get("sampleTestCase")?) // soft fail to the sampleTestCase [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:71:60 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 71 | | let arr = tag.as_object()?.get("questions")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:48:26 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 48 | | .as_str()? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 75 | | res.push(q.as_object()?.get("questionId")?.as_str()?.to_string()) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:50:57 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 50 | | metadata: serde_json::from_str(o.get("metaData")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:75:50 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 75 | | res.push(q.as_object()?.get("questionId")?.as_str()?.to_string()) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:50:67 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 50 | | metadata: serde_json::from_str(o.get("metaData")?.as_str()?)?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:75:60 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 75 | | res.push(q.as_object()?.get("questionId")?.as_str()?.to_string()) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:51:37 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 51 | | test: o.get("enableRunCode")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:51:48 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 51 | | test: o.get("enableRunCode")?.as_bool()?, [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:53:38 [INFO] [stdout] | [INFO] [stdout] 33 | / pub fn desc(q: &mut Question, v: Value) -> Result<(), Error> { [INFO] [stdout] 34 | | let o = &v [INFO] [stdout] 35 | | .as_object()? [INFO] [stdout] 36 | | .get("data")? [INFO] [stdout] ... | [INFO] [stdout] 53 | | .get("translatedContent")? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 59 | | Ok(()) [INFO] [stdout] 60 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cfg.rs:85:36 [INFO] [stdout] | [INFO] [stdout] 84 | / pub fn sync(&self) -> Result<(), crate::Error> { [INFO] [stdout] 85 | | let home = dirs::home_dir()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 86 | | let conf = home.join(".leetcode/leetcode.toml"); [INFO] [stdout] 87 | | fs::write(conf, toml::ser::to_string_pretty(&self)?)?; [INFO] [stdout] 88 | | [INFO] [stdout] 89 | | Ok(()) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:65:41 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:65:54 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:65:71 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:71:30 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 71 | | let arr = tag.as_object()?.get("questions")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:71:48 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 71 | | let arr = tag.as_object()?.get("questions")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:71:60 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 71 | | let arr = tag.as_object()?.get("questions")?.as_array()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 75 | | res.push(q.as_object()?.get("questionId")?.as_str()?.to_string()) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cfg.rs:152:36 [INFO] [stdout] | [INFO] [stdout] 151 | / pub fn root(&self) -> Result { [INFO] [stdout] 152 | | let home = dirs::home_dir()?.to_string_lossy().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 153 | | let path = self.root.replace("~", &home); [INFO] [stdout] 154 | | Ok(path) [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:75:50 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 75 | | res.push(q.as_object()?.get("questionId")?.as_str()?.to_string()) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cfg.rs:182:52 [INFO] [stdout] | [INFO] [stdout] 178 | / pub fn scripts(mut self) -> Result { [INFO] [stdout] 179 | | let root = &self.root()?; [INFO] [stdout] 180 | | if self.scripts.is_none() { [INFO] [stdout] 181 | | let tmp = toml::from_str::(&DEFAULT_CONFIG)?; [INFO] [stdout] 182 | | self.scripts = Some(tmp.storage.scripts?); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 190 | | Ok(p.to_string_lossy().to_string()) [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cache/parser.rs:75:60 [INFO] [stdout] | [INFO] [stdout] 63 | / pub fn tags(v: Value) -> Result, Error> { [INFO] [stdout] 64 | | trace!("Parse tags..."); [INFO] [stdout] 65 | | let tag = v.as_object()?.get("data")?.as_object()?.get("topicTag")?; [INFO] [stdout] 66 | | [INFO] [stdout] ... | [INFO] [stdout] 75 | | res.push(q.as_object()?.get("questionId")?.as_str()?.to_string()) [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result, err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 78 | | Ok(res) [INFO] [stdout] 79 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result, err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cfg.rs:185:55 [INFO] [stdout] | [INFO] [stdout] 178 | / pub fn scripts(mut self) -> Result { [INFO] [stdout] 179 | | let root = &self.root()?; [INFO] [stdout] 180 | | if self.scripts.is_none() { [INFO] [stdout] 181 | | let tmp = toml::from_str::(&DEFAULT_CONFIG)?; [INFO] [stdout] ... | [INFO] [stdout] 185 | | let p = PathBuf::from(root).join(&self.scripts?); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 190 | | Ok(p.to_string_lossy().to_string()) [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cfg.rs:207:31 [INFO] [stdout] | [INFO] [stdout] 206 | / pub fn root() -> Result { [INFO] [stdout] 207 | | let dir = dirs::home_dir()?.join(".leetcode"); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 208 | | if !dir.is_dir() { [INFO] [stdout] 209 | | info!("Generate root dir at {:?}.", &dir); [INFO] [stdout] ... | [INFO] [stdout] 213 | | Ok(dir) [INFO] [stdout] 214 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/data.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 49 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::err::Error> { [INFO] [stdout] | ___________________________________________________________________________- [INFO] [stdout] 50 | | use std::fs::File; [INFO] [stdout] 51 | | use std::path::Path; [INFO] [stdout] 52 | | [INFO] [stdout] ... | [INFO] [stdout] 61 | | .file_name()? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 92 | | Ok(()) [INFO] [stdout] 93 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cfg.rs:85:36 [INFO] [stdout] | [INFO] [stdout] 84 | / pub fn sync(&self) -> Result<(), crate::Error> { [INFO] [stdout] 85 | | let home = dirs::home_dir()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 86 | | let conf = home.join(".leetcode/leetcode.toml"); [INFO] [stdout] 87 | | fs::write(conf, toml::ser::to_string_pretty(&self)?)?; [INFO] [stdout] 88 | | [INFO] [stdout] 89 | | Ok(()) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/edit.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 48 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 49 | | use crate::{cache::models::Question, Cache}; [INFO] [stdout] 50 | | use std::fs::File; [INFO] [stdout] 51 | | use std::io::Write; [INFO] [stdout] ... | [INFO] [stdout] 54 | | let id: i32 = m.value_of("id")?.parse()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 104 | | Ok(()) [INFO] [stdout] 105 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/edit.rs:61:48 [INFO] [stdout] | [INFO] [stdout] 48 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 49 | | use crate::{cache::models::Question, Cache}; [INFO] [stdout] 50 | | use std::fs::File; [INFO] [stdout] 51 | | use std::io::Write; [INFO] [stdout] ... | [INFO] [stdout] 61 | | conf.code.lang = m.value_of("lang")?.to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 104 | | Ok(()) [INFO] [stdout] 105 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/exec.rs:44:39 [INFO] [stdout] | [INFO] [stdout] 41 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 42 | | use crate::cache::{Cache, Run}; [INFO] [stdout] 43 | | [INFO] [stdout] 44 | | let id: i32 = m.value_of("id")?.parse()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 49 | | Ok(()) [INFO] [stdout] 50 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/list.rs:171:44 [INFO] [stdout] | [INFO] [stdout] 134 | async fn handler(m: &ArgMatches<'_>) -> Result<(), Error> { [INFO] [stdout] | _______________________________________________________________- [INFO] [stdout] 135 | | trace!("Input list command..."); [INFO] [stdout] 136 | | [INFO] [stdout] 137 | | let cache = Cache::new()?; [INFO] [stdout] ... | [INFO] [stdout] 171 | | let query = m.value_of("query")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 245 | | Ok(()) [INFO] [stdout] 246 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cfg.rs:152:36 [INFO] [stdout] | [INFO] [stdout] 151 | / pub fn root(&self) -> Result { [INFO] [stdout] 152 | | let home = dirs::home_dir()?.to_string_lossy().to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 153 | | let path = self.root.replace("~", &home); [INFO] [stdout] 154 | | Ok(path) [INFO] [stdout] 155 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/list.rs:177:53 [INFO] [stdout] | [INFO] [stdout] 134 | async fn handler(m: &ArgMatches<'_>) -> Result<(), Error> { [INFO] [stdout] | _______________________________________________________________- [INFO] [stdout] 135 | | trace!("Input list command..."); [INFO] [stdout] 136 | | [INFO] [stdout] 137 | | let cache = Cache::new()?; [INFO] [stdout] ... | [INFO] [stdout] 177 | | let range: Vec<_> = m.values_of("range")?.collect(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 245 | | Ok(()) [INFO] [stdout] 246 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cfg.rs:182:52 [INFO] [stdout] | [INFO] [stdout] 178 | / pub fn scripts(mut self) -> Result { [INFO] [stdout] 179 | | let root = &self.root()?; [INFO] [stdout] 180 | | if self.scripts.is_none() { [INFO] [stdout] 181 | | let tmp = toml::from_str::(&DEFAULT_CONFIG)?; [INFO] [stdout] 182 | | self.scripts = Some(tmp.storage.scripts?); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 190 | | Ok(p.to_string_lossy().to_string()) [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a method that returns `Result` [INFO] [stdout] --> src/cfg.rs:185:55 [INFO] [stdout] | [INFO] [stdout] 178 | / pub fn scripts(mut self) -> Result { [INFO] [stdout] 179 | | let root = &self.root()?; [INFO] [stdout] 180 | | if self.scripts.is_none() { [INFO] [stdout] 181 | | let tmp = toml::from_str::(&DEFAULT_CONFIG)?; [INFO] [stdout] ... | [INFO] [stdout] 185 | | let p = PathBuf::from(root).join(&self.scripts?); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 190 | | Ok(p.to_string_lossy().to_string()) [INFO] [stdout] 191 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/pick.rs:108:44 [INFO] [stdout] | [INFO] [stdout] 75 | async fn handler(m: &ArgMatches<'_>) -> Result<(), Error> { [INFO] [stdout] | _______________________________________________________________- [INFO] [stdout] 76 | | use crate::cache::Cache; [INFO] [stdout] 77 | | use rand::Rng; [INFO] [stdout] 78 | | [INFO] [stdout] ... | [INFO] [stdout] 108 | | let query = m.value_of("query")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 132 | | Ok(()) [INFO] [stdout] 133 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/cfg.rs:207:31 [INFO] [stdout] | [INFO] [stdout] 206 | / pub fn root() -> Result { [INFO] [stdout] 207 | | let dir = dirs::home_dir()?.join(".leetcode"); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 208 | | if !dir.is_dir() { [INFO] [stdout] 209 | | info!("Generate root dir at {:?}.", &dir); [INFO] [stdout] ... | [INFO] [stdout] 213 | | Ok(dir) [INFO] [stdout] 214 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/pick.rs:123:28 [INFO] [stdout] | [INFO] [stdout] 75 | async fn handler(m: &ArgMatches<'_>) -> Result<(), Error> { [INFO] [stdout] | _______________________________________________________________- [INFO] [stdout] 76 | | use crate::cache::Cache; [INFO] [stdout] 77 | | use rand::Rng; [INFO] [stdout] 78 | | [INFO] [stdout] ... | [INFO] [stdout] 123 | | let e = r.err()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 132 | | Ok(()) [INFO] [stdout] 133 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/data.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 49 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::err::Error> { [INFO] [stdout] | ___________________________________________________________________________- [INFO] [stdout] 50 | | use std::fs::File; [INFO] [stdout] 51 | | use std::path::Path; [INFO] [stdout] 52 | | [INFO] [stdout] ... | [INFO] [stdout] 61 | | .file_name()? [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 92 | | Ok(()) [INFO] [stdout] 93 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/test.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 47 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 48 | | use crate::cache::{Cache, Run}; [INFO] [stdout] 49 | | let id: i32 = m.value_of("id")?.parse()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 50 | | let testcase = m.value_of("testcase"); [INFO] [stdout] ... | [INFO] [stdout] 60 | | Ok(()) [INFO] [stdout] 61 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/helper.rs:303:21 [INFO] [stdout] | [INFO] [stdout] 299 | / pub fn code_path(target: &Problem, l: Option) -> Result { [INFO] [stdout] 300 | | let conf = crate::cfg::locate()?; [INFO] [stdout] 301 | | let mut lang = conf.code.lang; [INFO] [stdout] 302 | | if l.is_some() { [INFO] [stdout] 303 | | lang = l?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 316 | | Ok(path) [INFO] [stdout] 317 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/edit.rs:54:39 [INFO] [stdout] | [INFO] [stdout] 48 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 49 | | use crate::{cache::models::Question, Cache}; [INFO] [stdout] 50 | | use std::fs::File; [INFO] [stdout] 51 | | use std::io::Write; [INFO] [stdout] ... | [INFO] [stdout] 54 | | let id: i32 = m.value_of("id")?.parse()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 104 | | Ok(()) [INFO] [stdout] 105 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/edit.rs:61:48 [INFO] [stdout] | [INFO] [stdout] 48 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 49 | | use crate::{cache::models::Question, Cache}; [INFO] [stdout] 50 | | use std::fs::File; [INFO] [stdout] 51 | | use std::io::Write; [INFO] [stdout] ... | [INFO] [stdout] 61 | | conf.code.lang = m.value_of("lang")?.to_string(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 104 | | Ok(()) [INFO] [stdout] 105 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/plugins/chrome.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 42 | / pub fn cookies() -> Result { [INFO] [stdout] 43 | | let ccfg = crate::cfg::locate()?.cookies; [INFO] [stdout] 44 | | if !ccfg.csrf.is_empty() && !ccfg.session.is_empty() { [INFO] [stdout] 45 | | return Ok(Ident { [INFO] [stdout] ... | [INFO] [stdout] 55 | | let home = dirs::home_dir()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 89 | | }) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/plugins/chrome.rs:87:33 [INFO] [stdout] | [INFO] [stdout] 42 | / pub fn cookies() -> Result { [INFO] [stdout] 43 | | let ccfg = crate::cfg::locate()?.cookies; [INFO] [stdout] 44 | | if !ccfg.csrf.is_empty() && !ccfg.session.is_empty() { [INFO] [stdout] 45 | | return Ok(Ident { [INFO] [stdout] ... | [INFO] [stdout] 87 | | csrf: m.get("csrftoken")?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 88 | | session: m.get("LEETCODE_SESSION")?.to_string(), [INFO] [stdout] 89 | | }) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/exec.rs:44:39 [INFO] [stdout] | [INFO] [stdout] 41 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 42 | | use crate::cache::{Cache, Run}; [INFO] [stdout] 43 | | [INFO] [stdout] 44 | | let id: i32 = m.value_of("id")?.parse()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 49 | | Ok(()) [INFO] [stdout] 50 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/plugins/chrome.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 42 | / pub fn cookies() -> Result { [INFO] [stdout] 43 | | let ccfg = crate::cfg::locate()?.cookies; [INFO] [stdout] 44 | | if !ccfg.csrf.is_empty() && !ccfg.session.is_empty() { [INFO] [stdout] 45 | | return Ok(Ident { [INFO] [stdout] ... | [INFO] [stdout] 88 | | session: m.get("LEETCODE_SESSION")?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 89 | | }) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/list.rs:171:44 [INFO] [stdout] | [INFO] [stdout] 134 | async fn handler(m: &ArgMatches<'_>) -> Result<(), Error> { [INFO] [stdout] | _______________________________________________________________- [INFO] [stdout] 135 | | trace!("Input list command..."); [INFO] [stdout] 136 | | [INFO] [stdout] 137 | | let cache = Cache::new()?; [INFO] [stdout] ... | [INFO] [stdout] 171 | | let query = m.value_of("query")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 245 | | Ok(()) [INFO] [stdout] 246 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/list.rs:177:53 [INFO] [stdout] | [INFO] [stdout] 134 | async fn handler(m: &ArgMatches<'_>) -> Result<(), Error> { [INFO] [stdout] | _______________________________________________________________- [INFO] [stdout] 135 | | trace!("Input list command..."); [INFO] [stdout] 136 | | [INFO] [stdout] 137 | | let cache = Cache::new()?; [INFO] [stdout] ... | [INFO] [stdout] 177 | | let range: Vec<_> = m.values_of("range")?.collect(); [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 245 | | Ok(()) [INFO] [stdout] 246 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/pick.rs:108:44 [INFO] [stdout] | [INFO] [stdout] 75 | async fn handler(m: &ArgMatches<'_>) -> Result<(), Error> { [INFO] [stdout] | _______________________________________________________________- [INFO] [stdout] 76 | | use crate::cache::Cache; [INFO] [stdout] 77 | | use rand::Rng; [INFO] [stdout] 78 | | [INFO] [stdout] ... | [INFO] [stdout] 108 | | let query = m.value_of("query")?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 132 | | Ok(()) [INFO] [stdout] 133 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 86 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0412. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/pick.rs:123:28 [INFO] [stdout] | [INFO] [stdout] 75 | async fn handler(m: &ArgMatches<'_>) -> Result<(), Error> { [INFO] [stdout] | _______________________________________________________________- [INFO] [stdout] 76 | | use crate::cache::Cache; [INFO] [stdout] 77 | | use rand::Rng; [INFO] [stdout] 78 | | [INFO] [stdout] ... | [INFO] [stdout] 123 | | let e = r.err()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] ... | [INFO] [stdout] 132 | | Ok(()) [INFO] [stdout] 133 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `leetcode-cli` due to 87 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in an async block that returns `Result` [INFO] [stdout] --> src/cmds/test.rs:49:39 [INFO] [stdout] | [INFO] [stdout] 47 | async fn handler(m: &ArgMatches<'_>) -> Result<(), crate::Error> { [INFO] [stdout] | ______________________________________________________________________- [INFO] [stdout] 48 | | use crate::cache::{Cache, Run}; [INFO] [stdout] 49 | | let id: i32 = m.value_of("id")?.parse()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result<(), err::Error>` [INFO] [stdout] 50 | | let testcase = m.value_of("testcase"); [INFO] [stdout] ... | [INFO] [stdout] 60 | | Ok(()) [INFO] [stdout] 61 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result<(), err::Error>` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/helper.rs:303:21 [INFO] [stdout] | [INFO] [stdout] 299 | / pub fn code_path(target: &Problem, l: Option) -> Result { [INFO] [stdout] 300 | | let conf = crate::cfg::locate()?; [INFO] [stdout] 301 | | let mut lang = conf.code.lang; [INFO] [stdout] 302 | | if l.is_some() { [INFO] [stdout] 303 | | lang = l?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 316 | | Ok(path) [INFO] [stdout] 317 | | } [INFO] [stdout] | |_____- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/plugins/chrome.rs:55:32 [INFO] [stdout] | [INFO] [stdout] 42 | / pub fn cookies() -> Result { [INFO] [stdout] 43 | | let ccfg = crate::cfg::locate()?.cookies; [INFO] [stdout] 44 | | if !ccfg.csrf.is_empty() && !ccfg.session.is_empty() { [INFO] [stdout] 45 | | return Ok(Ident { [INFO] [stdout] ... | [INFO] [stdout] 55 | | let home = dirs::home_dir()?; [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] ... | [INFO] [stdout] 89 | | }) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/plugins/chrome.rs:87:33 [INFO] [stdout] | [INFO] [stdout] 42 | / pub fn cookies() -> Result { [INFO] [stdout] 43 | | let ccfg = crate::cfg::locate()?.cookies; [INFO] [stdout] 44 | | if !ccfg.csrf.is_empty() && !ccfg.session.is_empty() { [INFO] [stdout] 45 | | return Ok(Ident { [INFO] [stdout] ... | [INFO] [stdout] 87 | | csrf: m.get("csrftoken")?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 88 | | session: m.get("LEETCODE_SESSION")?.to_string(), [INFO] [stdout] 89 | | }) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the `?` operator can only be used on `Result`s, not `Option`s, in a function that returns `Result` [INFO] [stdout] --> src/plugins/chrome.rs:88:43 [INFO] [stdout] | [INFO] [stdout] 42 | / pub fn cookies() -> Result { [INFO] [stdout] 43 | | let ccfg = crate::cfg::locate()?.cookies; [INFO] [stdout] 44 | | if !ccfg.csrf.is_empty() && !ccfg.session.is_empty() { [INFO] [stdout] 45 | | return Ok(Ident { [INFO] [stdout] ... | [INFO] [stdout] 88 | | session: m.get("LEETCODE_SESSION")?.to_string(), [INFO] [stdout] | | ^ use `.ok_or(...)?` to provide an error compatible with `Result` [INFO] [stdout] 89 | | }) [INFO] [stdout] 90 | | } [INFO] [stdout] | |_- this function returns a `Result` [INFO] [stdout] | [INFO] [stdout] = help: the trait `FromResidual>` is not implemented for `Result` [INFO] [stdout] = note: required by `from_residual` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 86 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0412. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "3d69b71bd0abfd9fe68702a1b0675b36ca502c274e209748ec44d3187a504156", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d69b71bd0abfd9fe68702a1b0675b36ca502c274e209748ec44d3187a504156", kill_on_drop: false }` [INFO] [stdout] 3d69b71bd0abfd9fe68702a1b0675b36ca502c274e209748ec44d3187a504156