[INFO] fetching crate leetup 1.0.2... [INFO] checking leetup-1.0.2 against try#8ea250bdb76176ecb0225baa34aa634b024ae0e2 for pr-101692 [INFO] extracting crate leetup 1.0.2 into /workspace/builds/worker-0/source [INFO] validating manifest of crates.io crate leetup 1.0.2 on toolchain 8ea250bdb76176ecb0225baa34aa634b024ae0e2 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate leetup 1.0.2 [INFO] finished tweaking crates.io crate leetup 1.0.2 [INFO] tweaked toml for crates.io crate leetup 1.0.2 written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate crates.io crate leetup 1.0.2 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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:824c28ce115f6b999260af6986f3384c158e782489540e41c0b698ca1d9fd927" "/opt/rustwide/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a1be47bf0b8675bbfd385cb56b68ffb18ff9ffda6bacd41c573cb6e5c9b4f70b [INFO] running `Command { std: "docker" "start" "-a" "a1be47bf0b8675bbfd385cb56b68ffb18ff9ffda6bacd41c573cb6e5c9b4f70b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a1be47bf0b8675bbfd385cb56b68ffb18ff9ffda6bacd41c573cb6e5c9b4f70b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a1be47bf0b8675bbfd385cb56b68ffb18ff9ffda6bacd41c573cb6e5c9b4f70b", kill_on_drop: false }` [INFO] [stdout] a1be47bf0b8675bbfd385cb56b68ffb18ff9ffda6bacd41c573cb6e5c9b4f70b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:824c28ce115f6b999260af6986f3384c158e782489540e41c0b698ca1d9fd927" "/opt/rustwide/cargo-home/bin/cargo" "+8ea250bdb76176ecb0225baa34aa634b024ae0e2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3ba4f06f61a347313c7aa847305a3d9f9be65ceb79b0eaf4c6c2789f533df51 [INFO] running `Command { std: "docker" "start" "-a" "d3ba4f06f61a347313c7aa847305a3d9f9be65ceb79b0eaf4c6c2789f533df51", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling proc-macro2 v1.0.26 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling cc v1.0.67 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling serde_derive v1.0.133 [INFO] [stderr] Compiling serde v1.0.133 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling siphasher v0.3.5 [INFO] [stderr] Checking pin-project-lite v0.2.6 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking smallvec v1.8.0 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking bytes v1.0.1 [INFO] [stderr] Checking once_cell v1.7.2 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Checking new_debug_unreachable v1.0.4 [INFO] [stderr] Checking futures-core v0.3.14 [INFO] [stderr] Compiling const_fn v0.4.7 [INFO] [stderr] Checking tinyvec_macros v0.1.0 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Checking percent-encoding v2.1.0 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.34 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking byteorder v1.4.3 [INFO] [stderr] Compiling httparse v1.5.1 [INFO] [stderr] Checking futures-sink v0.3.14 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling native-tls v0.2.8 [INFO] [stderr] Checking openssl-probe v0.1.2 [INFO] [stderr] Compiling serde_json v1.0.64 [INFO] [stderr] Checking futures-task v0.3.14 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking try-lock v0.2.3 [INFO] [stderr] Checking slab v0.4.3 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Checking psl-types v2.0.10 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling unicode-segmentation v1.7.1 [INFO] [stderr] Compiling anyhow v1.0.40 [INFO] [stderr] Checking httpdate v1.0.2 [INFO] [stderr] Compiling encoding_rs v0.8.28 [INFO] [stderr] Checking tower-service v0.3.1 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Compiling async-trait v0.1.52 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking ansi_term v0.7.5 [INFO] [stderr] Compiling curl v0.4.36 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking mime v0.3.16 [INFO] [stderr] Checking strum v0.8.0 [INFO] [stderr] Checking termcolor v1.1.2 [INFO] [stderr] Checking ipnet v2.3.0 [INFO] [stderr] Checking base64 v0.13.0 [INFO] [stderr] Checking predicates-core v1.0.2 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Checking normalize-line-endings v0.3.0 [INFO] [stderr] Checking colci v0.1.0 [INFO] [stderr] Checking treeline v0.1.0 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Checking tracing-core v0.1.18 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Compiling openssl-src v111.15.0+1.1.1k [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Compiling indexmap v1.6.2 [INFO] [stderr] Compiling time v0.2.26 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling cookie v0.15.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling cookie v0.14.4 [INFO] [stderr] Compiling phf_shared v0.8.0 [INFO] [stderr] Checking lock_api v0.4.5 [INFO] [stderr] Checking unicode-bidi v0.3.5 [INFO] [stderr] Checking tinyvec v1.2.0 [INFO] [stderr] Checking futures-channel v0.3.14 [INFO] [stderr] Checking futf v0.1.4 [INFO] [stderr] Checking http v0.2.4 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Compiling libz-sys v1.1.3 [INFO] [stderr] Compiling curl-sys v0.4.42+curl-7.76.0 [INFO] [stderr] Checking form_urlencoded v1.0.1 [INFO] [stderr] Checking futures-util v0.3.14 [INFO] [stderr] Checking regex-automata v0.1.9 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling heck v0.3.2 [INFO] [stderr] Checking predicates-tree v1.0.2 [INFO] [stderr] Compiling openssl-sys v0.9.63 [INFO] [stderr] Checking tracing v0.1.26 [INFO] [stderr] Checking phf v0.8.0 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Checking tendril v0.4.2 [INFO] [stderr] Checking unicode-normalization v0.1.17 [INFO] [stderr] Checking want v0.3.0 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking mio v0.7.14 [INFO] [stderr] Checking dirs-sys v0.3.6 [INFO] [stderr] Checking socket2 v0.4.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking time v0.1.43 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking rpassword v4.0.5 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking http-body v0.4.4 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking bstr v0.2.16 [INFO] [stderr] Compiling strum_macros v0.8.0 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking dirs v2.0.2 [INFO] [stderr] Checking dirs v3.0.2 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking rand_core v0.6.2 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Checking float-cmp v0.8.0 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking publicsuffix v2.1.1 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking term v0.6.1 [INFO] [stderr] Checking shellexpand v2.1.0 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.8.3 [INFO] [stderr] Checking spinner v0.5.0 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Checking env_logger v0.8.3 [INFO] [stderr] Checking predicates v1.0.8 [INFO] [stderr] Checking spinners v1.2.0 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Compiling phf_generator v0.8.0 [INFO] [stderr] Checking assert_cmd v1.0.3 [INFO] [stderr] Compiling phf_codegen v0.8.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.1 [INFO] [stderr] Compiling markup5ever v0.10.1 [INFO] [stderr] Compiling tokio-macros v1.7.0 [INFO] [stderr] Compiling time-macros-impl v0.1.1 [INFO] [stderr] Compiling html5ever v0.25.1 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Compiling structopt-derive v0.4.14 [INFO] [stderr] Compiling serde_repr v0.1.6 [INFO] [stderr] Checking tokio v1.15.0 [INFO] [stderr] Checking time-macros v0.1.1 [INFO] [stderr] Checking tokio-util v0.6.9 [INFO] [stderr] Checking thiserror v1.0.24 [INFO] [stderr] Checking structopt v0.3.21 [INFO] [stderr] Checking h2 v0.3.10 [INFO] [stderr] Checking hyper v0.14.16 [INFO] [stderr] Checking string_cache v0.8.1 [INFO] [stderr] Checking serde_urlencoded v0.7.0 [INFO] [stderr] Checking cookie_store v0.15.1 [INFO] [stderr] Checking leetup-cache v0.1.0 [INFO] [stderr] Checking xml5ever v0.16.1 [INFO] [stderr] Checking markup5ever_rcdom v0.1.0 [INFO] [stderr] Checking html2text v0.2.1 [INFO] [stderr] Checking tokio-native-tls v0.3.0 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.9 [INFO] [stderr] Checking leetup v1.0.2 (/opt/rustwide/workdir) [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::fetch_all_problems` [INFO] [stdout] --> src/service/leetcode.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::fetch_all_problems`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::fetch_all_problems` [INFO] [stdout] --> src/service/leetcode.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::fetch_all_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:390:80 [INFO] [stdout] | [INFO] [stdout] 390 | async fn fetch_all_problems(&mut self) -> Result { [INFO] [stdout] | ________________________________________________________________________________^ [INFO] [stdout] 391 | | let problems_res: serde_json::value::Value; [INFO] [stdout] 392 | | if let Some(ref val) = self.cache.get(CacheKey::Problems.into())? { [INFO] [stdout] 393 | | debug!("Fetching problems from cache..."); [INFO] [stdout] ... | [INFO] [stdout] 407 | | Ok(problems_res) [INFO] [stdout] 408 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::fetch_all_problems`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::list_problems` [INFO] [stdout] --> src/service/leetcode.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::list_problems`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::list_problems` [INFO] [stdout] --> src/service/leetcode.rs:410:5 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::list_problems::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:410:65 [INFO] [stdout] | [INFO] [stdout] 410 | async fn list_problems(&mut self, list: List) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 411 | | let problems_res = self.fetch_all_problems().await?; [INFO] [stdout] 412 | | let mut probs: Vec> = vec![]; [INFO] [stdout] 413 | | [INFO] [stdout] ... | [INFO] [stdout] 467 | | Ok(()) [INFO] [stdout] 468 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::list_problems`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::pick_problem` [INFO] [stdout] --> src/service/leetcode.rs:470:5 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::pick_problem`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::pick_problem` [INFO] [stdout] --> src/service/leetcode.rs:470:5 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::pick_problem::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:470:69 [INFO] [stdout] | [INFO] [stdout] 470 | async fn pick_problem(&mut self, pick: cmd::Pick) -> Result<()> { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 471 | | let probs = self.fetch_problems().await?; [INFO] [stdout] 472 | | let urls = &self.config.urls; [INFO] [stdout] 473 | | let mut single_comment = ""; [INFO] [stdout] ... | [INFO] [stdout] 642 | | Ok(()) [INFO] [stdout] 643 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::pick_problem`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::problem_test` [INFO] [stdout] --> src/service/leetcode.rs:645:5 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::problem_test`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::problem_test` [INFO] [stdout] --> src/service/leetcode.rs:645:5 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::problem_test::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:645:65 [INFO] [stdout] | [INFO] [stdout] 645 | async fn problem_test(&self, test: cmd::Test) -> Result<()> { [INFO] [stdout] | _________________________________________________________________^ [INFO] [stdout] 646 | | let problem = service::extract_problem(test.filename)?; [INFO] [stdout] 647 | | let test_data = test.test_data.replace("\\n", "\n"); [INFO] [stdout] 648 | | let body = json!({ [INFO] [stdout] ... | [INFO] [stdout] 667 | | Ok(()) [INFO] [stdout] 668 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::problem_test`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::problem_submit` [INFO] [stdout] --> src/service/leetcode.rs:670:5 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::problem_submit`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0391]: cycle detected when type-checking `service::leetcode::::problem_submit` [INFO] [stdout] --> src/service/leetcode.rs:670:5 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: ...which requires generator glue MIR for `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires elaborating drops for `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires borrow-checking `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires processing MIR for `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires unsafety-checking `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires building MIR for `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] note: ...which requires type-checking `service::leetcode::::problem_submit::{closure#0}`... [INFO] [stdout] --> src/service/leetcode.rs:670:71 [INFO] [stdout] | [INFO] [stdout] 670 | async fn problem_submit(&self, submit: cmd::Submit) -> Result<()> { [INFO] [stdout] | _______________________________________________________________________^ [INFO] [stdout] 671 | | let problem = service::extract_problem(submit.filename)?; [INFO] [stdout] 672 | | let body = json!({ [INFO] [stdout] 673 | | "lang": problem.lang.to_owned(), [INFO] [stdout] ... | [INFO] [stdout] 689 | | Ok(()) [INFO] [stdout] 690 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] = note: ...which again requires type-checking `service::leetcode::::problem_submit`, completing the cycle [INFO] [stdout] = note: cycle used when type-checking all item bodies [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0391`. [INFO] [stdout] [INFO] [stderr] error: could not compile `leetup` due to 6 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0391`. [INFO] [stdout] [INFO] [stderr] error: could not compile `leetup` due to 6 previous errors [INFO] running `Command { std: "docker" "inspect" "d3ba4f06f61a347313c7aa847305a3d9f9be65ceb79b0eaf4c6c2789f533df51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3ba4f06f61a347313c7aa847305a3d9f9be65ceb79b0eaf4c6c2789f533df51", kill_on_drop: false }` [INFO] [stdout] d3ba4f06f61a347313c7aa847305a3d9f9be65ceb79b0eaf4c6c2789f533df51