[INFO] cloning repository https://github.com/v4kst1z/TIP [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/v4kst1z/TIP" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv4kst1z%2FTIP", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv4kst1z%2FTIP'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 71322981a1532112fb88bf47f2c2a98933e23ba5 [INFO] checking v4kst1z/TIP against try#024378d9203a4009ed73d6db2681b88a8d74ce7a for pr-112160 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fv4kst1z%2FTIP" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/v4kst1z/TIP on toolchain 024378d9203a4009ed73d6db2681b88a8d74ce7a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/v4kst1z/TIP [INFO] finished tweaking git repo https://github.com/v4kst1z/TIP [INFO] tweaked toml for git repo https://github.com/v4kst1z/TIP written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8318469adec0bd6adfb758385a485e1828baba77902d2c59b766bb324e66ed9b [INFO] running `Command { std: "docker" "start" "-a" "8318469adec0bd6adfb758385a485e1828baba77902d2c59b766bb324e66ed9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8318469adec0bd6adfb758385a485e1828baba77902d2c59b766bb324e66ed9b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8318469adec0bd6adfb758385a485e1828baba77902d2c59b766bb324e66ed9b", kill_on_drop: false }` [INFO] [stdout] 8318469adec0bd6adfb758385a485e1828baba77902d2c59b766bb324e66ed9b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+024378d9203a4009ed73d6db2681b88a8d74ce7a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 05518e0cddc0910159fcbd82e258f433e29bc97c4218c8a1e204536aa264fbd3 [INFO] running `Command { std: "docker" "start" "-a" "05518e0cddc0910159fcbd82e258f433e29bc97c4218c8a1e204536aa264fbd3", kill_on_drop: false }` [INFO] [stderr] Checking lexer v0.1.0 (/opt/rustwide/workdir/lexer) [INFO] [stderr] Checking parser v0.1.0 (/opt/rustwide/workdir/parser) [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&String` instead of borrowing the inner type [INFO] [stdout] --> parser/src/parser.rs:160:124 [INFO] [stdout] | [INFO] [stdout] 160 | if (self.result.prog_env.scopes.len() == 1 && self.result.prog_env.scopes.get(0).unwrap().contains(name.borrow())) || [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&String` instead of borrowing the inner type [INFO] [stdout] --> parser/src/parser.rs:161:125 [INFO] [stdout] | [INFO] [stdout] 161 | (self.result.prog_env.scopes.len() > 1 && !self.result.prog_env.scopes.last().unwrap().contains(name.borrow())) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking cfg v0.1.0 (/opt/rustwide/workdir/cfg) [INFO] [stderr] Checking type_analysis v0.1.0 (/opt/rustwide/workdir/type_analysis) [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> cfg/src/normalize.rs:37:38 [INFO] [stdout] | [INFO] [stdout] 37 | match expr.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> cfg/src/normalize.rs:49:47 [INFO] [stdout] | [INFO] [stdout] 49 | match a.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> cfg/src/normalize.rs:98:43 [INFO] [stdout] | [INFO] [stdout] 98 | match a.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&StatementDesc` instead of borrowing the inner type [INFO] [stdout] --> cfg/src/normalize.rs:192:20 [INFO] [stdout] | [INFO] [stdout] 192 | match stmt.stmt.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> cfg/src/normalize.rs:229:47 [INFO] [stdout] | [INFO] [stdout] 229 | match value.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> cfg/src/normalize.rs:304:49 [INFO] [stdout] | [INFO] [stdout] 304 | match (target.as_ref().borrow().expr.borrow(), value.as_ref().borrow().expr.borrow()) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> cfg/src/normalize.rs:304:88 [INFO] [stdout] | [INFO] [stdout] 304 | match (target.as_ref().borrow().expr.borrow(), value.as_ref().borrow().expr.borrow()) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:50:43 [INFO] [stdout] | [INFO] [stdout] 50 | match a.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:60:102 [INFO] [stdout] | [INFO] [stdout] 60 | if let ExpressionDesc::Identifier { name, id: _ } = function_name.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:77:38 [INFO] [stdout] | [INFO] [stdout] 77 | match expr.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:96:44 [INFO] [stdout] | [INFO] [stdout] 96 | a.clone(), constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[deny(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:111:74 [INFO] [stdout] | [INFO] [stdout] 111 | if let Some(name) = get_name(a.as_ref().borrow().expr.borrow()) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:136:24 [INFO] [stdout] | [INFO] [stdout] 136 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:143:78 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some(name) = get_name(function_name.as_ref().borrow().expr.borrow()) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:157:51 [INFO] [stdout] | [INFO] [stdout] 157 | expr.clone(), constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:162:69 [INFO] [stdout] | [INFO] [stdout] 162 | let para_name = get_name(para.as_ref().borrow().expr.borrow()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:188:20 [INFO] [stdout] | [INFO] [stdout] 188 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:190:83 [INFO] [stdout] | [INFO] [stdout] 190 | if let Some(ref name) = get_name(target.clone().as_ref().borrow().expr.borrow()) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:209:20 [INFO] [stdout] | [INFO] [stdout] 209 | env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:211:110 [INFO] [stdout] | [INFO] [stdout] 211 | if let ExpressionDesc::Unop { op: UnaryOperator::Dereference, a } = target.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:212:70 [INFO] [stdout] | [INFO] [stdout] 212 | if let Some(name) = get_name(a.as_ref().borrow().expr.borrow()) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:247:43 [INFO] [stdout] | [INFO] [stdout] 247 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:258:89 [INFO] [stdout] | [INFO] [stdout] 258 | constraints = generate_type_constraints_from_stmt(stmt, constraints, env.borrow()); [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:265:43 [INFO] [stdout] | [INFO] [stdout] 265 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/constraint.rs:271:47 [INFO] [stdout] | [INFO] [stdout] 271 | stmt, constraints, env.borrow() [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Symbols` does not implement `Borrow`, so calling `borrow` on `&Symbols` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&Symbols` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:300:24 [INFO] [stdout] | [INFO] [stdout] 300 | fun.fun_env.borrow() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&Symbols` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/constraint.rs:307:53 [INFO] [stdout] | [INFO] [stdout] 307 | let fun_id = get_expr_id(fun.fun_env.borrow(), fun_name.clone()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/type_check.rs:14:46 [INFO] [stdout] | [INFO] [stdout] 14 | match expr.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/type_check.rs:21:66 [INFO] [stdout] | [INFO] [stdout] 21 | ... match tmp_expr.as_ref().borrow().expr.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&TypeConstraint` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/type_check.rs:108:33 [INFO] [stdout] | [INFO] [stdout] 108 | return match type_constraint.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/type_check.rs:113:68 [INFO] [stdout] | [INFO] [stdout] 113 | let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/type_check.rs:113:54 [INFO] [stdout] | [INFO] [stdout] 113 | let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Expression` does not implement `Borrow`, so calling `borrow` on `&Expression` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&ExpressionDesc` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/type_check.rs:126:68 [INFO] [stdout] | [INFO] [stdout] 126 | let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: call to `.borrow()` on a reference in this situation does nothing [INFO] [stdout] --> type_analysis/src/type_check.rs:126:54 [INFO] [stdout] | [INFO] [stdout] 126 | let expr_desc = unsafe { (*expr.as_ptr()).borrow().expr.borrow() }; [INFO] [stdout] | ^^^^^^^^^ unnecessary method call [INFO] [stdout] | [INFO] [stdout] = note: the type `Expression` does not implement `Borrow`, so calling `borrow` on `&Expression` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.borrow()` on a double reference, which returns `&TypeConstraint` instead of borrowing the inner type [INFO] [stdout] --> type_analysis/src/type_check.rs:152:33 [INFO] [stdout] | [INFO] [stdout] 152 | return match type_constraint.borrow() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 12 previous errors; 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `type_analysis` (lib) due to 13 previous errors; 17 warnings emitted [INFO] running `Command { std: "docker" "inspect" "05518e0cddc0910159fcbd82e258f433e29bc97c4218c8a1e204536aa264fbd3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05518e0cddc0910159fcbd82e258f433e29bc97c4218c8a1e204536aa264fbd3", kill_on_drop: false }` [INFO] [stdout] 05518e0cddc0910159fcbd82e258f433e29bc97c4218c8a1e204536aa264fbd3