[INFO] cloning repository https://github.com/vangroan/crow-vm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vangroan/crow-vm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvangroan%2Fcrow-vm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvangroan%2Fcrow-vm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 52415344e6f099458552116f9ead940e4c8faa0e [INFO] building vangroan/crow-vm against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvangroan%2Fcrow-vm" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/vangroan/crow-vm on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/vangroan/crow-vm [INFO] finished tweaking git repo https://github.com/vangroan/crow-vm [INFO] tweaked toml for git repo https://github.com/vangroan/crow-vm written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/vangroan/crow-vm already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3eaac4da0945fd235caa3849780c5c928dd6218ff9a61a6595c390cbc3d8bde4 [INFO] running `Command { std: "docker" "start" "-a" "3eaac4da0945fd235caa3849780c5c928dd6218ff9a61a6595c390cbc3d8bde4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3eaac4da0945fd235caa3849780c5c928dd6218ff9a61a6595c390cbc3d8bde4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3eaac4da0945fd235caa3849780c5c928dd6218ff9a61a6595c390cbc3d8bde4", kill_on_drop: false }` [INFO] [stdout] 3eaac4da0945fd235caa3849780c5c928dd6218ff9a61a6595c390cbc3d8bde4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 29a7311ca1f9a0f751739807baec3fb2d4634946e7f03a69d05baaa6b3e30710 [INFO] running `Command { std: "docker" "start" "-a" "29a7311ca1f9a0f751739807baec3fb2d4634946e7f03a69d05baaa6b3e30710", kill_on_drop: false }` [INFO] [stderr] Compiling fxhash v0.2.1 [INFO] [stderr] Compiling crow v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::object::UpValueOrigin` [INFO] [stdout] --> src/op.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::object::UpValueOrigin; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slot` [INFO] [stdout] --> src/vm.rs:216:21 [INFO] [stdout] | [INFO] [stdout] 216 | let slot = vm.stack[callee_base].clone(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_slot` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: relative drop order changing in Rust 2024 [INFO] [stdout] --> src/vm.rs:362:25 [INFO] [stdout] | [INFO] [stdout] 362 | match &*frame [INFO] [stdout] | _________________________^ [INFO] [stdout] | _|_________________________| [INFO] [stdout] 363 | | | .closure [INFO] [stdout] 364 | | | .up_values [INFO] [stdout] 365 | | | .borrow() [INFO] [stdout] | | | - [INFO] [stdout] | | | | [INFO] [stdout] | | |_____________________________this value will be stored in a temporary; let us call it `#6` [INFO] [stdout] | | up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] 366 | | .get(upvalue_id as usize) [INFO] [stdout] 367 | | .ok_or_else(err_upvalue_notfound)? [INFO] [stdout] 368 | | .borrow() [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_______________________________this value will be stored in a temporary; let us call it `#5` [INFO] [stdout] | up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 377 | } [INFO] [stdout] | - now the temporary value is dropped here, before the local variables in the block or statement [INFO] [stdout] ... [INFO] [stdout] 423 | let parent_upvalues = frame.closure.up_values.borrow(); [INFO] [stdout] | --------------- [INFO] [stdout] | | [INFO] [stdout] | `parent_upvalues` calls a custom destructor [INFO] [stdout] | `parent_upvalues` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 573 | table.borrow_mut().insert(key.to_string(), value); [INFO] [stdout] | ------------------ [INFO] [stdout] | | [INFO] [stdout] | this value will be stored in a temporary; let us call it `#1` [INFO] [stdout] | `#1` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 580 | let value = table [INFO] [stdout] | _____________________________- [INFO] [stdout] | |_____________________________| [INFO] [stdout] 581 | | .borrow() [INFO] [stdout] | | - [INFO] [stdout] | |_____________________________| [INFO] [stdout] | |_____________________________this value will be stored in a temporary; let us call it `#2` [INFO] [stdout] | `#2` will be dropped later as of Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 592 | | vm.stack.push(Value::Int(if table.borrow().get(key.as_str()).is_some() { [INFO] [stdout] | | -------------- [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#3` [INFO] [stdout] | | `#3` will be dropped later as of Edition 2024 [INFO] [stdout] ... | [INFO] [stdout] 603 | | table.borrow_mut().remove(key.as_str()); [INFO] [stdout] | | ------------------ [INFO] [stdout] | | | [INFO] [stdout] | | this value will be stored in a temporary; let us call it `#4` [INFO] [stdout] | | `#4` will be dropped later as of Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: `#5` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/core/src/cell.rs:1434:1 [INFO] [stdout] note: `#6` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/core/src/cell.rs:1434:1 [INFO] [stdout] note: `parent_upvalues` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/core/src/cell.rs:1434:1 [INFO] [stdout] note: `#1` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/core/src/cell.rs:1804:1 [INFO] [stdout] note: `#2` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/core/src/cell.rs:1434:1 [INFO] [stdout] note: `#3` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/core/src/cell.rs:1434:1 [INFO] [stdout] note: `#4` invokes this custom destructor [INFO] [stdout] --> /rustc/11663cd3bfefef7d34e8f0892c250bf698049392/library/core/src/cell.rs:1804:1 [INFO] [stdout] = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ty` is never read [INFO] [stdout] --> src/ast.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Block { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 15 | /// Return value type. [INFO] [stdout] 16 | pub ty: TypeId, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Block` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | Expr(Box), [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Stmt` 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] 32 | Expr(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Return` is never constructed [INFO] [stdout] --> src/ast.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum Stmt { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stmt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReturnStmt` is never constructed [INFO] [stdout] --> src/ast.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct ReturnStmt { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ReturnStmt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `items` is never read [INFO] [stdout] --> src/ast.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct Tuple { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 55 | pub items: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Tuple` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ty` and `expr` are never read [INFO] [stdout] --> src/ast.rs:60:9 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct TupleItem { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 60 | pub ty: TypeId, [INFO] [stdout] | ^^ [INFO] [stdout] 61 | pub expr: Expr, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TupleItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:71:10 [INFO] [stdout] | [INFO] [stdout] 71 | Name(Box), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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] 71 | Name(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | Func(Box), [INFO] [stdout] | ---- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` 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] 74 | Func(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Call` is never constructed [INFO] [stdout] --> src/ast.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 76 | Call(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ident` is never read [INFO] [stdout] --> src/ast.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct NameAccessExpr { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] 85 | pub ident: Ident, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NameAccessExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ty`, `args`, and `return_` are never read [INFO] [stdout] --> src/ast.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct FuncLit { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 109 | pub ty: TypeId, [INFO] [stdout] | ^^ [INFO] [stdout] 110 | pub args: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 111 | pub return_: Tuple, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FuncLit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `ty_name` are never read [INFO] [stdout] --> src/ast.rs:116:9 [INFO] [stdout] | [INFO] [stdout] 115 | pub struct Arg { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 116 | pub name: Ident, [INFO] [stdout] | ^^^^ [INFO] [stdout] 117 | pub ty_name: Ident, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ty`, `callee`, and `args` are never read [INFO] [stdout] --> src/ast.rs:123:9 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct CallExpr { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 123 | pub ty: TypeId, [INFO] [stdout] | ^^ [INFO] [stdout] 124 | pub callee: Box, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 125 | pub args: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CallExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Str` is never constructed [INFO] [stdout] --> src/ast.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 138 | pub enum Literal { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] 139 | Num(Number), [INFO] [stdout] 140 | Str(String), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Literal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | Int(i64), [INFO] [stdout] | --- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Number` 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] 145 | Int(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/ast.rs:146:11 [INFO] [stdout] | [INFO] [stdout] 146 | Float(f64), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Number` 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] 146 | Float(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeDeclStmt` is never constructed [INFO] [stdout] --> src/ast.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | pub struct TypeDeclStmt { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeDeclStmt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Alias` and `Lit` are never constructed [INFO] [stdout] --> src/ast.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 170 | pub enum TypeDef { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 171 | Alias(TypeName), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 172 | Lit(TypeLit), [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeDef` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Array`, `DynArray`, `Table`, and `Struct` are never constructed [INFO] [stdout] --> src/ast.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub enum TypeLit { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 189 | Array { element: Box, size: usize }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | DynArray { element: Box }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | Table { key: Box, value: Box }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | Struct { fields: Vec }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeLit` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `ty` are never read [INFO] [stdout] --> src/ast.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct FieldDef { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 216 | pub name: Ident, [INFO] [stdout] | ^^^^ [INFO] [stdout] 217 | pub ty: Box, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `FieldDef` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_string` is never used [INFO] [stdout] --> src/ast.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 224 | impl Ident { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 225 | pub fn from_string(text: impl ToString) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Env` is never constructed [INFO] [stdout] --> src/env.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Env { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Weak` is never constructed [INFO] [stdout] --> src/handle.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Weak(RcWeak>); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `into_inner`, `ptr_eq`, `as_ptr`, and `downgrade` are never used [INFO] [stdout] --> src/handle.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Handle { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn into_inner(self) -> T { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn ptr_eq(&self, other: &Handle) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn as_ptr(&self) -> *const T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn downgrade(&self) -> Weak { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Shared` is never used [INFO] [stdout] --> src/handle.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum Shared { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `strong`, `upgrade`, `weak`, and `downgrade` are never used [INFO] [stdout] --> src/handle.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 71 | impl Shared { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 72 | pub fn strong(&self) -> Option<&Handle> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn upgrade(&self) -> Option> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn weak(&self) -> Option<&Weak> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | pub fn downgrade(&self) -> Weak { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file` is never read [INFO] [stdout] --> src/lexer.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Lexer<'a> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | pub(crate) file: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stack_size` and `is_varg` are never read [INFO] [stdout] --> src/object.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Func { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 37 | pub(crate) stack_size: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub(crate) is_varg: bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `floats` is never read [INFO] [stdout] --> src/object.rs:54:16 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Constants { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 53 | pub(crate) ints: Box<[i64]>, [INFO] [stdout] 54 | pub(crate) floats: Box<[f64]>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Parent` and `Outer` are never constructed [INFO] [stdout] --> src/object.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 88 | pub enum UpValueOrigin { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 89 | /// UpValue is located in parent's local variables. [INFO] [stdout] 90 | Parent(u32), // local_id [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | /// UpValue is located in parent's up-value list. [INFO] [stdout] 92 | Outer(u32), // up-value id [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UpValueOrigin` 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: associated items `new` and `into_string` are never used [INFO] [stdout] --> src/object.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 180 | impl CrowStr { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 181 | #[inline(always)] [INFO] [stdout] 182 | pub fn new(s: impl ToString) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn into_string(self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Str` is never constructed [INFO] [stdout] --> src/string.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Str(Rc); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Str` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `as_ptr` and `from_ptr` are never used [INFO] [stdout] --> src/string.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 6 | impl Str { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 7 | pub unsafe fn as_ptr(self) -> *const String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub unsafe fn from_ptr(string_rc: *const String) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Float` is never constructed [INFO] [stdout] --> src/token.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum LitValue { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 38 | Int(i64), [INFO] [stdout] 39 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LitValue` 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: methods `index` and `count` are never used [INFO] [stdout] --> src/token.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Span { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn index(&self) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn count(&self) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `types` and `scopes` are never read [INFO] [stdout] --> src/typechecker.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TypeChecker { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 8 | types: Vec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | scopes: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ty` is never read [INFO] [stdout] --> src/typechecker.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct Local { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 20 | name: String, [INFO] [stdout] 21 | ty: TypeId, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Tuple`, `Array`, `Table`, `Func`, and `Struct` are never constructed [INFO] [stdout] --> src/types.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum Type { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 49 | Tuple(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 50 | Array(TypeId), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | /// Hash table. [INFO] [stdout] 52 | Table(TypeId, TypeId), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 53 | /// Type of both the [`crate::object::Closure`] value and [`crate::object::Func`]` prototype. [INFO] [stdout] 54 | Func { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | Struct { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UInt` is never constructed [INFO] [stdout] --> src/value.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Value { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 11 | Int(i64), [INFO] [stdout] 12 | UInt(u64), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` 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: methods `as_func` and `to_func` are never used [INFO] [stdout] --> src/value.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Value { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn as_func(&self) -> Option<&Rc> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn to_func(self) -> Option> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/value.rs:82:19 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct ObjPtr(NonNull<()>); [INFO] [stdout] | ------ ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `ObjPtr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `int`, `float`, and `object` are never read [INFO] [stdout] --> src/value.rs:87:16 [INFO] [stdout] | [INFO] [stdout] 86 | pub union Slot { [INFO] [stdout] | ---- fields in this union [INFO] [stdout] 87 | pub(crate) int: i64, [INFO] [stdout] | ^^^ [INFO] [stdout] 88 | pub(crate) uint: u64, [INFO] [stdout] 89 | pub(crate) float: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 90 | pub(crate) object: ObjPtr, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Slot` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `empty`, `from_func`, and `into_func` are never used [INFO] [stdout] --> src/value.rs:95:25 [INFO] [stdout] | [INFO] [stdout] 93 | impl Slot { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 94 | /// A slot that's considered empty. [INFO] [stdout] 95 | pub(crate) const fn empty() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub(crate) unsafe fn from_func(func: Rc) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub(crate) unsafe fn into_func(self) -> Rc { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `top` is never read [INFO] [stdout] --> src/vm.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 18 | struct CallFrame { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | top: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `grow_stack` is never used [INFO] [stdout] --> src/vm.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl Vm { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | fn grow_stack(&mut self, additional: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `err_func_expected` is never used [INFO] [stdout] --> src/vm.rs:253:4 [INFO] [stdout] | [INFO] [stdout] 253 | fn err_func_expected() -> Error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `crow` (lib) due to 1 previous error; 48 warnings emitted [INFO] running `Command { std: "docker" "inspect" "29a7311ca1f9a0f751739807baec3fb2d4634946e7f03a69d05baaa6b3e30710", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29a7311ca1f9a0f751739807baec3fb2d4634946e7f03a69d05baaa6b3e30710", kill_on_drop: false }` [INFO] [stdout] 29a7311ca1f9a0f751739807baec3fb2d4634946e7f03a69d05baaa6b3e30710