[INFO] cloning repository https://github.com/arbaregni/BasicTranspilation [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/arbaregni/BasicTranspilation" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farbaregni%2FBasicTranspilation", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farbaregni%2FBasicTranspilation'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a2f184f37868b378a5bbe94e4e7888dcf393d089 [INFO] checking arbaregni/BasicTranspilation/a2f184f37868b378a5bbe94e4e7888dcf393d089 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farbaregni%2FBasicTranspilation" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/arbaregni/BasicTranspilation on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/arbaregni/BasicTranspilation [INFO] finished tweaking git repo https://github.com/arbaregni/BasicTranspilation [INFO] tweaked toml for git repo https://github.com/arbaregni/BasicTranspilation written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/arbaregni/BasicTranspilation 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3ea5ade06a19ef73a797d28b0869a5b7b43eef957511dd304e63d95d282db986 [INFO] running `Command { std: "docker" "start" "-a" "3ea5ade06a19ef73a797d28b0869a5b7b43eef957511dd304e63d95d282db986", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3ea5ade06a19ef73a797d28b0869a5b7b43eef957511dd304e63d95d282db986", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ea5ade06a19ef73a797d28b0869a5b7b43eef957511dd304e63d95d282db986", kill_on_drop: false }` [INFO] [stdout] 3ea5ade06a19ef73a797d28b0869a5b7b43eef957511dd304e63d95d282db986 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ccf17bdf768b5a8741b8c68e07c57bf40e280e25a1ccf429f3699c81cd5d8792 [INFO] running `Command { std: "docker" "start" "-a" "ccf17bdf768b5a8741b8c68e07c57bf40e280e25a1ccf429f3699c81cd5d8792", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2021 [INFO] [stderr] Checking take_mut v0.2.2 [INFO] [stderr] Checking BasicTranspilation v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find value `at` in this scope [INFO] [stdout] --> src/mir.rs:33:50 [INFO] [stdout] | [INFO] [stdout] 33 | mir.push(MirStmnt::WriteAtFixed {at, expr}); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `at` is available in a different scope in the same function [INFO] [stdout] --> src/mir.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | let at = self.prealloc(); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `MirSymbol` in this scope [INFO] [stdout] --> src/mir.rs:96:52 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn make_all_mir(m: &mut Manager) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 96 | pub fn make_all_mir(m: &mut Manager) -> Result, Error> { [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `at` in this scope [INFO] [stdout] --> src/mir.rs:33:50 [INFO] [stdout] | [INFO] [stdout] 33 | mir.push(MirStmnt::WriteAtFixed {at, expr}); [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: the binding `at` is available in a different scope in the same function [INFO] [stdout] --> src/mir.rs:26:21 [INFO] [stdout] | [INFO] [stdout] 26 | let at = self.prealloc(); [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `MirSymbol` in this scope [INFO] [stdout] --> src/mir.rs:96:52 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn make_all_mir(m: &mut Manager) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: you might be missing a type parameter [INFO] [stdout] | [INFO] [stdout] 96 | pub fn make_all_mir(m: &mut Manager) -> Result, Error> { [INFO] [stdout] | +++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sexpr` [INFO] [stdout] --> src/mir.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use sexpr::{Sexpr, SexprId, SexprKind}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Sexpr` [INFO] [stdout] --> src/mir.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use sexpr::{Sexpr, SexprId, SexprKind}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant named `Builtin` found for enum `sexpr::SexprKind` [INFO] [stdout] --> src/mir.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | SexprKind::Builtin {..} => { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/sexpr.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum SexprKind { [INFO] [stdout] | ------------------ variant `Builtin` not found here [INFO] [stdout] | [INFO] [stdout] help: there is a variant with a similar name (notice the capitalization difference) [INFO] [stdout] | [INFO] [stdout] 76 | SexprKind::BuiltIn {..} => { [INFO] [stdout] | ~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no variant named `Builtin` found for enum `sexpr::SexprKind` [INFO] [stdout] --> src/mir.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | SexprKind::Builtin {..} => { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/sexpr.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub enum SexprKind { [INFO] [stdout] | ------------------ variant `Builtin` not found here [INFO] [stdout] | [INFO] [stdout] help: there is a variant with a similar name (notice the capitalization difference) [INFO] [stdout] | [INFO] [stdout] 76 | SexprKind::BuiltIn {..} => { [INFO] [stdout] | ~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `prealloc` found for reference `&Manager` in the current scope [INFO] [stdout] --> src/mir.rs:26:31 [INFO] [stdout] | [INFO] [stdout] 26 | let at = self.prealloc(); [INFO] [stdout] | ^^^^^^^^ method not found in `&Manager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:27:42 [INFO] [stdout] | [INFO] [stdout] 27 | let expr = self.make_mir(*expr, mir); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `prealloc` found for reference `&Manager` in the current scope [INFO] [stdout] --> src/mir.rs:26:31 [INFO] [stdout] | [INFO] [stdout] 26 | let at = self.prealloc(); [INFO] [stdout] | ^^^^^^^^ method not found in `&Manager` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:27:42 [INFO] [stdout] | [INFO] [stdout] 27 | let expr = self.make_mir(*expr, mir); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:28:54 [INFO] [stdout] | [INFO] [stdout] 28 | mir.push(MirStmnt::WriteAtFixed {at, expr}); [INFO] [stdout] | ^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 28 | mir.push(MirStmnt::WriteAtFixed {at, expr: expr?}); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:29:31 [INFO] [stdout] | [INFO] [stdout] 29 | self.make_mir(*body, mir); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:32:42 [INFO] [stdout] | [INFO] [stdout] 32 | let expr = self.make_mir(*expr, mir); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:28:54 [INFO] [stdout] | [INFO] [stdout] 28 | mir.push(MirStmnt::WriteAtFixed {at, expr}); [INFO] [stdout] | ^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 28 | mir.push(MirStmnt::WriteAtFixed {at, expr: expr?}); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:33:54 [INFO] [stdout] | [INFO] [stdout] 33 | mir.push(MirStmnt::WriteAtFixed {at, expr}); [INFO] [stdout] | ^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 33 | mir.push(MirStmnt::WriteAtFixed {at, expr: expr?}); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:36:47 [INFO] [stdout] | [INFO] [stdout] 36 | let predicate = self.make_mir(*predicate, mir); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:38:45 [INFO] [stdout] | [INFO] [stdout] 38 | let if_expr = self.make_mir(*if_branch, &mut if_stmnts); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:29:31 [INFO] [stdout] | [INFO] [stdout] 29 | self.make_mir(*body, mir); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | let else_expr = self.make_mir(*else_branch, &mut else_stmnts); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:32:42 [INFO] [stdout] | [INFO] [stdout] 32 | let expr = self.make_mir(*expr, mir); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:41:44 [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr, else_stmnts, else_expr}); [INFO] [stdout] | ^^^^^^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate: predicate?, if_stmnts, if_expr, else_stmnts, else_expr}); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:33:54 [INFO] [stdout] | [INFO] [stdout] 33 | mir.push(MirStmnt::WriteAtFixed {at, expr}); [INFO] [stdout] | ^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 33 | mir.push(MirStmnt::WriteAtFixed {at, expr: expr?}); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:41:66 [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr, else_stmnts, else_expr}); [INFO] [stdout] | ^^^^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr: if_expr?, else_stmnts, else_expr}); [INFO] [stdout] | ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:36:47 [INFO] [stdout] | [INFO] [stdout] 36 | let predicate = self.make_mir(*predicate, mir); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:38:45 [INFO] [stdout] | [INFO] [stdout] 38 | let if_expr = self.make_mir(*if_branch, &mut if_stmnts); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:41:88 [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr, else_stmnts, else_expr}); [INFO] [stdout] | ^^^^^^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr, else_stmnts, else_expr: else_expr?}); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `sexpr::SexprId` cannot be dereferenced [INFO] [stdout] --> src/mir.rs:40:47 [INFO] [stdout] | [INFO] [stdout] 40 | let else_expr = self.make_mir(*else_branch, &mut else_stmnts); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:41:44 [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr, else_stmnts, else_expr}); [INFO] [stdout] | ^^^^^^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate: predicate?, if_stmnts, if_expr, else_stmnts, else_expr}); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:41:66 [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr, else_stmnts, else_expr}); [INFO] [stdout] | ^^^^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr: if_expr?, else_stmnts, else_expr}); [INFO] [stdout] | ++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mir.rs:41:88 [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr, else_stmnts, else_expr}); [INFO] [stdout] | ^^^^^^^^^ expected `MirExpr`, found `Result` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `MirExpr` [INFO] [stdout] found enum `Result` [INFO] [stdout] help: use the `?` operator to extract the `Result` value, propagating a `Result::Err` value to the caller [INFO] [stdout] | [INFO] [stdout] 41 | mir.push(MirStmnt::IfBlock{predicate, if_stmnts, if_expr, else_stmnts, else_expr: else_expr?}); [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied [INFO] [stdout] --> src/mir.rs:48:26 [INFO] [stdout] | [INFO] [stdout] 48 | self.make_mir(**statement)?; [INFO] [stdout] | ^^^^^^^^------------- argument #2 of type `&mut Vec` is missing [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/mir.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | fn make_mir(&self, sexpr_id: SexprId, mir: &mut Vec) -> Result { [INFO] [stdout] | ^^^^^^^^ ----------------- ----------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 48 | self.make_mir(**statement, /* &mut Vec */)?; [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this method takes 2 arguments but 1 argument was supplied [INFO] [stdout] --> src/mir.rs:48:26 [INFO] [stdout] | [INFO] [stdout] 48 | self.make_mir(**statement)?; [INFO] [stdout] | ^^^^^^^^------------- argument #2 of type `&mut Vec` is missing [INFO] [stdout] | [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/mir.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | fn make_mir(&self, sexpr_id: SexprId, mir: &mut Vec) -> Result { [INFO] [stdout] | ^^^^^^^^ ----------------- ----------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 48 | self.make_mir(**statement, /* &mut Vec */)?; [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0223]: ambiguous associated type [INFO] [stdout] --> src/mir.rs:80:24 [INFO] [stdout] | [INFO] [stdout] 80 | return MirExpr::ReadAtFixed{}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if there were a trait named `Example` with associated type `ReadAtFixed` implemented for `MirExpr`, you could use the fully-qualified path [INFO] [stdout] | [INFO] [stdout] 80 | return ::ReadAtFixed{}; [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0223]: ambiguous associated type [INFO] [stdout] --> src/mir.rs:80:24 [INFO] [stdout] | [INFO] [stdout] 80 | return MirExpr::ReadAtFixed{}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if there were a trait named `Example` with associated type `ReadAtFixed` implemented for `MirExpr`, you could use the fully-qualified path [INFO] [stdout] | [INFO] [stdout] 80 | return ::ReadAtFixed{}; [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 61 | let mut out_writer: Box = match maybe_path { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | let mut out_writer: Box = match maybe_path { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 61 | let mut out_writer: Box = match maybe_path { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is an object-safe trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 61 | let mut out_writer: Box = match maybe_path { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.udt_manager` as mutable more than once at a time [INFO] [stdout] --> src/parser.rs:209:38 [INFO] [stdout] | [INFO] [stdout] 208 | Ok(self.push_new_sexpr( [INFO] [stdout] | ---- -------------- first borrow later used by call [INFO] [stdout] | | [INFO] [stdout] | first mutable borrow occurs here [INFO] [stdout] 209 | SexprKind::StructDef{id: self.udt_manager.declare_type(head, name, arguments, signature)?}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] help: try adding a local storing this argument... [INFO] [stdout] --> src/parser.rs:209:38 [INFO] [stdout] | [INFO] [stdout] 209 | SexprKind::StructDef{id: self.udt_manager.declare_type(head, name, arguments, signature)?}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: ...and then using that local as the argument to this call [INFO] [stdout] --> src/parser.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | Ok(self.push_new_sexpr( [INFO] [stdout] | ____________^ [INFO] [stdout] 209 | | SexprKind::StructDef{id: self.udt_manager.declare_type(head, name, arguments, signature)?}, [INFO] [stdout] 210 | | head [INFO] [stdout] 211 | | )) [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.udt_manager` as mutable more than once at a time [INFO] [stdout] --> src/parser.rs:209:38 [INFO] [stdout] | [INFO] [stdout] 208 | Ok(self.push_new_sexpr( [INFO] [stdout] | ---- -------------- first borrow later used by call [INFO] [stdout] | | [INFO] [stdout] | first mutable borrow occurs here [INFO] [stdout] 209 | SexprKind::StructDef{id: self.udt_manager.declare_type(head, name, arguments, signature)?}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] help: try adding a local storing this argument... [INFO] [stdout] --> src/parser.rs:209:38 [INFO] [stdout] | [INFO] [stdout] 209 | SexprKind::StructDef{id: self.udt_manager.declare_type(head, name, arguments, signature)?}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: ...and then using that local as the argument to this call [INFO] [stdout] --> src/parser.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | Ok(self.push_new_sexpr( [INFO] [stdout] | ____________^ [INFO] [stdout] 209 | | SexprKind::StructDef{id: self.udt_manager.declare_type(head, name, arguments, signature)?}, [INFO] [stdout] 210 | | head [INFO] [stdout] 211 | | )) [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.func_manager` as mutable more than once at a time [INFO] [stdout] --> src/parser.rs:251:43 [INFO] [stdout] | [INFO] [stdout] 250 | Ok(self.push_new_sexpr( [INFO] [stdout] | ---- -------------- first borrow later used by call [INFO] [stdout] | | [INFO] [stdout] | first mutable borrow occurs here [INFO] [stdout] 251 | SexprKind::FuncDef { func_id: self.func_manager.declare_func(name, arguments, signature, out_type, body)? }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] help: try adding a local storing this argument... [INFO] [stdout] --> src/parser.rs:251:43 [INFO] [stdout] | [INFO] [stdout] 251 | SexprKind::FuncDef { func_id: self.func_manager.declare_func(name, arguments, signature, out_type, body)? }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: ...and then using that local as the argument to this call [INFO] [stdout] --> src/parser.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 250 | Ok(self.push_new_sexpr( [INFO] [stdout] | ____________^ [INFO] [stdout] 251 | | SexprKind::FuncDef { func_id: self.func_manager.declare_func(name, arguments, signature, out_type, body)? }, [INFO] [stdout] 252 | | head [INFO] [stdout] 253 | | )) [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `self.func_manager` as mutable more than once at a time [INFO] [stdout] --> src/parser.rs:251:43 [INFO] [stdout] | [INFO] [stdout] 250 | Ok(self.push_new_sexpr( [INFO] [stdout] | ---- -------------- first borrow later used by call [INFO] [stdout] | | [INFO] [stdout] | first mutable borrow occurs here [INFO] [stdout] 251 | SexprKind::FuncDef { func_id: self.func_manager.declare_func(name, arguments, signature, out_type, body)? }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] help: try adding a local storing this argument... [INFO] [stdout] --> src/parser.rs:251:43 [INFO] [stdout] | [INFO] [stdout] 251 | SexprKind::FuncDef { func_id: self.func_manager.declare_func(name, arguments, signature, out_type, body)? }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: ...and then using that local as the argument to this call [INFO] [stdout] --> src/parser.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 250 | Ok(self.push_new_sexpr( [INFO] [stdout] | ____________^ [INFO] [stdout] 251 | | SexprKind::FuncDef { func_id: self.func_manager.declare_func(name, arguments, signature, out_type, body)? }, [INFO] [stdout] 252 | | head [INFO] [stdout] 253 | | )) [INFO] [stdout] | |_________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scope_id` [INFO] [stdout] --> src/type_checker.rs:299:37 [INFO] [stdout] | [INFO] [stdout] 299 | .and_then(|(scope_id, v_index)| self.scope(self.scope_of(sexpr_id)).variable_types[v_index].clone()) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scope_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `scope_id` [INFO] [stdout] --> src/type_checker.rs:299:37 [INFO] [stdout] | [INFO] [stdout] 299 | .and_then(|(scope_id, v_index)| self.scope(self.scope_of(sexpr_id)).variable_types[v_index].clone()) [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scope_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:195:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 194 | SexprKind::Declare {ref variable_pattern, expr, body} => { [INFO] [stdout] 195 | let expr_type = self.type_check(*expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 196 | self.inform_var_type(self.scope_of(*body), variable_pattern, &expr_type); [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 197 | self.type_check(*body)? [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:204:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 204 | let expr_type = self.type_check(*expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:195:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 194 | SexprKind::Declare {ref variable_pattern, expr, body} => { [INFO] [stdout] 195 | let expr_type = self.type_check(*expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:211:42 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 211 | let predicate_type = self.type_check(*predicate)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:196:21 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 196 | self.inform_var_type(self.scope_of(*body), variable_pattern, &expr_type); [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:215:34 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 215 | let if_type= self.type_check(*if_branch)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 216 | let else_type = self.type_check(*else_branch)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 197 | self.type_check(*body)? [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:223:42 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 223 | let predicate_type = self.type_check(*predicate)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:204:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 204 | let expr_type = self.type_check(*expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 227 | self.type_check(*body)? [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:211:42 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 211 | let predicate_type = self.type_check(*predicate)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:232:42 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 232 | statement_type = self.type_check(statements[i])?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:215:34 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 215 | let if_type= self.type_check(*if_branch)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:216:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 216 | let else_type = self.type_check(*else_branch)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:238:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 238 | let body_type = self.type_check(self.func_manager.body[*func_id])?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow data in a `&` reference as mutable [INFO] [stdout] --> src/type_checker.rs:253:40 [INFO] [stdout] | [INFO] [stdout] 253 | SexprKind::StructGet { ref mut id, expr, ref field } => { [INFO] [stdout] | ^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:254:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 254 | let expr_type = self.type_check(*expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:223:42 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 223 | let predicate_type = self.type_check(*predicate)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow data in a `&` reference as mutable [INFO] [stdout] --> src/type_checker.rs:267:40 [INFO] [stdout] | [INFO] [stdout] 267 | SexprKind::StructSet { ref mut id, expr, ref field, value } => { [INFO] [stdout] | ^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:227:21 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 227 | self.type_check(*body)? [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:268:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 268 | let expr_type = self.type_check(*expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:232:42 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 232 | statement_type = self.type_check(statements[i])?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:276:42 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 276 | let value_type = self.type_check(*value)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow data in a `&` reference as mutable [INFO] [stdout] --> src/type_checker.rs:285:37 [INFO] [stdout] | [INFO] [stdout] 285 | SexprKind::Format { ref mut exprs } => { [INFO] [stdout] | ^^^^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:238:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 238 | let body_type = self.type_check(self.func_manager.body[*func_id])?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow data in a `&` reference as mutable [INFO] [stdout] --> src/type_checker.rs:253:40 [INFO] [stdout] | [INFO] [stdout] 253 | SexprKind::StructGet { ref mut id, expr, ref field } => { [INFO] [stdout] | ^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:287:25 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 287 | self.type_check(**expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:254:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 254 | let expr_type = self.type_check(*expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*m` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 314 | for ref sexpr_id in &m.top_level_sexprs { // iterate over all sexprs [INFO] [stdout] | ------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 315 | m.type_check(**sexpr_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow data in a `&` reference as mutable [INFO] [stdout] --> src/type_checker.rs:267:40 [INFO] [stdout] | [INFO] [stdout] 267 | SexprKind::StructSet { ref mut id, expr, ref field, value } => { [INFO] [stdout] | ^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:268:37 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 268 | let expr_type = self.type_check(*expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:276:42 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 276 | let value_type = self.type_check(*value)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow data in a `&` reference as mutable [INFO] [stdout] --> src/type_checker.rs:285:37 [INFO] [stdout] | [INFO] [stdout] 285 | SexprKind::Format { ref mut exprs } => { [INFO] [stdout] | ^^^^^^^^^^^^^ cannot borrow as mutable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:287:25 [INFO] [stdout] | [INFO] [stdout] 193 | match & *self.sexpr(sexpr_id).kind { [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] 287 | self.type_check(**expr)?; [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 `Ref<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*m` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/type_checker.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 314 | for ref sexpr_id in &m.top_level_sexprs { // iterate over all sexprs [INFO] [stdout] | ------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 315 | m.type_check(**sexpr_id)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 15 | let child = self.create_child(self.scope_of(sexpr_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:15:29 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 15 | let child = self.create_child(self.scope_of(sexpr_id)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 16 | self.bind_variable(child, variable_pattern.to_string(), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 16 | self.bind_variable(child, variable_pattern.to_string(), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 17 | self.create_scope(expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 17 | self.create_scope(expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 18 | self.create_scope(body, child)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 18 | self.create_scope(body, child)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 24 | self.create_scope(expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:24:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 24 | self.create_scope(expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 27 | self.create_scope(predicate, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 28 | self.create_scope(if_branch, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:27:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 27 | self.create_scope(predicate, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:28:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 28 | self.create_scope(if_branch, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 29 | self.create_scope(else_branch, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 29 | self.create_scope(else_branch, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 32 | self.create_scope(predicate, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:32:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 32 | self.create_scope(predicate, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 33 | self.create_scope(body, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 37 | self.create_scope(**statement, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:33:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 33 | self.create_scope(body, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:41:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 41 | self.create_scope(expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 37 | self.create_scope(**statement, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 44 | self.create_scope(expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:41:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 41 | self.create_scope(expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 45 | self.create_scope(value, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:44:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 44 | self.create_scope(expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 48 | self.bind_func(self.scope_of(sexpr_id), func_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 45 | self.create_scope(value, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.all_scopes` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:50:45 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 50 | let new = Scope::new_to_vec(&mut self.all_scopes, None, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 48 | self.bind_func(self.scope_of(sexpr_id), func_id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 51 | self.bind_func(new, func_id); // it is visible inside its own scope for recursion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.all_scopes` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:50:45 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 50 | let new = Scope::new_to_vec(&mut self.all_scopes, None, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 51 | self.bind_func(new, func_id); // it is visible inside its own scope for recursion [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 54 | / self.bind_variable(new, [INFO] [stdout] 55 | | self.func_manager.args[func_id][i].clone(), [INFO] [stdout] 56 | | Some(&self.func_manager.in_types[func_id][i].unwrap()) // unwrap is for the FutureType nonsense [INFO] [stdout] 57 | | ); [INFO] [stdout] | |_____________________^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 54 | / self.bind_variable(new, [INFO] [stdout] 55 | | self.func_manager.args[func_id][i].clone(), [INFO] [stdout] 56 | | Some(&self.func_manager.in_types[func_id][i].unwrap()) // unwrap is for the FutureType nonsense [INFO] [stdout] 57 | | ); [INFO] [stdout] | |_____________________^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:59:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 59 | self.create_scope(self.func_manager.body[func_id], new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:59:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 59 | self.create_scope(self.func_manager.body[func_id], new); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 62 | self.bind_struct_init(self.scope_of(sexpr_id), id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 66 | self.create_scope(**expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 62 | self.bind_struct_init(self.scope_of(sexpr_id), id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 66 | self.create_scope(**expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*opt_exprs` which is behind a shared reference [INFO] [stdout] --> src/scoping.rs:70:37 [INFO] [stdout] | [INFO] [stdout] 70 | for ref mut expr in opt_exprs.unwrap() { [INFO] [stdout] | ^^^^^^^^^ -------- `*opt_exprs` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents [INFO] [stdout] | move occurs because `*opt_exprs` has type `Option>`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `Option::::unwrap` takes ownership of the receiver `self`, which moves `*opt_exprs` [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/option.rs:964:25 [INFO] [stdout] help: you can `clone` the value and consume it, but this might not be your desired behavior [INFO] [stdout] | [INFO] [stdout] 70 | for ref mut expr in > as Clone>::clone(&opt_exprs).unwrap() { [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++ + [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 70 | for ref mut expr in opt_exprs.clone().unwrap() { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 71 | self.create_scope(*expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `*opt_exprs` which is behind a shared reference [INFO] [stdout] --> src/scoping.rs:70:37 [INFO] [stdout] | [INFO] [stdout] 70 | for ref mut expr in opt_exprs.unwrap() { [INFO] [stdout] | ^^^^^^^^^ -------- `*opt_exprs` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents [INFO] [stdout] | move occurs because `*opt_exprs` has type `Option>`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `Option::::unwrap` takes ownership of the receiver `self`, which moves `*opt_exprs` [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/option.rs:964:25 [INFO] [stdout] help: you can `clone` the value and consume it, but this might not be your desired behavior [INFO] [stdout] | [INFO] [stdout] 70 | for ref mut expr in > as Clone>::clone(&opt_exprs).unwrap() { [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++ + [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 70 | for ref mut expr in opt_exprs.clone().unwrap() { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/scoping.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 12 | match *self.sexpr_mut(sexpr_id).kind.deref() { [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] 71 | self.create_scope(*expr, parent)?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | } [INFO] [stdout] | - ... and the immutable borrow might be used here, when that temporary is dropped and runs the destructor for type `RefMut<'_, Sexpr>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `m.top_level_sexprs` which is behind a mutable reference [INFO] [stdout] --> src/scoping.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | for sexpr_id in m.top_level_sexprs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `m.top_level_sexprs` moved due to this implicit call to `.into_iter()` [INFO] [stdout] | move occurs because `m.top_level_sexprs` has type `Vec`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `m.top_level_sexprs` [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/iter/traits/collect.rs:346:18 [INFO] [stdout] help: consider iterating over a slice of the `Vec`'s content to avoid moving into the `for` loop [INFO] [stdout] | [INFO] [stdout] 89 | for sexpr_id in &m.top_level_sexprs { [INFO] [stdout] | + [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 89 | for sexpr_id in m.top_level_sexprs.clone() { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/optimize.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | fn const_prop(m: &mut Manager, id: SexprId) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/optimize.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | fn const_prop(m: &mut Manager, id: SexprId) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `m.top_level_sexprs` which is behind a mutable reference [INFO] [stdout] --> src/scoping.rs:89:21 [INFO] [stdout] | [INFO] [stdout] 89 | for sexpr_id in m.top_level_sexprs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `m.top_level_sexprs` moved due to this implicit call to `.into_iter()` [INFO] [stdout] | move occurs because `m.top_level_sexprs` has type `Vec`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `m.top_level_sexprs` [INFO] [stdout] --> /rustc/f609b7e0586f81fefb3523e3e17adf779ac416be/library/core/src/iter/traits/collect.rs:346:18 [INFO] [stdout] help: consider iterating over a slice of the `Vec`'s content to avoid moving into the `for` loop [INFO] [stdout] | [INFO] [stdout] 89 | for sexpr_id in &m.top_level_sexprs { [INFO] [stdout] | + [INFO] [stdout] help: consider cloning the value if the performance cost is acceptable [INFO] [stdout] | [INFO] [stdout] 89 | for sexpr_id in m.top_level_sexprs.clone() { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/optimize.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | fn const_prop(m: &mut Manager, id: SexprId) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/optimize.rs:4:32 [INFO] [stdout] | [INFO] [stdout] 4 | fn const_prop(m: &mut Manager, id: SexprId) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/manager.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | &Box::deref(&self.sexpr(sexpr_id).kind) [INFO] [stdout] | ^^^^^^^^^^^^^--------------------^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | temporary value created here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing temporary value [INFO] [stdout] --> src/manager.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | &Box::deref(&self.sexpr(sexpr_id).kind) [INFO] [stdout] | ^^^^^^^^^^^^^--------------------^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | temporary value created here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 63 previous errors; 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0223, E0308, E0412, E0425, E0499, E0502, E0507, E0515... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 63 previous errors; 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0223, E0308, E0412, E0425, E0499, E0502, E0507, E0515... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `BasicTranspilation` (bin "BasicTranspilation" test) due to 64 previous errors; 5 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `BasicTranspilation` (bin "BasicTranspilation") due to 64 previous errors; 5 warnings emitted [INFO] running `Command { std: "docker" "inspect" "ccf17bdf768b5a8741b8c68e07c57bf40e280e25a1ccf429f3699c81cd5d8792", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ccf17bdf768b5a8741b8c68e07c57bf40e280e25a1ccf429f3699c81cd5d8792", kill_on_drop: false }` [INFO] [stdout] ccf17bdf768b5a8741b8c68e07c57bf40e280e25a1ccf429f3699c81cd5d8792