[INFO] fetching crate rslint_errors 0.2.0... [INFO] checking rslint_errors-0.2.0 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate rslint_errors 0.2.0 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate rslint_errors 0.2.0 on toolchain 23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rslint_errors 0.2.0 [INFO] finished tweaking crates.io crate rslint_errors 0.2.0 [INFO] tweaked toml for crates.io crate rslint_errors 0.2.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 97a462d47e9c4654564513f025b57e3d3447ab248cbc86d3fa4666c5f17bb1d0 [INFO] running `Command { std: "docker" "start" "-a" "97a462d47e9c4654564513f025b57e3d3447ab248cbc86d3fa4666c5f17bb1d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "97a462d47e9c4654564513f025b57e3d3447ab248cbc86d3fa4666c5f17bb1d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "97a462d47e9c4654564513f025b57e3d3447ab248cbc86d3fa4666c5f17bb1d0", kill_on_drop: false }` [INFO] [stdout] 97a462d47e9c4654564513f025b57e3d3447ab248cbc86d3fa4666c5f17bb1d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 488d8ebe811144cfd74f3589c94038fabf10eb705f2ae1fe190807765db37dc8 [INFO] running `Command { std: "docker" "start" "-a" "488d8ebe811144cfd74f3589c94038fabf10eb705f2ae1fe190807765db37dc8", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling rustix v0.38.13 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking text-size v1.1.1 [INFO] [stderr] Checking bitflags v2.4.0 [INFO] [stderr] Checking linux-raw-sys v0.4.7 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Compiling slice-dst v1.5.1 [INFO] [stderr] Checking unicode-width v0.1.10 [INFO] [stderr] Checking termcolor v1.3.0 [INFO] [stderr] Checking is-terminal v0.4.9 [INFO] [stderr] Checking colored v2.0.4 [INFO] [stderr] Checking smol_str v0.1.24 [INFO] [stderr] Checking triomphe v0.1.9 [INFO] [stderr] Checking rslint_rowan v0.10.0 [INFO] [stderr] Checking rowan v0.10.6 [INFO] [stderr] Checking rslint_text_edit v0.1.0 [INFO] [stderr] Checking rslint_errors v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 278 | for (metrics, ch) in self.char_metrics(source.char_indices()) { [INFO] [stdout] | ---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 295 | self.set_color(self.styles().label(severity, LabelStyle::Primary))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 306 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:298:21 [INFO] [stdout] | [INFO] [stdout] 278 | for (metrics, ch) in self.char_metrics(source.char_indices()) { [INFO] [stdout] | ---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 298 | self.reset()?; [INFO] [stdout] | ^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 306 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:303:69 [INFO] [stdout] | [INFO] [stdout] 278 | for (metrics, ch) in self.char_metrics(source.char_indices()) { [INFO] [stdout] | ---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | borrow occurs here [INFO] [stdout] | a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 303 | '\t' => (0..metrics.unicode_width).try_for_each(|_| write!(self, " "))?, [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] ... [INFO] [stdout] 306 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:435:33 [INFO] [stdout] | [INFO] [stdout] 413 | for (metrics, ch) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | __________________________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 414 | | .char_metrics(source.char_indices()) [INFO] [stdout] 415 | | // Add a placeholder source column at the end to allow for [INFO] [stdout] 416 | | // printing carets at the end of lines, eg: [INFO] [stdout] ... | [INFO] [stdout] 421 | | // ``` [INFO] [stdout] 422 | | .chain(std::iter::once((placeholder_metrics, '\0'))) [INFO] [stdout] | |____________________________________________________________________- a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 435 | None => self.reset()?, [INFO] [stdout] | ^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 455 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain, std::iter::Once<(Metrics, char)>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:437:29 [INFO] [stdout] | [INFO] [stdout] 413 | for (metrics, ch) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | __________________________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 414 | | .char_metrics(source.char_indices()) [INFO] [stdout] 415 | | // Add a placeholder source column at the end to allow for [INFO] [stdout] 416 | | // printing carets at the end of lines, eg: [INFO] [stdout] ... | [INFO] [stdout] 421 | | // ``` [INFO] [stdout] 422 | | .chain(std::iter::once((placeholder_metrics, '\0'))) [INFO] [stdout] | |____________________________________________________________________- a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 437 | self.set_color(self.styles().label(severity, label_style))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 455 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain, std::iter::Once<(Metrics, char)>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:451:61 [INFO] [stdout] | [INFO] [stdout] 413 | for (metrics, ch) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | __________________________________borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 414 | | .char_metrics(source.char_indices()) [INFO] [stdout] 415 | | // Add a placeholder source column at the end to allow for [INFO] [stdout] 416 | | // printing carets at the end of lines, eg: [INFO] [stdout] ... | [INFO] [stdout] 421 | | // ``` [INFO] [stdout] 422 | | .chain(std::iter::once((placeholder_metrics, '\0'))) [INFO] [stdout] | |____________________________________________________________________- a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 451 | (0..metrics.unicode_width).try_for_each(|_| write!(self, "{}", caret_ch))?; [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] ... [INFO] [stdout] 455 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain, std::iter::Once<(Metrics, char)>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:304:26 [INFO] [stdout] | [INFO] [stdout] 278 | for (metrics, ch) in self.char_metrics(source.char_indices()) { [INFO] [stdout] | ---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 304 | _ => write!(self, "{}", ch)?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] 305 | } [INFO] [stdout] 306 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:806:21 [INFO] [stdout] | [INFO] [stdout] 796 | for (metrics, ch) in self.char_metrics(char_indices) { [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 806 | self.set_color(self.styles().label(severity, label_style))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 816 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:808:21 [INFO] [stdout] | [INFO] [stdout] 796 | for (metrics, ch) in self.char_metrics(char_indices) { [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 808 | self.reset()?; [INFO] [stdout] | ^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 816 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:814:37 [INFO] [stdout] | [INFO] [stdout] 796 | for (metrics, ch) in self.char_metrics(char_indices) { [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | [INFO] [stdout] | borrow occurs here [INFO] [stdout] | a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 814 | spaces.try_for_each(|_| write!(self, " "))?; [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] 815 | } [INFO] [stdout] 816 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:807:21 [INFO] [stdout] | [INFO] [stdout] 796 | for (metrics, ch) in self.char_metrics(char_indices) { [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 807 | write!(self, "{}", self.chars().pointer_left)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 816 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:901:31 [INFO] [stdout] | [INFO] [stdout] 895 | for (metrics, _) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | _____________________________borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 896 | | .char_metrics(source.char_indices()) [INFO] [stdout] 897 | | .take_while(|(metrics, _)| metrics.byte_index < start + 1) [INFO] [stdout] | |______________________________________________________________________- a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 901 | .try_for_each(|_| write!(self, "{}", self.chars().multi_top))?; [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] 902 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `TakeWhile, [closure@src/codespan/term/renderer.rs:897:25: 897:39]>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:935:31 [INFO] [stdout] | [INFO] [stdout] 929 | for (metrics, _) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | _____________________________borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 930 | | .char_metrics(source.char_indices()) [INFO] [stdout] 931 | | .take_while(|(metrics, _)| metrics.byte_index < start) [INFO] [stdout] | |__________________________________________________________________- a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 935 | .try_for_each(|_| write!(self, "{}", self.chars().multi_bottom))?; [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] 936 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `TakeWhile, [closure@src/codespan/term/renderer.rs:931:25: 931:39]>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:295:21 [INFO] [stdout] | [INFO] [stdout] 278 | for (metrics, ch) in self.char_metrics(source.char_indices()) { [INFO] [stdout] | ---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 295 | self.set_color(self.styles().label(severity, LabelStyle::Primary))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 306 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:298:21 [INFO] [stdout] | [INFO] [stdout] 278 | for (metrics, ch) in self.char_metrics(source.char_indices()) { [INFO] [stdout] | ---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 298 | self.reset()?; [INFO] [stdout] | ^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 306 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:303:69 [INFO] [stdout] | [INFO] [stdout] 278 | for (metrics, ch) in self.char_metrics(source.char_indices()) { [INFO] [stdout] | ---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | borrow occurs here [INFO] [stdout] | a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 303 | '\t' => (0..metrics.unicode_width).try_for_each(|_| write!(self, " "))?, [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] ... [INFO] [stdout] 306 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:435:33 [INFO] [stdout] | [INFO] [stdout] 413 | for (metrics, ch) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | __________________________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 414 | | .char_metrics(source.char_indices()) [INFO] [stdout] 415 | | // Add a placeholder source column at the end to allow for [INFO] [stdout] 416 | | // printing carets at the end of lines, eg: [INFO] [stdout] ... | [INFO] [stdout] 421 | | // ``` [INFO] [stdout] 422 | | .chain(std::iter::once((placeholder_metrics, '\0'))) [INFO] [stdout] | |____________________________________________________________________- a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 435 | None => self.reset()?, [INFO] [stdout] | ^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 455 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain, std::iter::Once<(Metrics, char)>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:437:29 [INFO] [stdout] | [INFO] [stdout] 413 | for (metrics, ch) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | __________________________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 414 | | .char_metrics(source.char_indices()) [INFO] [stdout] 415 | | // Add a placeholder source column at the end to allow for [INFO] [stdout] 416 | | // printing carets at the end of lines, eg: [INFO] [stdout] ... | [INFO] [stdout] 421 | | // ``` [INFO] [stdout] 422 | | .chain(std::iter::once((placeholder_metrics, '\0'))) [INFO] [stdout] | |____________________________________________________________________- a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 437 | self.set_color(self.styles().label(severity, label_style))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 455 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain, std::iter::Once<(Metrics, char)>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:451:61 [INFO] [stdout] | [INFO] [stdout] 413 | for (metrics, ch) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | __________________________________borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 414 | | .char_metrics(source.char_indices()) [INFO] [stdout] 415 | | // Add a placeholder source column at the end to allow for [INFO] [stdout] 416 | | // printing carets at the end of lines, eg: [INFO] [stdout] ... | [INFO] [stdout] 421 | | // ``` [INFO] [stdout] 422 | | .chain(std::iter::once((placeholder_metrics, '\0'))) [INFO] [stdout] | |____________________________________________________________________- a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 451 | (0..metrics.unicode_width).try_for_each(|_| write!(self, "{}", caret_ch))?; [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] ... [INFO] [stdout] 455 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `std::iter::Chain, std::iter::Once<(Metrics, char)>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:304:26 [INFO] [stdout] | [INFO] [stdout] 278 | for (metrics, ch) in self.char_metrics(source.char_indices()) { [INFO] [stdout] | ---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 304 | _ => write!(self, "{}", ch)?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] 305 | } [INFO] [stdout] 306 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:806:21 [INFO] [stdout] | [INFO] [stdout] 796 | for (metrics, ch) in self.char_metrics(char_indices) { [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 806 | self.set_color(self.styles().label(severity, label_style))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 816 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:808:21 [INFO] [stdout] | [INFO] [stdout] 796 | for (metrics, ch) in self.char_metrics(char_indices) { [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 808 | self.reset()?; [INFO] [stdout] | ^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 816 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:814:37 [INFO] [stdout] | [INFO] [stdout] 796 | for (metrics, ch) in self.char_metrics(char_indices) { [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | [INFO] [stdout] | borrow occurs here [INFO] [stdout] | a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 814 | spaces.try_for_each(|_| write!(self, " "))?; [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] 815 | } [INFO] [stdout] 816 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/codespan/term/renderer.rs:807:21 [INFO] [stdout] | [INFO] [stdout] 796 | for (metrics, ch) in self.char_metrics(char_indices) { [INFO] [stdout] | ------------------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | a temporary with access to the immutable borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 807 | write!(self, "{}", self.chars().pointer_left)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 816 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `impl Iterator` [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:901:31 [INFO] [stdout] | [INFO] [stdout] 895 | for (metrics, _) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | _____________________________borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 896 | | .char_metrics(source.char_indices()) [INFO] [stdout] 897 | | .take_while(|(metrics, _)| metrics.byte_index < start + 1) [INFO] [stdout] | |______________________________________________________________________- a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 901 | .try_for_each(|_| write!(self, "{}", self.chars().multi_top))?; [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] 902 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `TakeWhile, [closure@src/codespan/term/renderer.rs:897:25: 897:39]>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0500]: closure requires unique access to `self` but it is already borrowed [INFO] [stdout] --> src/codespan/term/renderer.rs:935:31 [INFO] [stdout] | [INFO] [stdout] 929 | for (metrics, _) in self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | _____________________________borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 930 | | .char_metrics(source.char_indices()) [INFO] [stdout] 931 | | .take_while(|(metrics, _)| metrics.byte_index < start) [INFO] [stdout] | |__________________________________________________________________- a temporary with access to the first borrow is created here ... [INFO] [stdout] ... [INFO] [stdout] 935 | .try_for_each(|_| write!(self, "{}", self.chars().multi_bottom))?; [INFO] [stdout] | ^^^ ---- second borrow occurs due to use of `self` in closure [INFO] [stdout] | | [INFO] [stdout] | closure construction occurs here [INFO] [stdout] 936 | } [INFO] [stdout] | - ... and the first borrow might be used here, when that temporary is dropped and runs the destructor for type `TakeWhile, [closure@src/codespan/term/renderer.rs:931:25: 931:39]>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0500, E0502. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0500`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rslint_errors` (lib) due to 14 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 13 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0500, E0502. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0500`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rslint_errors` (lib test) due to 14 previous errors [INFO] running `Command { std: "docker" "inspect" "488d8ebe811144cfd74f3589c94038fabf10eb705f2ae1fe190807765db37dc8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "488d8ebe811144cfd74f3589c94038fabf10eb705f2ae1fe190807765db37dc8", kill_on_drop: false }` [INFO] [stdout] 488d8ebe811144cfd74f3589c94038fabf10eb705f2ae1fe190807765db37dc8