[INFO] fetching crate lavish-compiler 0.4.0... [INFO] testing lavish-compiler-0.4.0 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate lavish-compiler 0.4.0 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate lavish-compiler 0.4.0 [INFO] finished tweaking crates.io crate lavish-compiler 0.4.0 [INFO] tweaked toml for crates.io crate lavish-compiler 0.4.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate lavish-compiler 0.4.0 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 70 packages to latest compatible versions [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.46) [INFO] [stderr] Adding colored v1.9.4 (available: v3.0.0) [INFO] [stderr] Adding env_logger v0.6.2 (available: v0.11.8) [INFO] [stderr] Adding heck v0.3.3 (available: v0.5.0) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.11.0) [INFO] [stderr] Adding nom v5.1.3 (available: v8.0.0) [INFO] [stderr] Adding simple-error v0.2.3 (available: v0.3.1) [INFO] [stderr] Adding strip-ansi-escapes v0.1.1 (available: v0.2.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f62597a4f98706353a12077324585dc8147d808af0552c2edbf576566b3e355b [INFO] running `Command { std: "docker" "start" "-a" "f62597a4f98706353a12077324585dc8147d808af0552c2edbf576566b3e355b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f62597a4f98706353a12077324585dc8147d808af0552c2edbf576566b3e355b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f62597a4f98706353a12077324585dc8147d808af0552c2edbf576566b3e355b", kill_on_drop: false }` [INFO] [stdout] f62597a4f98706353a12077324585dc8147d808af0552c2edbf576566b3e355b [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a97d6750c88cb2671a58bb09a76bff230da1dad8d773714973a318fe54517280 [INFO] running `Command { std: "docker" "start" "-a" "a97d6750c88cb2671a58bb09a76bff230da1dad8d773714973a318fe54517280", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling nom v5.1.3 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling simple-error v0.2.3 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling colored v1.9.4 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling env_logger v0.6.2 [INFO] [stderr] Compiling lavish-compiler v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `output::*` [INFO] [stdout] --> src/codegen/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use output::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | pub(crate) frames: Vec<&'a Frame>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 | pub(crate) frames: Vec<&'a dyn Frame>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/output.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | writer: &'a mut fmt::Write, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | writer: &'a mut dyn fmt::Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/lang.rs:45:22 [INFO] [stdout] | [INFO] [stdout] 45 | body: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | body: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/lang.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | body: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 193 | body: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/types.rs:5:64 [INFO] [stdout] | [INFO] [stdout] 5 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 5 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:94:27 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn new(frame: &'a Frame) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 94 | pub fn new(frame: &'a dyn Frame) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:100:35 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn push(&self, frame: &'a Frame) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 | pub fn push(&self, frame: &'a dyn Frame) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:274:41 [INFO] [stdout] | [INFO] [stdout] 274 | pub fn for_each_fun(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 274 | pub fn for_each_fun(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:280:44 [INFO] [stdout] | [INFO] [stdout] 280 | pub fn for_each_struct(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 280 | pub fn for_each_struct(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:286:42 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn for_each_enum(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 286 | pub fn for_each_enum(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:292:47 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn for_each_namespace(&self, cb: &mut FnMut(Anchored<&NamespaceBody>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 | pub fn for_each_namespace(&self, cb: &mut dyn FnMut(Anchored<&NamespaceBody>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:298:51 [INFO] [stdout] | [INFO] [stdout] 298 | pub fn for_each_fun_of_schema(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 298 | pub fn for_each_fun_of_schema(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:306:54 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn for_each_struct_of_schema(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 306 | pub fn for_each_struct_of_schema(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:316:52 [INFO] [stdout] | [INFO] [stdout] 316 | pub fn for_each_enum_of_schema(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 316 | pub fn for_each_enum_of_schema(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:332:51 [INFO] [stdout] | [INFO] [stdout] 332 | pub fn for_each_fun_of_schema(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 332 | pub fn for_each_fun_of_schema(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:341:54 [INFO] [stdout] | [INFO] [stdout] 341 | pub fn for_each_struct_of_schema(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 341 | pub fn for_each_struct_of_schema(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:350:52 [INFO] [stdout] | [INFO] [stdout] 350 | pub fn for_each_enum_of_schema(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 350 | pub fn for_each_enum_of_schema(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/output.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new(writer: &'a mut fmt::Write) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new(writer: &'a mut dyn fmt::Write) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/output.rs:120:35 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn fmt(writer: &'a mut fmt::Write, f: F) -> std::fmt::Result [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 | pub fn fmt(writer: &'a mut dyn fmt::Write, f: F) -> std::fmt::Result [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/protocol.rs:193:37 [INFO] [stdout] | [INFO] [stdout] 193 | fn for_each_fun(&self, cb: &mut FnMut(ast::Anchored<&ast::FunctionDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 193 | fn for_each_fun(&self, cb: &mut dyn FnMut(ast::Anchored<&ast::FunctionDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/types.rs:11:64 [INFO] [stdout] | [INFO] [stdout] 11 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `loc` is never read [INFO] [stdout] --> src/ast/nodes.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Rules { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 13 | pub loc: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Rules` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `from` is never read [INFO] [stdout] --> src/ast/nodes.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Build { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 30 | pub name: Identifier, [INFO] [stdout] 31 | pub from: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Build` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/ast/nodes.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct FromDirective { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 36 | pub path: StringLiteral, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FromDirective` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `loc` and `value` are never read [INFO] [stdout] --> src/ast/nodes.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct StringLiteral { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 41 | pub loc: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | pub value: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StringLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `build` and `imports` are never read [INFO] [stdout] --> src/ast/nodes.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct WorkspaceMember { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 122 | pub name: String, [INFO] [stdout] 123 | pub build: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 124 | pub imports: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WorkspaceMember` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `imports` is never read [INFO] [stdout] --> src/ast/nodes.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct Schema { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 130 | pub loc: Span, [INFO] [stdout] 131 | pub imports: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Schema` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `from` are never read [INFO] [stdout] --> src/ast/nodes.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 142 | pub struct Import { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 143 | pub name: Identifier, [INFO] [stdout] | ^^^^ [INFO] [stdout] 144 | pub from: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Import` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `loc` is never read [INFO] [stdout] --> src/ast/nodes.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 345 | pub struct EnumDecl { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 346 | pub loc: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnumDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `loc` is never read [INFO] [stdout] --> src/ast/nodes.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 353 | pub struct EnumVariant { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 354 | pub loc: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnumVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast/anchored.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | Schema(&'a Schema), [INFO] [stdout] | ------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 - Schema(&'a Schema), [INFO] [stdout] 11 + Schema(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast/anchored.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | Namespace(&'a NamespaceDecl), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 - Namespace(&'a NamespaceDecl), [INFO] [stdout] 12 + Namespace(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast/anchored.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | Function(&'a FunctionDecl), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - Function(&'a FunctionDecl), [INFO] [stdout] 13 + Function(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast/anchored.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | Synthetic(&'a SyntheticFrame), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 - Synthetic(&'a SyntheticFrame), [INFO] [stdout] 14 + Synthetic(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `slot`, `rust_name`, `Params`, `Results`, `Client`, and `Handler` are never used [INFO] [stdout] --> src/codegen/rust/ir/ast_ext.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub trait RustFn { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] 83 | fn slot(&self) -> String; [INFO] [stdout] | ^^^^ [INFO] [stdout] 84 | fn rust_name(&self) -> String; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn Params(&self, stack: &ast::Stack) -> String; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 89 | fn Results(&self, stack: &ast::Stack) -> String; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 90 | fn Client(&self, stack: &ast::Stack) -> String; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | fn Handler(&self, stack: &ast::Stack) -> String; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `side` is never read [INFO] [stdout] --> src/codegen/rust/ir/client.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Client<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 4 | pub side: ast::Side, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/errors.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | Unknown(UnknownError), [INFO] [stdout] | ------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 20 - Unknown(UnknownError), [INFO] [stdout] 20 + Unknown(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | fn kind(&self) -> FrameKind; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 6 | fn kind(&self) -> FrameKind<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | fn kind(&self) -> FrameKind { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 36 | fn kind(&self) -> FrameKind<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | fn kind(&self) -> FrameKind { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 50 | fn kind(&self) -> FrameKind<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | fn kind(&self) -> FrameKind { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 64 | fn kind(&self) -> FrameKind<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | fn kind(&self) -> FrameKind { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 78 | fn kind(&self) -> FrameKind<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:110:22 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn anchor(&self, inner: T) -> Anchored { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 110 | pub fn anchor(&self, inner: T) -> Anchored<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/codegen/output.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn scope(&mut self) -> Scope { [INFO] [stdout] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn scope(&mut self) -> Scope<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.19s [INFO] running `Command { std: "docker" "inspect" "a97d6750c88cb2671a58bb09a76bff230da1dad8d773714973a318fe54517280", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a97d6750c88cb2671a58bb09a76bff230da1dad8d773714973a318fe54517280", kill_on_drop: false }` [INFO] [stdout] a97d6750c88cb2671a58bb09a76bff230da1dad8d773714973a318fe54517280 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ded477b6defd505af32cfcf76a3357a8db6bfd211a66cdd0e17484cf288f8b49 [INFO] running `Command { std: "docker" "start" "-a" "ded477b6defd505af32cfcf76a3357a8db6bfd211a66cdd0e17484cf288f8b49", kill_on_drop: false }` [INFO] [stderr] Compiling netbuf v0.4.1 [INFO] [stderr] Compiling vte_generate_state_changes v0.1.2 [INFO] [stderr] Compiling vte v0.10.1 [INFO] [stderr] Compiling strip-ansi-escapes v0.1.1 [INFO] [stderr] Compiling lavish-compiler v0.4.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `output::*` [INFO] [stdout] --> src/codegen/mod.rs:2:9 [INFO] [stdout] | [INFO] [stdout] 2 | pub use output::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:89:32 [INFO] [stdout] | [INFO] [stdout] 89 | pub(crate) frames: Vec<&'a Frame>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 | pub(crate) frames: Vec<&'a dyn Frame>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/output.rs:35:21 [INFO] [stdout] | [INFO] [stdout] 35 | writer: &'a mut fmt::Write, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 | writer: &'a mut dyn fmt::Write, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/lang.rs:45:22 [INFO] [stdout] | [INFO] [stdout] 45 | body: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 45 | body: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/lang.rs:193:22 [INFO] [stdout] | [INFO] [stdout] 193 | body: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 193 | body: Option>, [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/types.rs:5:64 [INFO] [stdout] | [INFO] [stdout] 5 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 5 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:94:27 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn new(frame: &'a Frame) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 94 | pub fn new(frame: &'a dyn Frame) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:100:35 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn push(&self, frame: &'a Frame) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 100 | pub fn push(&self, frame: &'a dyn Frame) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:274:41 [INFO] [stdout] | [INFO] [stdout] 274 | pub fn for_each_fun(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 274 | pub fn for_each_fun(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:280:44 [INFO] [stdout] | [INFO] [stdout] 280 | pub fn for_each_struct(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 280 | pub fn for_each_struct(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:286:42 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn for_each_enum(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 286 | pub fn for_each_enum(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:292:47 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn for_each_namespace(&self, cb: &mut FnMut(Anchored<&NamespaceBody>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 292 | pub fn for_each_namespace(&self, cb: &mut dyn FnMut(Anchored<&NamespaceBody>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:298:51 [INFO] [stdout] | [INFO] [stdout] 298 | pub fn for_each_fun_of_schema(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 298 | pub fn for_each_fun_of_schema(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:306:54 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn for_each_struct_of_schema(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 306 | pub fn for_each_struct_of_schema(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:316:52 [INFO] [stdout] | [INFO] [stdout] 316 | pub fn for_each_enum_of_schema(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 316 | pub fn for_each_enum_of_schema(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:332:51 [INFO] [stdout] | [INFO] [stdout] 332 | pub fn for_each_fun_of_schema(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 332 | pub fn for_each_fun_of_schema(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:341:54 [INFO] [stdout] | [INFO] [stdout] 341 | pub fn for_each_struct_of_schema(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 341 | pub fn for_each_struct_of_schema(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ast/anchored.rs:350:52 [INFO] [stdout] | [INFO] [stdout] 350 | pub fn for_each_enum_of_schema(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 350 | pub fn for_each_enum_of_schema(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/output.rs:47:32 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new(writer: &'a mut fmt::Write) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 47 | pub fn new(writer: &'a mut dyn fmt::Write) -> Self { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/output.rs:120:35 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn fmt(writer: &'a mut fmt::Write, f: F) -> std::fmt::Result [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 120 | pub fn fmt(writer: &'a mut dyn fmt::Write, f: F) -> std::fmt::Result [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/protocol.rs:193:37 [INFO] [stdout] | [INFO] [stdout] 193 | fn for_each_fun(&self, cb: &mut FnMut(ast::Anchored<&ast::FunctionDecl>)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 193 | fn for_each_fun(&self, cb: &mut dyn FnMut(ast::Anchored<&ast::FunctionDecl>)) { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/codegen/rust/ir/types.rs:11:64 [INFO] [stdout] | [INFO] [stdout] 11 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `loc` is never read [INFO] [stdout] --> src/ast/nodes.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Rules { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 13 | pub loc: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Rules` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `from` is never read [INFO] [stdout] --> src/ast/nodes.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Build { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 30 | pub name: Identifier, [INFO] [stdout] 31 | pub from: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Build` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/ast/nodes.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct FromDirective { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 36 | pub path: StringLiteral, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FromDirective` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `loc` and `value` are never read [INFO] [stdout] --> src/ast/nodes.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct StringLiteral { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 41 | pub loc: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | pub value: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StringLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `build` and `imports` are never read [INFO] [stdout] --> src/ast/nodes.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct WorkspaceMember { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 122 | pub name: String, [INFO] [stdout] 123 | pub build: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 124 | pub imports: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WorkspaceMember` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `imports` is never read [INFO] [stdout] --> src/ast/nodes.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct Schema { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 130 | pub loc: Span, [INFO] [stdout] 131 | pub imports: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Schema` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `from` are never read [INFO] [stdout] --> src/ast/nodes.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 142 | pub struct Import { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 143 | pub name: Identifier, [INFO] [stdout] | ^^^^ [INFO] [stdout] 144 | pub from: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Import` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `loc` is never read [INFO] [stdout] --> src/ast/nodes.rs:346:9 [INFO] [stdout] | [INFO] [stdout] 345 | pub struct EnumDecl { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 346 | pub loc: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnumDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `loc` is never read [INFO] [stdout] --> src/ast/nodes.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 353 | pub struct EnumVariant { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 354 | pub loc: Span, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EnumVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast/anchored.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | Schema(&'a Schema), [INFO] [stdout] | ------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 - Schema(&'a Schema), [INFO] [stdout] 11 + Schema(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast/anchored.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | Namespace(&'a NamespaceDecl), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 - Namespace(&'a NamespaceDecl), [INFO] [stdout] 12 + Namespace(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast/anchored.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | Function(&'a FunctionDecl), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 13 - Function(&'a FunctionDecl), [INFO] [stdout] 13 + Function(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast/anchored.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | Synthetic(&'a SyntheticFrame), [INFO] [stdout] | --------- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 14 - Synthetic(&'a SyntheticFrame), [INFO] [stdout] 14 + Synthetic(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `slot`, `rust_name`, `Params`, `Results`, `Client`, and `Handler` are never used [INFO] [stdout] --> src/codegen/rust/ir/ast_ext.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub trait RustFn { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] 83 | fn slot(&self) -> String; [INFO] [stdout] | ^^^^ [INFO] [stdout] 84 | fn rust_name(&self) -> String; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn Params(&self, stack: &ast::Stack) -> String; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 89 | fn Results(&self, stack: &ast::Stack) -> String; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 90 | fn Client(&self, stack: &ast::Stack) -> String; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | fn Handler(&self, stack: &ast::Stack) -> String; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `side` is never read [INFO] [stdout] --> src/codegen/rust/ir/client.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Client<'a> { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 4 | pub side: ast::Side, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/parser/errors.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | Unknown(UnknownError), [INFO] [stdout] | ------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 20 - Unknown(UnknownError), [INFO] [stdout] 20 + Unknown(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:6:13 [INFO] [stdout] | [INFO] [stdout] 6 | fn kind(&self) -> FrameKind; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 6 | fn kind(&self) -> FrameKind<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | fn kind(&self) -> FrameKind { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 36 | fn kind(&self) -> FrameKind<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:50:13 [INFO] [stdout] | [INFO] [stdout] 50 | fn kind(&self) -> FrameKind { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 50 | fn kind(&self) -> FrameKind<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | fn kind(&self) -> FrameKind { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 64 | fn kind(&self) -> FrameKind<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | fn kind(&self) -> FrameKind { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 78 | fn kind(&self) -> FrameKind<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ast/anchored.rs:110:22 [INFO] [stdout] | [INFO] [stdout] 110 | pub fn anchor(&self, inner: T) -> Anchored { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 110 | pub fn anchor(&self, inner: T) -> Anchored<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/codegen/output.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn scope(&mut self) -> Scope { [INFO] [stdout] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 129 | pub fn scope(&mut self) -> Scope<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.80s [INFO] running `Command { std: "docker" "inspect" "ded477b6defd505af32cfcf76a3357a8db6bfd211a66cdd0e17484cf288f8b49", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ded477b6defd505af32cfcf76a3357a8db6bfd211a66cdd0e17484cf288f8b49", kill_on_drop: false }` [INFO] [stdout] ded477b6defd505af32cfcf76a3357a8db6bfd211a66cdd0e17484cf288f8b49 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e9ec7d4a819d2b3569d3208fefbc4216fd18cceae18965a08d04703ef9510924 [INFO] running `Command { std: "docker" "start" "-a" "e9ec7d4a819d2b3569d3208fefbc4216fd18cceae18965a08d04703ef9510924", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `output::*` [INFO] [stderr] --> src/codegen/mod.rs:2:9 [INFO] [stderr] | [INFO] [stderr] 2 | pub use output::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:89:32 [INFO] [stderr] | [INFO] [stderr] 89 | pub(crate) frames: Vec<&'a Frame>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 89 | pub(crate) frames: Vec<&'a dyn Frame>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/codegen/output.rs:35:21 [INFO] [stderr] | [INFO] [stderr] 35 | writer: &'a mut fmt::Write, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 35 | writer: &'a mut dyn fmt::Write, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/codegen/rust/ir/lang.rs:45:22 [INFO] [stderr] | [INFO] [stderr] 45 | body: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 45 | body: Option>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/codegen/rust/ir/lang.rs:193:22 [INFO] [stderr] | [INFO] [stderr] 193 | body: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 193 | body: Option>, [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/codegen/rust/ir/types.rs:5:64 [INFO] [stderr] | [INFO] [stderr] 5 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 5 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:94:27 [INFO] [stderr] | [INFO] [stderr] 94 | pub fn new(frame: &'a Frame) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 94 | pub fn new(frame: &'a dyn Frame) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:100:35 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn push(&self, frame: &'a Frame) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 100 | pub fn push(&self, frame: &'a dyn Frame) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:274:41 [INFO] [stderr] | [INFO] [stderr] 274 | pub fn for_each_fun(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 274 | pub fn for_each_fun(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:280:44 [INFO] [stderr] | [INFO] [stderr] 280 | pub fn for_each_struct(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 280 | pub fn for_each_struct(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:286:42 [INFO] [stderr] | [INFO] [stderr] 286 | pub fn for_each_enum(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 286 | pub fn for_each_enum(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:292:47 [INFO] [stderr] | [INFO] [stderr] 292 | pub fn for_each_namespace(&self, cb: &mut FnMut(Anchored<&NamespaceBody>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 292 | pub fn for_each_namespace(&self, cb: &mut dyn FnMut(Anchored<&NamespaceBody>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:298:51 [INFO] [stderr] | [INFO] [stderr] 298 | pub fn for_each_fun_of_schema(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 298 | pub fn for_each_fun_of_schema(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:306:54 [INFO] [stderr] | [INFO] [stderr] 306 | pub fn for_each_struct_of_schema(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 306 | pub fn for_each_struct_of_schema(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:316:52 [INFO] [stderr] | [INFO] [stderr] 316 | pub fn for_each_enum_of_schema(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 316 | pub fn for_each_enum_of_schema(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:332:51 [INFO] [stderr] | [INFO] [stderr] 332 | pub fn for_each_fun_of_schema(&self, cb: &mut FnMut(Anchored<&FunctionDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 332 | pub fn for_each_fun_of_schema(&self, cb: &mut dyn FnMut(Anchored<&FunctionDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:341:54 [INFO] [stderr] | [INFO] [stderr] 341 | pub fn for_each_struct_of_schema(&self, cb: &mut FnMut(Anchored<&StructDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 341 | pub fn for_each_struct_of_schema(&self, cb: &mut dyn FnMut(Anchored<&StructDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ast/anchored.rs:350:52 [INFO] [stderr] | [INFO] [stderr] 350 | pub fn for_each_enum_of_schema(&self, cb: &mut FnMut(Anchored<&EnumDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 350 | pub fn for_each_enum_of_schema(&self, cb: &mut dyn FnMut(Anchored<&EnumDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/codegen/output.rs:47:32 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn new(writer: &'a mut fmt::Write) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 47 | pub fn new(writer: &'a mut dyn fmt::Write) -> Self { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/codegen/output.rs:120:35 [INFO] [stderr] | [INFO] [stderr] 120 | pub fn fmt(writer: &'a mut fmt::Write, f: F) -> std::fmt::Result [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 120 | pub fn fmt(writer: &'a mut dyn fmt::Write, f: F) -> std::fmt::Result [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/codegen/rust/ir/protocol.rs:193:37 [INFO] [stderr] | [INFO] [stderr] 193 | fn for_each_fun(&self, cb: &mut FnMut(ast::Anchored<&ast::FunctionDecl>)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 193 | fn for_each_fun(&self, cb: &mut dyn FnMut(ast::Anchored<&ast::FunctionDecl>)) { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/codegen/rust/ir/types.rs:11:64 [INFO] [stderr] | [INFO] [stderr] 11 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 11 | fn as_rust<'a>(&'a self, stack: &'a ast::Stack<'a>) -> Box { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: field `loc` is never read [INFO] [stderr] --> src/ast/nodes.rs:13:9 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct Rules { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] 13 | pub loc: Span, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Rules` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `from` is never read [INFO] [stderr] --> src/ast/nodes.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 29 | pub struct Build { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] 30 | pub name: Identifier, [INFO] [stderr] 31 | pub from: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Build` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `path` is never read [INFO] [stderr] --> src/ast/nodes.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 35 | pub struct FromDirective { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 36 | pub path: StringLiteral, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FromDirective` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `loc` and `value` are never read [INFO] [stderr] --> src/ast/nodes.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 40 | pub struct StringLiteral { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 41 | pub loc: Span, [INFO] [stderr] | ^^^ [INFO] [stderr] 42 | pub value: String, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `StringLiteral` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `build` and `imports` are never read [INFO] [stderr] --> src/ast/nodes.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 121 | pub struct WorkspaceMember { [INFO] [stderr] | --------------- fields in this struct [INFO] [stderr] 122 | pub name: String, [INFO] [stderr] 123 | pub build: Option, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 124 | pub imports: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `WorkspaceMember` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `imports` is never read [INFO] [stderr] --> src/ast/nodes.rs:131:9 [INFO] [stderr] | [INFO] [stderr] 129 | pub struct Schema { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 130 | pub loc: Span, [INFO] [stderr] 131 | pub imports: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Schema` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `name` and `from` are never read [INFO] [stderr] --> src/ast/nodes.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 142 | pub struct Import { [INFO] [stderr] | ------ fields in this struct [INFO] [stderr] 143 | pub name: Identifier, [INFO] [stderr] | ^^^^ [INFO] [stderr] 144 | pub from: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Import` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `loc` is never read [INFO] [stderr] --> src/ast/nodes.rs:346:9 [INFO] [stderr] | [INFO] [stderr] 345 | pub struct EnumDecl { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 346 | pub loc: Span, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `EnumDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `loc` is never read [INFO] [stderr] --> src/ast/nodes.rs:354:9 [INFO] [stderr] | [INFO] [stderr] 353 | pub struct EnumVariant { [INFO] [stderr] | ----------- field in this struct [INFO] [stderr] 354 | pub loc: Span, [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `EnumVariant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/ast/anchored.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | Schema(&'a Schema), [INFO] [stderr] | ------ ^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 11 - Schema(&'a Schema), [INFO] [stderr] 11 + Schema(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/ast/anchored.rs:12:15 [INFO] [stderr] | [INFO] [stderr] 12 | Namespace(&'a NamespaceDecl), [INFO] [stderr] | --------- ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 12 - Namespace(&'a NamespaceDecl), [INFO] [stderr] 12 + Namespace(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/ast/anchored.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | Function(&'a FunctionDecl), [INFO] [stderr] | -------- ^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 13 - Function(&'a FunctionDecl), [INFO] [stderr] 13 + Function(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/ast/anchored.rs:14:15 [INFO] [stderr] | [INFO] [stderr] 14 | Synthetic(&'a SyntheticFrame), [INFO] [stderr] | --------- ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 14 - Synthetic(&'a SyntheticFrame), [INFO] [stderr] 14 + Synthetic(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: methods `slot`, `rust_name`, `Params`, `Results`, `Client`, and `Handler` are never used [INFO] [stderr] --> src/codegen/rust/ir/ast_ext.rs:83:8 [INFO] [stderr] | [INFO] [stderr] 82 | pub trait RustFn { [INFO] [stderr] | ------ methods in this trait [INFO] [stderr] 83 | fn slot(&self) -> String; [INFO] [stderr] | ^^^^ [INFO] [stderr] 84 | fn rust_name(&self) -> String; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 88 | fn Params(&self, stack: &ast::Stack) -> String; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 89 | fn Results(&self, stack: &ast::Stack) -> String; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 90 | fn Client(&self, stack: &ast::Stack) -> String; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 91 | fn Handler(&self, stack: &ast::Stack) -> String; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `side` is never read [INFO] [stderr] --> src/codegen/rust/ir/client.rs:4:9 [INFO] [stderr] | [INFO] [stderr] 3 | pub struct Client<'a> { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 4 | pub side: ast::Side, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/parser/errors.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | Unknown(UnknownError), [INFO] [stderr] | ------- ^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 20 - Unknown(UnknownError), [INFO] [stderr] 20 + Unknown(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ast/anchored.rs:6:13 [INFO] [stderr] | [INFO] [stderr] 6 | fn kind(&self) -> FrameKind; [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 6 | fn kind(&self) -> FrameKind<'_>; [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ast/anchored.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | fn kind(&self) -> FrameKind { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 36 | fn kind(&self) -> FrameKind<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ast/anchored.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | fn kind(&self) -> FrameKind { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 50 | fn kind(&self) -> FrameKind<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ast/anchored.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | fn kind(&self) -> FrameKind { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 64 | fn kind(&self) -> FrameKind<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ast/anchored.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | fn kind(&self) -> FrameKind { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 78 | fn kind(&self) -> FrameKind<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/ast/anchored.rs:110:22 [INFO] [stderr] | [INFO] [stderr] 110 | pub fn anchor(&self, inner: T) -> Anchored { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 110 | pub fn anchor(&self, inner: T) -> Anchored<'_, T> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/codegen/output.rs:129:18 [INFO] [stderr] | [INFO] [stderr] 129 | pub fn scope(&mut self) -> Scope { [INFO] [stderr] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 129 | pub fn scope(&mut self) -> Scope<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: `lavish-compiler` (bin "lavish" test) generated 45 warnings (run `cargo fix --bin "lavish" --tests` to apply 29 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lavish-105e598ad52a9de7) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test codegen::output::tests::test_scope ... ok [INFO] [stdout] test parser::tests::build_local ... ok [INFO] [stdout] test parser::tests::enums ... ok [INFO] [stdout] test parser::tests::fn_namespaced ... ok [INFO] [stdout] test parser::tests::fn_nested ... ok [INFO] [stdout] test parser::tests::fn_simple ... ok [INFO] [stdout] test parser::tests::nf_simple ... ok [INFO] [stdout] test parser::tests::struct_comments ... ok [INFO] [stdout] test parser::tests::target_go ... ok [INFO] [stdout] test parser::tests::struct_cookie ... ok [INFO] [stdout] test parser::tests::target_unknown ... ok [INFO] [stdout] test parser::tests::struct_incomplete ... ok [INFO] [stdout] test parser::tests::target_rust ... ok [INFO] [stdout] test parser::tests::build_remote ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e9ec7d4a819d2b3569d3208fefbc4216fd18cceae18965a08d04703ef9510924", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e9ec7d4a819d2b3569d3208fefbc4216fd18cceae18965a08d04703ef9510924", kill_on_drop: false }` [INFO] [stdout] e9ec7d4a819d2b3569d3208fefbc4216fd18cceae18965a08d04703ef9510924