[INFO] cloning repository https://github.com/brandonxin/toyc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brandonxin/toyc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrandonxin%2Ftoyc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrandonxin%2Ftoyc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 30ba3bcbf0f88a9afef73901e457a1ba4be8b444 [INFO] testing brandonxin/toyc against try#0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrandonxin%2Ftoyc" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/brandonxin/toyc [INFO] finished tweaking git repo https://github.com/brandonxin/toyc [INFO] tweaked toml for git repo https://github.com/brandonxin/toyc written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/brandonxin/toyc on toolchain 0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/brandonxin/toyc 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" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing brandonxin/toyc against try#0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrandonxin%2Ftoyc" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/brandonxin/toyc [INFO] finished tweaking git repo https://github.com/brandonxin/toyc [INFO] tweaked toml for git repo https://github.com/brandonxin/toyc written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/brandonxin/toyc on toolchain 0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/brandonxin/toyc 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" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing brandonxin/toyc against try#0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrandonxin%2Ftoyc" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/brandonxin/toyc [INFO] finished tweaking git repo https://github.com/brandonxin/toyc [INFO] tweaked toml for git repo https://github.com/brandonxin/toyc written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/brandonxin/toyc on toolchain 0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/brandonxin/toyc 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" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing brandonxin/toyc against try#0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrandonxin%2Ftoyc" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/brandonxin/toyc [INFO] finished tweaking git repo https://github.com/brandonxin/toyc [INFO] tweaked toml for git repo https://github.com/brandonxin/toyc written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/brandonxin/toyc on toolchain 0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/brandonxin/toyc 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" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing brandonxin/toyc against try#0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 for pr-137122-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrandonxin%2Ftoyc" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/brandonxin/toyc [INFO] finished tweaking git repo https://github.com/brandonxin/toyc [INFO] tweaked toml for git repo https://github.com/brandonxin/toyc written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/brandonxin/toyc on toolchain 0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/brandonxin/toyc 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" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b0f994b9a2430286f304a50f2e2f47cd3c0bf3c694235b447753f9a2615bd5ee [INFO] running `Command { std: "docker" "start" "-a" "b0f994b9a2430286f304a50f2e2f47cd3c0bf3c694235b447753f9a2615bd5ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b0f994b9a2430286f304a50f2e2f47cd3c0bf3c694235b447753f9a2615bd5ee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0f994b9a2430286f304a50f2e2f47cd3c0bf3c694235b447753f9a2615bd5ee", kill_on_drop: false }` [INFO] [stdout] b0f994b9a2430286f304a50f2e2f47cd3c0bf3c694235b447753f9a2615bd5ee [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 021be9e4b742ec48c6f6c75b064c424cb5f57901747efc4a14f11c4cce497556 [INFO] running `Command { std: "docker" "start" "-a" "021be9e4b742ec48c6f6c75b064c424cb5f57901747efc4a14f11c4cce497556", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling anstyle-query v1.1.2 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling clap_lex v0.7.4 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling typed-arena v2.0.2 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling clap_builder v4.5.27 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling clap_derive v4.5.24 [INFO] [stderr] Compiling clap v4.5.27 [INFO] [stderr] Compiling toyc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/aarch64/inst.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::{Ref, RefCell, RefMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `char::Decode` [INFO] [stdout] --> src/frontend/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use char::Decode; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::func` [INFO] [stdout] --> src/ir/codegen/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use super::func; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/aarch64/inst.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | _ => unimplemented!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/aarch64/inst.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 152 | Self::Mov { dst, src } => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 156 | Self::Ldr { dst, src } => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 160 | Self::Ldp { dst1, dst2, src } => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 168 | Self::Str { src, dst } => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 223 | _ => unimplemented!(), [INFO] [stdout] | ^ ...and 9 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/ir/context.rs:47:33 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new_parameter(&self, name: String) -> &Param { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proto` [INFO] [stdout] --> src/ir/codegen/mod.rs:37:43 [INFO] [stdout] | [INFO] [stdout] 37 | ast::GlobalDecl::FuncDecl(proto) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/ir/codegen/mod.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | Some(func) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ir` [INFO] [stdout] --> src/ir/codegen/mod.rs:70:25 [INFO] [stdout] | [INFO] [stdout] 70 | for (param_ast, param_ir) in params.iter().zip(param_values.iter()) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_ir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_name` [INFO] [stdout] --> src/ir/codegen/mod.rs:209:21 [INFO] [stdout] | [INFO] [stdout] 209 | ty: type_name, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ir/codegen/mod.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | _ => unimplemented!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/ir/codegen/mod.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 298 | ast::BinaryOp::Assignment => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 303 | ast::BinaryOp::BitwiseOr => { [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 308 | ast::BinaryOp::BitwiseXor => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 313 | ast::BinaryOp::BitwiseAnd => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 383 | _ => unimplemented!(), [INFO] [stdout] | ^ ...and 13 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `externs` is never read [INFO] [stdout] --> src/aarch64/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Module<'m> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 19 | ctx: Context<'m>, [INFO] [stdout] 20 | externs: Vec<&'m Label<'m>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/aarch64/inst.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 305 | pub enum ConditionCode { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 308 | CS, // Carry set / unsigned higher or same [INFO] [stdout] | ^^ [INFO] [stdout] 309 | CC, // Carry clear / unsigned lower [INFO] [stdout] | ^^ [INFO] [stdout] 310 | MI, // Minus / negative [INFO] [stdout] | ^^ [INFO] [stdout] 311 | PL, // Plus / positive or zero [INFO] [stdout] | ^^ [INFO] [stdout] 312 | VS, // Overflow [INFO] [stdout] | ^^ [INFO] [stdout] 313 | VC, // No overflow [INFO] [stdout] | ^^ [INFO] [stdout] 314 | HI, // Unsigned higher [INFO] [stdout] | ^^ [INFO] [stdout] 315 | LS, // Unsigned lower or same [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 320 | AL, // Always (unconditional) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Base` and `BaseOffset` are never constructed [INFO] [stdout] --> src/aarch64/inst.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 362 | pub enum Memory<'m> { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 363 | Base { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | BaseOffset { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Memory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ret_ty` is never used [INFO] [stdout] --> src/ast/func.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl FuncDecl { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn ret_ty(&self) -> Rc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ty` is never used [INFO] [stdout] --> src/ast/func.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl Param { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn ty(&self) -> Rc { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `lshr` is never used [INFO] [stdout] --> src/ir/context.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'m> Context<'m> { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn lshr(&self, op0: &'m dyn Value, op1: &'m dyn Value) -> &Inst<'m> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/mod.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn functions(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn functions(&self) -> Ref<'_, Vec<&'m Func<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/mod.rs:41:26 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn functions_mut(&self) -> RefMut>> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 41 | pub fn functions_mut(&self) -> RefMut<'_, Vec<&'m Func<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/func.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn body(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ----------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 42 | pub fn body(&self) -> Ref<'_, Vec<&'m Label<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/func.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn body_mut(&self) -> RefMut>> { [INFO] [stdout] | ^^^^^ -------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn body_mut(&self) -> RefMut<'_, Vec<&'m Label<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/label.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn insts(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 21 | pub fn insts(&self) -> Ref<'_, Vec<&'m Inst<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/label.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn insts_mut(&self) -> RefMut>> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn insts_mut(&self) -> RefMut<'_, Vec<&'m Inst<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/ir/mod.rs:43:22 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn functions(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 43 | pub fn functions(&self) -> Ref<'_, Vec<&'m Func<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/ir/basicblock.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn instructions(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn instructions(&self) -> Ref<'_, Vec<&'m Inst<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/ir/func.rs:53:22 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn constants(&self) -> Ref> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 53 | pub fn constants(&self) -> Ref<'_, Vec<&'m Constant>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/ir/func.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn blocks(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 57 | pub fn blocks(&self) -> Ref<'_, Vec<&'m BasicBlock<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.58s [INFO] running `Command { std: "docker" "inspect" "021be9e4b742ec48c6f6c75b064c424cb5f57901747efc4a14f11c4cce497556", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "021be9e4b742ec48c6f6c75b064c424cb5f57901747efc4a14f11c4cce497556", kill_on_drop: false }` [INFO] [stdout] 021be9e4b742ec48c6f6c75b064c424cb5f57901747efc4a14f11c4cce497556 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 13229ced164a9753e8bb3501225f7c3085779cbafde8caea3a807cdf6c2d2712 [INFO] running `Command { std: "docker" "start" "-a" "13229ced164a9753e8bb3501225f7c3085779cbafde8caea3a807cdf6c2d2712", kill_on_drop: false }` [INFO] [stderr] Compiling toyc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/aarch64/inst.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::{Ref, RefCell, RefMut}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `char::Decode` [INFO] [stdout] --> src/frontend/mod.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub use char::Decode; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::func` [INFO] [stdout] --> src/ir/codegen/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use super::func; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/aarch64/inst.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 223 | _ => unimplemented!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/aarch64/inst.rs:223:13 [INFO] [stdout] | [INFO] [stdout] 152 | Self::Mov { dst, src } => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 156 | Self::Ldr { dst, src } => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 160 | Self::Ldp { dst1, dst2, src } => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 168 | Self::Str { src, dst } => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 223 | _ => unimplemented!(), [INFO] [stdout] | ^ ...and 9 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/frontend/lex.rs:250:14 [INFO] [stdout] | [INFO] [stdout] 250 | for (i, answer) in tokens.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/ir/context.rs:47:33 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new_parameter(&self, name: String) -> &Param { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `proto` [INFO] [stdout] --> src/ir/codegen/mod.rs:37:43 [INFO] [stdout] | [INFO] [stdout] 37 | ast::GlobalDecl::FuncDecl(proto) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func` [INFO] [stdout] --> src/ir/codegen/mod.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | Some(func) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_ir` [INFO] [stdout] --> src/ir/codegen/mod.rs:70:25 [INFO] [stdout] | [INFO] [stdout] 70 | for (param_ast, param_ir) in params.iter().zip(param_values.iter()) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_ir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_name` [INFO] [stdout] --> src/ir/codegen/mod.rs:209:21 [INFO] [stdout] | [INFO] [stdout] 209 | ty: type_name, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/ir/codegen/mod.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | _ => unimplemented!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/ir/codegen/mod.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 298 | ast::BinaryOp::Assignment => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 303 | ast::BinaryOp::BitwiseOr => { [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 308 | ast::BinaryOp::BitwiseXor => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 313 | ast::BinaryOp::BitwiseAnd => { [INFO] [stdout] | ------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 383 | _ => unimplemented!(), [INFO] [stdout] | ^ ...and 13 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `externs` is never read [INFO] [stdout] --> src/aarch64/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Module<'m> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 19 | ctx: Context<'m>, [INFO] [stdout] 20 | externs: Vec<&'m Label<'m>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/aarch64/inst.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 305 | pub enum ConditionCode { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 308 | CS, // Carry set / unsigned higher or same [INFO] [stdout] | ^^ [INFO] [stdout] 309 | CC, // Carry clear / unsigned lower [INFO] [stdout] | ^^ [INFO] [stdout] 310 | MI, // Minus / negative [INFO] [stdout] | ^^ [INFO] [stdout] 311 | PL, // Plus / positive or zero [INFO] [stdout] | ^^ [INFO] [stdout] 312 | VS, // Overflow [INFO] [stdout] | ^^ [INFO] [stdout] 313 | VC, // No overflow [INFO] [stdout] | ^^ [INFO] [stdout] 314 | HI, // Unsigned higher [INFO] [stdout] | ^^ [INFO] [stdout] 315 | LS, // Unsigned lower or same [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 320 | AL, // Always (unconditional) [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Base` and `BaseOffset` are never constructed [INFO] [stdout] --> src/aarch64/inst.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 362 | pub enum Memory<'m> { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 363 | Base { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | BaseOffset { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Memory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ret_ty` is never used [INFO] [stdout] --> src/ast/func.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl FuncDecl { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn ret_ty(&self) -> Rc { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ty` is never used [INFO] [stdout] --> src/ast/func.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl Param { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn ty(&self) -> Rc { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `lshr` is never used [INFO] [stdout] --> src/ir/context.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl<'m> Context<'m> { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn lshr(&self, op0: &'m dyn Value, op1: &'m dyn Value) -> &Inst<'m> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/mod.rs:37:22 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn functions(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn functions(&self) -> Ref<'_, Vec<&'m Func<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/mod.rs:41:26 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn functions_mut(&self) -> RefMut>> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 41 | pub fn functions_mut(&self) -> RefMut<'_, Vec<&'m Func<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/func.rs:42:17 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn body(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ----------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 42 | pub fn body(&self) -> Ref<'_, Vec<&'m Label<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/func.rs:46:21 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn body_mut(&self) -> RefMut>> { [INFO] [stdout] | ^^^^^ -------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 46 | pub fn body_mut(&self) -> RefMut<'_, Vec<&'m Label<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/label.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn insts(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 21 | pub fn insts(&self) -> Ref<'_, Vec<&'m Inst<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/aarch64/label.rs:25:22 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn insts_mut(&self) -> RefMut>> { [INFO] [stdout] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 25 | pub fn insts_mut(&self) -> RefMut<'_, Vec<&'m Inst<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/ir/mod.rs:43:22 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn functions(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 43 | pub fn functions(&self) -> Ref<'_, Vec<&'m Func<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/ir/basicblock.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn instructions(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 27 | pub fn instructions(&self) -> Ref<'_, Vec<&'m Inst<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/ir/func.rs:53:22 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn constants(&self) -> Ref> { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 53 | pub fn constants(&self) -> Ref<'_, Vec<&'m Constant>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/ir/func.rs:57:19 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn blocks(&self) -> Ref>> { [INFO] [stdout] | ^^^^^ ---------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 57 | pub fn blocks(&self) -> Ref<'_, Vec<&'m BasicBlock<'m>>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s [INFO] running `Command { std: "docker" "inspect" "13229ced164a9753e8bb3501225f7c3085779cbafde8caea3a807cdf6c2d2712", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "13229ced164a9753e8bb3501225f7c3085779cbafde8caea3a807cdf6c2d2712", kill_on_drop: false }` [INFO] [stdout] 13229ced164a9753e8bb3501225f7c3085779cbafde8caea3a807cdf6c2d2712 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+0936b3db0ae648ba2d5b60eb08cf4faf2ddab0c6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 6e62a551b8d7498a0c48d83175fe61f79cce7a4170c5b69b5bcc816755046dc6 [INFO] running `Command { std: "docker" "start" "-a" "6e62a551b8d7498a0c48d83175fe61f79cce7a4170c5b69b5bcc816755046dc6", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Ref` [INFO] [stderr] --> src/aarch64/inst.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::cell::{Ref, RefCell, RefMut}; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `char::Decode` [INFO] [stderr] --> src/frontend/mod.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | pub use char::Decode; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::func` [INFO] [stderr] --> src/ir/codegen/mod.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use super::func; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/aarch64/inst.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | _ => unimplemented!(), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/aarch64/inst.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 152 | Self::Mov { dst, src } => { [INFO] [stderr] | ---------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 156 | Self::Ldr { dst, src } => { [INFO] [stderr] | ---------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 160 | Self::Ldp { dst1, dst2, src } => { [INFO] [stderr] | ----------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 168 | Self::Str { src, dst } => { [INFO] [stderr] | ---------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 223 | _ => unimplemented!(), [INFO] [stderr] | ^ ...and 9 other patterns collectively make this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/frontend/lex.rs:250:14 [INFO] [stderr] | [INFO] [stderr] 250 | for (i, answer) in tokens.iter().enumerate() { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/ir/context.rs:47:33 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn new_parameter(&self, name: String) -> &Param { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `proto` [INFO] [stderr] --> src/ir/codegen/mod.rs:37:43 [INFO] [stderr] | [INFO] [stderr] 37 | ast::GlobalDecl::FuncDecl(proto) => { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_proto` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `func` [INFO] [stderr] --> src/ir/codegen/mod.rs:46:30 [INFO] [stderr] | [INFO] [stderr] 46 | Some(func) => { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_func` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `param_ir` [INFO] [stderr] --> src/ir/codegen/mod.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | for (param_ast, param_ir) in params.iter().zip(param_values.iter()) { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_ir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_name` [INFO] [stderr] --> src/ir/codegen/mod.rs:209:21 [INFO] [stderr] | [INFO] [stderr] 209 | ty: type_name, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_name` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/ir/codegen/mod.rs:383:21 [INFO] [stderr] | [INFO] [stderr] 383 | _ => unimplemented!(), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/ir/codegen/mod.rs:383:21 [INFO] [stderr] | [INFO] [stderr] 298 | ast::BinaryOp::Assignment => { [INFO] [stderr] | ------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 303 | ast::BinaryOp::BitwiseOr => { [INFO] [stderr] | ------------------------ matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 308 | ast::BinaryOp::BitwiseXor => { [INFO] [stderr] | ------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 313 | ast::BinaryOp::BitwiseAnd => { [INFO] [stderr] | ------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 383 | _ => unimplemented!(), [INFO] [stderr] | ^ ...and 13 other patterns collectively make this unreachable [INFO] [stderr] [INFO] [stderr] warning: field `externs` is never read [INFO] [stderr] --> src/aarch64/mod.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct Module<'m> { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 19 | ctx: Context<'m>, [INFO] [stderr] 20 | externs: Vec<&'m Label<'m>>, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/aarch64/inst.rs:308:5 [INFO] [stderr] | [INFO] [stderr] 305 | pub enum ConditionCode { [INFO] [stderr] | ------------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 308 | CS, // Carry set / unsigned higher or same [INFO] [stderr] | ^^ [INFO] [stderr] 309 | CC, // Carry clear / unsigned lower [INFO] [stderr] | ^^ [INFO] [stderr] 310 | MI, // Minus / negative [INFO] [stderr] | ^^ [INFO] [stderr] 311 | PL, // Plus / positive or zero [INFO] [stderr] | ^^ [INFO] [stderr] 312 | VS, // Overflow [INFO] [stderr] | ^^ [INFO] [stderr] 313 | VC, // No overflow [INFO] [stderr] | ^^ [INFO] [stderr] 314 | HI, // Unsigned higher [INFO] [stderr] | ^^ [INFO] [stderr] 315 | LS, // Unsigned lower or same [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 320 | AL, // Always (unconditional) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Base` and `BaseOffset` are never constructed [INFO] [stderr] --> src/aarch64/inst.rs:363:5 [INFO] [stderr] | [INFO] [stderr] 362 | pub enum Memory<'m> { [INFO] [stderr] | ------ variants in this enum [INFO] [stderr] 363 | Base { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 366 | BaseOffset { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Memory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `ret_ty` is never used [INFO] [stderr] --> src/ast/func.rs:45:12 [INFO] [stderr] | [INFO] [stderr] 32 | impl FuncDecl { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 45 | pub fn ret_ty(&self) -> Rc { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `ty` is never used [INFO] [stderr] --> src/ast/func.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 60 | impl Param { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn ty(&self) -> Rc { [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: method `lshr` is never used [INFO] [stderr] --> src/ir/context.rs:83:12 [INFO] [stderr] | [INFO] [stderr] 16 | impl<'m> Context<'m> { [INFO] [stderr] | -------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 83 | pub fn lshr(&self, op0: &'m dyn Value, op1: &'m dyn Value) -> &Inst<'m> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/aarch64/mod.rs:37:22 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn functions(&self) -> Ref>> { [INFO] [stderr] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 37 | pub fn functions(&self) -> Ref<'_, Vec<&'m Func<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/aarch64/mod.rs:41:26 [INFO] [stderr] | [INFO] [stderr] 41 | pub fn functions_mut(&self) -> RefMut>> { [INFO] [stderr] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 41 | pub fn functions_mut(&self) -> RefMut<'_, Vec<&'m Func<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/aarch64/func.rs:42:17 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn body(&self) -> Ref>> { [INFO] [stderr] | ^^^^^ ----------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 42 | pub fn body(&self) -> Ref<'_, Vec<&'m Label<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/aarch64/func.rs:46:21 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn body_mut(&self) -> RefMut>> { [INFO] [stderr] | ^^^^^ -------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 46 | pub fn body_mut(&self) -> RefMut<'_, Vec<&'m Label<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/aarch64/label.rs:21:18 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn insts(&self) -> Ref>> { [INFO] [stderr] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 21 | pub fn insts(&self) -> Ref<'_, Vec<&'m Inst<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/aarch64/label.rs:25:22 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn insts_mut(&self) -> RefMut>> { [INFO] [stderr] | ^^^^^ ------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 25 | pub fn insts_mut(&self) -> RefMut<'_, Vec<&'m Inst<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/ir/mod.rs:43:22 [INFO] [stderr] | [INFO] [stderr] 43 | pub fn functions(&self) -> Ref>> { [INFO] [stderr] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 43 | pub fn functions(&self) -> Ref<'_, Vec<&'m Func<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/ir/basicblock.rs:27:25 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn instructions(&self) -> Ref>> { [INFO] [stderr] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 27 | pub fn instructions(&self) -> Ref<'_, Vec<&'m Inst<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/ir/func.rs:53:22 [INFO] [stderr] | [INFO] [stderr] 53 | pub fn constants(&self) -> Ref> { [INFO] [stderr] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 53 | pub fn constants(&self) -> Ref<'_, Vec<&'m Constant>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/ir/func.rs:57:19 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn blocks(&self) -> Ref>> { [INFO] [stderr] | ^^^^^ ---------------------------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 57 | pub fn blocks(&self) -> Ref<'_, Vec<&'m BasicBlock<'m>>> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `toyc` (bin "toyc" test) generated 27 warnings (run `cargo fix --bin "toyc" --tests` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/toyc-07c86b475b1d8619) [INFO] [stdout] [INFO] [stdout] running 34 tests [INFO] [stdout] test ast::type_expr::tests::test_type_expr ... ok [INFO] [stdout] test frontend::lex::tests::fib ... ok [INFO] [stdout] test frontend::parse::tests::bitwise_or ... ok [INFO] [stdout] test frontend::parse::tests::bitwise_or_and_precedence ... ok [INFO] [stdout] test frontend::parse::tests::bitwise_or_and_precedence2 ... ok [INFO] [stdout] test frontend::parse::tests::bitwise_or_associativity ... ok [INFO] [stdout] test frontend::parse::tests::extern_func ... ok [INFO] [stdout] test frontend::parse::tests::extern_func2 ... ok [INFO] [stdout] test frontend::parse::tests::fib ... ok [INFO] [stdout] test frontend::parse::tests::fib_with_rel_op ... ok [INFO] [stdout] test frontend::parse::tests::parse_pointer ... ok [INFO] [stdout] test frontend::parse::tests::parse_pointer2 ... ok [INFO] [stdout] test frontend::parse::tests::shift ... ok [INFO] [stdout] test frontend::parse::tests::shift2 ... ok [INFO] [stdout] test frontend::parse::tests::shift3 ... ok [INFO] [stdout] test frontend::parse::tests::unary ... ok [INFO] [stdout] test frontend::utf8::tests::ascii_1 ... ok [INFO] [stdout] test frontend::utf8::tests::ascii_0 ... ok [INFO] [stdout] test frontend::utf8::tests::ascii_n ... ok [INFO] [stdout] test frontend::utf8::tests::utf8_6 ... ok [INFO] [stdout] test frontend::utf8::tests::utf8_n ... ok [INFO] [stdout] test frontend::utf8::tests::byte_never_appear_case_11 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::byte_never_appear_case_12 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::byte_never_appear_case_2 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::byte_never_appear_case_13 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::byte_never_appear_case_41 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::byte_never_appear_case_42 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::invalid_utf8_4 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::byte_never_appear_case_14 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::invalid_utf8_1 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::invalid_utf8_3 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::invalid_utf8_6 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::byte_never_appear_case_5 - should panic ... ok [INFO] [stdout] test frontend::utf8::tests::invalid_utf8_2 - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6e62a551b8d7498a0c48d83175fe61f79cce7a4170c5b69b5bcc816755046dc6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e62a551b8d7498a0c48d83175fe61f79cce7a4170c5b69b5bcc816755046dc6", kill_on_drop: false }` [INFO] [stdout] 6e62a551b8d7498a0c48d83175fe61f79cce7a4170c5b69b5bcc816755046dc6