[INFO] fetching crate pepper 0.31.0... [INFO] checking pepper-0.31.0 against try#23ffd2897cbb44320ca18dfe4d05dbacb37d55e0 for pr-115950 [INFO] extracting crate pepper 0.31.0 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate pepper 0.31.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 pepper 0.31.0 [INFO] finished tweaking crates.io crate pepper 0.31.0 [INFO] tweaked toml for crates.io crate pepper 0.31.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate crates.io crate pepper 0.31.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23ffd2897cbb44320ca18dfe4d05dbacb37d55e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 8d2d9ae6597b5bf8c476cc42b62662dd00192961c20c89a837ce7c80178c3000 [INFO] running `Command { std: "docker" "start" "-a" "8d2d9ae6597b5bf8c476cc42b62662dd00192961c20c89a837ce7c80178c3000", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8d2d9ae6597b5bf8c476cc42b62662dd00192961c20c89a837ce7c80178c3000", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8d2d9ae6597b5bf8c476cc42b62662dd00192961c20c89a837ce7c80178c3000", kill_on_drop: false }` [INFO] [stdout] 8d2d9ae6597b5bf8c476cc42b62662dd00192961c20c89a837ce7c80178c3000 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 8f6e9a13dc1bb63cd5b3fd1529e6f6b199c2dc3e16dcf836498f1ca95add6193 [INFO] running `Command { std: "docker" "start" "-a" "8f6e9a13dc1bb63cd5b3fd1529e6f6b199c2dc3e16dcf836498f1ca95add6193", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Checking pepper v0.31.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1676:13 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1676 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.path` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1679:39 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1679 | let path = std::mem::take(&mut self.path); [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `self.path` because it is borrowed [INFO] [stdout] --> src/buffer.rs:1684:13 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- `self.path` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 1684 | self.path = path.into(); [INFO] [stdout] | ^^^^^^^^^ `self.path` is assigned to here but it was already borrowed [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] | [INFO] [stdout] = note: borrow occurs due to deref coercion to `Path` [INFO] [stdout] note: deref defined here [INFO] [stdout] --> /rustc/23ffd2897cbb44320ca18dfe4d05dbacb37d55e0/library/std/src/path.rs:1777:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1690:21 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1690 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1698:25 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1698 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*ctx` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/mode/insert.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 317 | for plugin_handle in ctx.plugins.handles() { [INFO] [stdout] | --------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 318 | let on_completion = ctx.plugins.get(plugin_handle).on_completion; [INFO] [stdout] 319 | if on_completion(plugin_handle, ctx, &completion_ctx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*ctx` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/mode/insert.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 403 | for plugin_handle in ctx.plugins.handles() { [INFO] [stdout] | --------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 404 | let on_completion = ctx.plugins.get(plugin_handle).on_completion; [INFO] [stdout] 405 | if !on_completion(plugin_handle, ctx, &completion_ctx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0506. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1676:13 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1676 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `pepper` (lib) due to 8 previous errors [INFO] [stdout] error[E0502]: cannot borrow `self.path` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1679:39 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1679 | let path = std::mem::take(&mut self.path); [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0506]: cannot assign to `self.path` because it is borrowed [INFO] [stdout] --> src/buffer.rs:1684:13 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- `self.path` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 1684 | self.path = path.into(); [INFO] [stdout] | ^^^^^^^^^ `self.path` is assigned to here but it was already borrowed [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] | [INFO] [stdout] = note: borrow occurs due to deref coercion to `Path` [INFO] [stdout] note: deref defined here [INFO] [stdout] --> /rustc/23ffd2897cbb44320ca18dfe4d05dbacb37d55e0/library/std/src/path.rs:1777:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1690:21 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1690 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1698:25 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1698 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*ctx` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/mode/insert.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 317 | for plugin_handle in ctx.plugins.handles() { [INFO] [stdout] | --------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 318 | let on_completion = ctx.plugins.get(plugin_handle).on_completion; [INFO] [stdout] 319 | if on_completion(plugin_handle, ctx, &completion_ctx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*ctx` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/mode/insert.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 403 | for plugin_handle in ctx.plugins.handles() { [INFO] [stdout] | --------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 404 | let on_completion = ctx.plugins.get(plugin_handle).on_completion; [INFO] [stdout] 405 | if !on_completion(plugin_handle, ctx, &completion_ctx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 7 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0506. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `pepper` (lib test) due to 8 previous errors [INFO] running `Command { std: "docker" "inspect" "8f6e9a13dc1bb63cd5b3fd1529e6f6b199c2dc3e16dcf836498f1ca95add6193", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8f6e9a13dc1bb63cd5b3fd1529e6f6b199c2dc3e16dcf836498f1ca95add6193", kill_on_drop: false }` [INFO] [stdout] 8f6e9a13dc1bb63cd5b3fd1529e6f6b199c2dc3e16dcf836498f1ca95add6193