[INFO] cloning repository https://github.com/sourceplayer/qupla_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sourceplayer/qupla_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsourceplayer%2Fqupla_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsourceplayer%2Fqupla_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0095083c476f38a31a4717cf5f4e0bff6a19e1ad [INFO] checking sourceplayer/qupla_rust against try#998b6603a58e47f42ccce7a67943234e96b6839e for pr-143170 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsourceplayer%2Fqupla_rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/sourceplayer/qupla_rust [INFO] finished tweaking git repo https://github.com/sourceplayer/qupla_rust [INFO] tweaked toml for git repo https://github.com/sourceplayer/qupla_rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sourceplayer/qupla_rust on toolchain 998b6603a58e47f42ccce7a67943234e96b6839e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/sourceplayer/qupla_rust 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" "+998b6603a58e47f42ccce7a67943234e96b6839e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dae4e20858bb3431f6233a7d4e63d96823a5d07d809e897b4f43d5a72f46c0a8 [INFO] running `Command { std: "docker" "start" "-a" "dae4e20858bb3431f6233a7d4e63d96823a5d07d809e897b4f43d5a72f46c0a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dae4e20858bb3431f6233a7d4e63d96823a5d07d809e897b4f43d5a72f46c0a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dae4e20858bb3431f6233a7d4e63d96823a5d07d809e897b4f43d5a72f46c0a8", kill_on_drop: false }` [INFO] [stdout] dae4e20858bb3431f6233a7d4e63d96823a5d07d809e897b4f43d5a72f46c0a8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1f2bfd8a0e08fc54ac636a6cfb73d6def8a5d5b38665ce8712861a191efb313a [INFO] running `Command { std: "docker" "start" "-a" "1f2bfd8a0e08fc54ac636a6cfb73d6def8a5d5b38665ce8712861a191efb313a", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.4 [INFO] [stderr] Compiling num-bigint v0.2.2 [INFO] [stderr] Checking hex v0.3.2 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Checking qupla_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0277]: the trait bound `&mut Entity<'_>: Clone` is not satisfied [INFO] [stdout] --> src/dispatcher/event.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 7 | pub struct Event<'a> { [INFO] [stdout] 8 | pub entity: &'a mut Entity<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `&mut Entity<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Clone` is implemented for `Entity<'_>` [INFO] [stdout] = note: `Clone` is implemented for `&Entity<'_>`, but not for `&mut Entity<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&mut Entity<'_>: Clone` is not satisfied [INFO] [stdout] --> src/dispatcher/event.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 7 | pub struct Event<'a> { [INFO] [stdout] 8 | pub entity: &'a mut Entity<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `&mut Entity<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Clone` is implemented for `Entity<'_>` [INFO] [stdout] = note: `Clone` is implemented for `&Entity<'_>`, but not for `&mut Entity<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&mut Entity<'_>: Clone` is not satisfied [INFO] [stdout] --> src/dispatcher/environment.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 6 | pub struct Environment<'a> { [INFO] [stdout] 7 | entities: Vec<&'a mut Entity<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `&mut Entity<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Clone` is implemented for `Entity<'_>` [INFO] [stdout] = note: `Clone` is implemented for `&Entity<'_>`, but not for `&mut Entity<'_>` [INFO] [stdout] = note: required for `Vec<&mut Entity<'_>>` to implement `Clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&mut Environment<'_>: Clone` is not satisfied [INFO] [stdout] --> src/dispatcher/effect.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 5 | pub struct Effect<'a> { [INFO] [stdout] 6 | pub env: &'a mut Environment<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `&mut Environment<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Clone` is implemented for `Environment<'_>` [INFO] [stdout] = note: `Clone` is implemented for `&Environment<'_>`, but not for `&mut Environment<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&mut Entity<'_>: Clone` is not satisfied [INFO] [stdout] --> src/dispatcher/environment.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 6 | pub struct Environment<'a> { [INFO] [stdout] 7 | entities: Vec<&'a mut Entity<'a>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `&mut Entity<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Clone` is implemented for `Entity<'_>` [INFO] [stdout] = note: `Clone` is implemented for `&Entity<'_>`, but not for `&mut Entity<'_>` [INFO] [stdout] = note: required for `Vec<&mut Entity<'_>>` to implement `Clone` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&mut Environment<'_>: Clone` is not satisfied [INFO] [stdout] --> src/dispatcher/effect.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 5 | pub struct Effect<'a> { [INFO] [stdout] 6 | pub env: &'a mut Environment<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `&mut Environment<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Clone` is implemented for `Environment<'_>` [INFO] [stdout] = note: `Clone` is implemented for `&Environment<'_>`, but not for `&mut Environment<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&mut Supervisor<'_>: Clone` is not satisfied [INFO] [stdout] --> src/dispatcher/entity.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 8 | pub struct Entity<'a> { [INFO] [stdout] 9 | supervisor: &'a mut Supervisor<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `&mut Supervisor<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Clone` is implemented for `Supervisor<'_>` [INFO] [stdout] = note: `Clone` is implemented for `&Supervisor<'_>`, but not for `&mut Supervisor<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `&mut Supervisor<'_>: Clone` is not satisfied [INFO] [stdout] --> src/dispatcher/entity.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Clone)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 8 | pub struct Entity<'a> { [INFO] [stdout] 9 | supervisor: &'a mut Supervisor<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `&mut Supervisor<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Clone` is implemented for `Supervisor<'_>` [INFO] [stdout] = note: `Clone` is implemented for `&Supervisor<'_>`, but not for `&mut Supervisor<'_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.stop_running` because it was mutably borrowed [INFO] [stdout] --> src/dispatcher/supervisor.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 55 | while !self.stop_running { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] 56 | self.run_quants(); [INFO] [stdout] | ----------------- [INFO] [stdout] | | [INFO] [stdout] | `*self` is borrowed here [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0503]: cannot use `self.stop_running` because it was mutably borrowed [INFO] [stdout] --> src/dispatcher/supervisor.rs:55:16 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 55 | while !self.stop_running { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of borrowed `*self` [INFO] [stdout] 56 | self.run_quants(); [INFO] [stdout] | ----------------- [INFO] [stdout] | | [INFO] [stdout] | `*self` is borrowed here [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 56 | self.run_quants(); [INFO] [stdout] | ^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | `*self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:56:13 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 56 | self.run_quants(); [INFO] [stdout] | ^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | `*self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 56 | self.run_quants(); [INFO] [stdout] | ----------------- [INFO] [stdout] | | [INFO] [stdout] | first mutable borrow occurs here [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] ... [INFO] [stdout] 59 | self.finished(); [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 64 | while self.dispatch_current_quant_events() { [INFO] [stdout] | ^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | `*self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.environments` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:66:35 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 64 | while self.dispatch_current_quant_events() { [INFO] [stdout] | ------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | first mutable borrow occurs here [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] 65 | // reset all invocation limits for the next quant [INFO] [stdout] 66 | for (_, environment) in self.environments.iter_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 56 | self.run_quants(); [INFO] [stdout] | ----------------- [INFO] [stdout] | | [INFO] [stdout] | first mutable borrow occurs here [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] ... [INFO] [stdout] 59 | self.finished(); [INFO] [stdout] | ^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 64 | while self.dispatch_current_quant_events() { [INFO] [stdout] | ^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | `*self` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.environments` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:66:35 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 64 | while self.dispatch_current_quant_events() { [INFO] [stdout] | ------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | first mutable borrow occurs here [INFO] [stdout] | argument requires that `*self` is borrowed for `'a` [INFO] [stdout] 65 | // reset all invocation limits for the next quant [INFO] [stdout] 66 | for (_, environment) in self.environments.iter_mut() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.events` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/dispatcher/supervisor.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 86 | if self.events.get(i).unwrap().quant <= self.current_quant { [INFO] [stdout] | ^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] 87 | let event: &'a mut Event = self.events.get_mut(i).unwrap(); [INFO] [stdout] | ------------- ----------- mutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] | type annotation requires that `self.events` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.events` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:87:44 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 87 | let event: &'a mut Event = self.events.get_mut(i).unwrap(); [INFO] [stdout] | ------------- ^^^^^^^^^^^ `self.events` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] | | [INFO] [stdout] | type annotation requires that `self.events` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.events` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/dispatcher/supervisor.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 86 | if self.events.get(i).unwrap().quant <= self.current_quant { [INFO] [stdout] | ^^^^^^^^^^^ immutable borrow occurs here [INFO] [stdout] 87 | let event: &'a mut Event = self.events.get_mut(i).unwrap(); [INFO] [stdout] | ------------- ----------- mutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] | type annotation requires that `self.events` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.events` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 87 | let event: &'a mut Event = self.events.get_mut(i).unwrap(); [INFO] [stdout] | ------------- ----------- first mutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] | type annotation requires that `self.events` is borrowed for `'a` [INFO] [stdout] 88 | event.dispatch(); [INFO] [stdout] 89 | self.events.remove(i); [INFO] [stdout] | ^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.events` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:87:44 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 87 | let event: &'a mut Event = self.events.get_mut(i).unwrap(); [INFO] [stdout] | ------------- ^^^^^^^^^^^ `self.events` was mutably borrowed here in the previous iteration of the loop [INFO] [stdout] | | [INFO] [stdout] | type annotation requires that `self.events` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.events` as mutable more than once at a time [INFO] [stdout] --> src/dispatcher/supervisor.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 18 | impl<'a> Supervisor<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 87 | let event: &'a mut Event = self.events.get_mut(i).unwrap(); [INFO] [stdout] | ------------- ----------- first mutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] | type annotation requires that `self.events` is borrowed for `'a` [INFO] [stdout] 88 | event.dispatch(); [INFO] [stdout] 89 | self.events.remove(i); [INFO] [stdout] | ^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0499, E0502, E0503. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0499, E0502, E0503. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `qupla_rust` (bin "qupla_rust") due to 12 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `qupla_rust` (bin "qupla_rust" test) due to 12 previous errors [INFO] running `Command { std: "docker" "inspect" "1f2bfd8a0e08fc54ac636a6cfb73d6def8a5d5b38665ce8712861a191efb313a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1f2bfd8a0e08fc54ac636a6cfb73d6def8a5d5b38665ce8712861a191efb313a", kill_on_drop: false }` [INFO] [stdout] 1f2bfd8a0e08fc54ac636a6cfb73d6def8a5d5b38665ce8712861a191efb313a