[INFO] cloning repository https://github.com/Hollowloki/le_sserafim [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Hollowloki/le_sserafim" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHollowloki%2Fle_sserafim", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHollowloki%2Fle_sserafim'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 54b9ebf080c607b413ae4e080ccfb713f5361d9e [INFO] testing Hollowloki/le_sserafim against beta-2023-10-04 for beta-1.74-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHollowloki%2Fle_sserafim" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Hollowloki/le_sserafim on toolchain beta-2023-10-04 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-10-04" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Hollowloki/le_sserafim [INFO] finished tweaking git repo https://github.com/Hollowloki/le_sserafim [INFO] tweaked toml for git repo https://github.com/Hollowloki/le_sserafim written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Hollowloki/le_sserafim 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" "+beta-2023-10-04" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-10-04" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 87019c959ffcd33a3fe1e463673f58975f61153d50154f64e045b67112de5102 [INFO] running `Command { std: "docker" "start" "-a" "87019c959ffcd33a3fe1e463673f58975f61153d50154f64e045b67112de5102", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "87019c959ffcd33a3fe1e463673f58975f61153d50154f64e045b67112de5102", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "87019c959ffcd33a3fe1e463673f58975f61153d50154f64e045b67112de5102", kill_on_drop: false }` [INFO] [stdout] 87019c959ffcd33a3fe1e463673f58975f61153d50154f64e045b67112de5102 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-10-04" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 70b7c5541a59162184c35a5afacfd31f0042ee211379233feba58b6032148d68 [INFO] running `Command { std: "docker" "start" "-a" "70b7c5541a59162184c35a5afacfd31f0042ee211379233feba58b6032148d68", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling smallvec v1.11.0 [INFO] [stderr] Compiling crunchy v0.2.2 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling rustix v0.38.10 [INFO] [stderr] Compiling hashbrown v0.14.0 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling linux-raw-sys v0.4.5 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling new_debug_unreachable v1.0.4 [INFO] [stderr] Compiling bit-set v0.5.3 [INFO] [stderr] Compiling ena v0.14.2 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling pico-args v0.5.0 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling unicode-xid v0.2.4 [INFO] [stderr] Compiling allocator-api2 v0.2.16 [INFO] [stderr] Compiling indexmap v2.0.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling arrayvec v0.7.4 [INFO] [stderr] Compiling termcolor v1.2.0 [INFO] [stderr] Compiling ahash v0.8.3 [INFO] [stderr] Compiling iota v0.2.3 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling dirs-sys-next v0.1.2 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Compiling syn v2.0.29 [INFO] [stderr] Compiling dirs-next v2.0.0 [INFO] [stderr] Compiling term v0.7.0 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling petgraph v0.6.4 [INFO] [stderr] Compiling is-terminal v0.4.9 [INFO] [stderr] Compiling ascii-canvas v3.0.0 [INFO] [stderr] Compiling string_cache v0.8.7 [INFO] [stderr] Compiling regex-automata v0.3.7 [INFO] [stderr] Compiling libmimalloc-sys v0.1.35 [INFO] [stderr] Compiling logos-codegen v0.13.0 [INFO] [stderr] Compiling mimalloc v0.1.39 [INFO] [stderr] Compiling regex v1.9.4 [INFO] [stderr] Compiling lalrpop-util v0.20.0 [INFO] [stderr] Compiling lalrpop v0.20.0 [INFO] [stderr] Compiling logos-derive v0.13.0 [INFO] [stderr] Compiling logos v0.13.0 [INFO] [stderr] Compiling cecile v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::vm::chunk::Chunk` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::vm::chunk::Chunk; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vm::compiler::Compiler` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::vm::compiler::Compiler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::ParseFloatError` [INFO] [stdout] --> src/cc_lexer/mod.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt, num::ParseFloatError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default` [INFO] [stdout] --> src/cc_parser/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::default; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cc_lexer` [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::cc_lexer; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cc_parser::ast::Expression` [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cc_parser::ast::Expression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cc_lexer as lexer` [INFO] [stdout] --> src/cc_parser/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cc_lexer as lexer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> src/vm/chunk.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::allocator::allocation::CeAllocation` [INFO] [stdout] --> src/vm/chunk.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::allocator::allocation::CeAllocation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash_map::DefaultHashBuilder` [INFO] [stdout] --> src/vm/compiler.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use hashbrown::{hash_map::DefaultHashBuilder, HashMap}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatementExpr` [INFO] [stdout] --> src/vm/compiler.rs:10:61 [INFO] [stdout] | [INFO] [stdout] 10 | OpPrefix, Program, Span, Statement, StatementBlock, StatementExpr, StatementFor, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StringObject`, `chunk::Chunk` [INFO] [stdout] --> src/vm/compiler.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | chunk::Chunk, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | object::{ObjectFunction, StringObject}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vm::object::ObjectType` [INFO] [stdout] --> src/vm/value.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::vm::object::ObjectType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Object`, `compiler::Upvalue` [INFO] [stdout] --> src/vm/value.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | compiler::Upvalue, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | object::{ClosureObject, Object, ObjectFunction, ObjectNative, StringObject, UpvalueObject}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/vm/compiler.rs:231:25 [INFO] [stdout] | [INFO] [stdout] 225 | / match func_type_ { [INFO] [stdout] 226 | | Some(t) => { [INFO] [stdout] 227 | | todo!("function return type mismatch type must be {t}"); [INFO] [stdout] 228 | | } [INFO] [stdout] 229 | | _ => todo!("unreachable case"), [INFO] [stdout] 230 | | } [INFO] [stdout] | |_________________________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 231 | self.emit_u8(op::NIL, &range); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:10529:9 [INFO] [stdout] | [INFO] [stdout] 10529 | (_, mut fields, _): (usize, alloc::vec::Vec, usize), [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:11218:9 [INFO] [stdout] | [INFO] [stdout] 11218 | (_, mut params, _): (usize, alloc::vec::Vec<(String, Option)>, usize), [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/vm/compiler.rs:65:49 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn resolve_local(&mut self, name: &str, span: &Span) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm/compiler.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | _ => todo!("expression not implemented"), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg_type` [INFO] [stdout] --> src/vm/compiler.rs:504:17 [INFO] [stdout] | [INFO] [stdout] 504 | let arg_type = self.compile_expression(&arg, allocator); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/vm/compiler.rs:766:59 [INFO] [stdout] | [INFO] [stdout] 766 | fn declare_local(&mut self, name: &str, type_: &Type, span: &Span) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/vm/compiler.rs:810:49 [INFO] [stdout] | [INFO] [stdout] 810 | fn patch_jump(&mut self, offset_idx: usize, span: &Span) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/vm/chunk.rs:45:32 [INFO] [stdout] | [INFO] [stdout] 45 | let function = unsafe { constant.as_function() }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `allocated_bytes` is never used [INFO] [stdout] --> src/allocator/mod.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Allocator { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn allocated_bytes(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/cc_lexer/mod.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Token { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 118 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` 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: type alias `Spanned` is never used [INFO] [stdout] --> src/cc_lexer/mod.rs:133:10 [INFO] [stdout] | [INFO] [stdout] 133 | pub type Spanned = Result<(Loc, Tok, Loc), Error>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/cc_parser/ast.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl StatementVar { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 80 | pub fn new(name: String, type_: Option, value: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Object` is never constructed [INFO] [stdout] --> src/cc_parser/ast.rs:226:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub enum Type { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 226 | Object, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `parse` are never used [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:1315:16 [INFO] [stdout] | [INFO] [stdout] 1314 | impl OpPrefixParser { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 1315 | pub fn new() -> OpPrefixParser { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1322 | pub fn parse< [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_MAX` is never used [INFO] [stdout] --> src/vm/mod.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const STACK_MAX: usize = FRAMES_MAX * STACK_MAX_PER_FRAME; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_MAX_PER_FRAME` is never used [INFO] [stdout] --> src/vm/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const STACK_MAX_PER_FRAME: usize = u8::MAX as usize + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ip` is never read [INFO] [stdout] --> src/vm/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct VM<'a> { [INFO] [stdout] | -- field in this struct [INFO] [stdout] 29 | ip: usize, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `VM` 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 `new` is never used [INFO] [stdout] --> src/vm/chunk.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Chunk { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 16 | pub fn new() -> Chunk { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Upvalue` is never constructed [INFO] [stdout] --> src/vm/value.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Value { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | Upvalue(*mut UpvalueObject), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add` is never used [INFO] [stdout] --> src/vm/value.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 82 | impl Value { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn add(&self, other: Value) -> Value { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/allocator/allocation.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe { Box::from_raw(string) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | unsafe { let _ = Box::from_raw(string); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/vm/mod.rs:409:48 [INFO] [stdout] | [INFO] [stdout] 409 | let lhs = unsafe { (*lhs).value.clone() }; [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/vm/mod.rs:410:48 [INFO] [stdout] | [INFO] [stdout] 410 | let rhs = unsafe { (*rhs).value.clone() }; [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 38 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 30.34s [INFO] running `Command { std: "docker" "inspect" "70b7c5541a59162184c35a5afacfd31f0042ee211379233feba58b6032148d68", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "70b7c5541a59162184c35a5afacfd31f0042ee211379233feba58b6032148d68", kill_on_drop: false }` [INFO] [stdout] 70b7c5541a59162184c35a5afacfd31f0042ee211379233feba58b6032148d68 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-10-04" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4e0a27624b286e8fda0dafc442f7e7a3f1a786d8e872a99142d6058e9410f546 [INFO] running `Command { std: "docker" "start" "-a" "4e0a27624b286e8fda0dafc442f7e7a3f1a786d8e872a99142d6058e9410f546", kill_on_drop: false }` [INFO] [stderr] Compiling cecile v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::vm::chunk::Chunk` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::vm::chunk::Chunk; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vm::compiler::Compiler` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::vm::compiler::Compiler; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::ParseFloatError` [INFO] [stdout] --> src/cc_lexer/mod.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt, num::ParseFloatError}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cc_parser::ast` [INFO] [stdout] --> src/cc_lexer/mod.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | use crate::cc_parser::ast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::default` [INFO] [stdout] --> src/cc_parser/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::default; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cc_lexer` [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::cc_lexer; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cc_parser::ast::Expression` [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cc_parser::ast::Expression; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/cc_parser/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Range` [INFO] [stdout] --> src/vm/chunk.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Range; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::allocator::allocation::CeAllocation` [INFO] [stdout] --> src/vm/chunk.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::allocator::allocation::CeAllocation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash_map::DefaultHashBuilder` [INFO] [stdout] --> src/vm/compiler.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use hashbrown::{hash_map::DefaultHashBuilder, HashMap}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatementExpr` [INFO] [stdout] --> src/vm/compiler.rs:10:61 [INFO] [stdout] | [INFO] [stdout] 10 | OpPrefix, Program, Span, Statement, StatementBlock, StatementExpr, StatementFor, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StringObject`, `chunk::Chunk` [INFO] [stdout] --> src/vm/compiler.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | chunk::Chunk, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | object::{ObjectFunction, StringObject}, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vm::object::ObjectType` [INFO] [stdout] --> src/vm/value.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::vm::object::ObjectType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Object`, `compiler::Upvalue` [INFO] [stdout] --> src/vm/value.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | compiler::Upvalue, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 7 | object::{ClosureObject, Object, ObjectFunction, ObjectNative, StringObject, UpvalueObject}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/vm/compiler.rs:231:25 [INFO] [stdout] | [INFO] [stdout] 225 | / match func_type_ { [INFO] [stdout] 226 | | Some(t) => { [INFO] [stdout] 227 | | todo!("function return type mismatch type must be {t}"); [INFO] [stdout] 228 | | } [INFO] [stdout] 229 | | _ => todo!("unreachable case"), [INFO] [stdout] 230 | | } [INFO] [stdout] | |_________________________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 231 | self.emit_u8(op::NIL, &range); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:10529:9 [INFO] [stdout] | [INFO] [stdout] 10529 | (_, mut fields, _): (usize, alloc::vec::Vec, usize), [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:11218:9 [INFO] [stdout] | [INFO] [stdout] 11218 | (_, mut params, _): (usize, alloc::vec::Vec<(String, Option)>, usize), [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:110:13 [INFO] [stdout] | [INFO] [stdout] 110 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:224:13 [INFO] [stdout] | [INFO] [stdout] 224 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:300:13 [INFO] [stdout] | [INFO] [stdout] 300 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:324:13 [INFO] [stdout] | [INFO] [stdout] 324 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:358:13 [INFO] [stdout] | [INFO] [stdout] 358 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cc_parser/mod.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/vm/compiler.rs:65:49 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn resolve_local(&mut self, name: &str, span: &Span) -> Option { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/vm/compiler.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | _ => todo!("expression not implemented"), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg_type` [INFO] [stdout] --> src/vm/compiler.rs:504:17 [INFO] [stdout] | [INFO] [stdout] 504 | let arg_type = self.compile_expression(&arg, allocator); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/vm/compiler.rs:766:59 [INFO] [stdout] | [INFO] [stdout] 766 | fn declare_local(&mut self, name: &str, type_: &Type, span: &Span) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/vm/compiler.rs:810:49 [INFO] [stdout] | [INFO] [stdout] 810 | fn patch_jump(&mut self, offset_idx: usize, span: &Span) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/vm/chunk.rs:45:32 [INFO] [stdout] | [INFO] [stdout] 45 | let function = unsafe { constant.as_function() }; [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `allocated_bytes` is never used [INFO] [stdout] --> src/allocator/mod.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Allocator { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn allocated_bytes(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Error` is never constructed [INFO] [stdout] --> src/cc_lexer/mod.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Token { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 118 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` 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: type alias `Spanned` is never used [INFO] [stdout] --> src/cc_lexer/mod.rs:133:10 [INFO] [stdout] | [INFO] [stdout] 133 | pub type Spanned = Result<(Loc, Tok, Loc), Error>; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/cc_parser/ast.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl StatementVar { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 80 | pub fn new(name: String, type_: Option, value: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Object` is never constructed [INFO] [stdout] --> src/cc_parser/ast.rs:226:5 [INFO] [stdout] | [INFO] [stdout] 220 | pub enum Type { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 226 | Object, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `parse` are never used [INFO] [stdout] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:1315:16 [INFO] [stdout] | [INFO] [stdout] 1314 | impl OpPrefixParser { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 1315 | pub fn new() -> OpPrefixParser { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1322 | pub fn parse< [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_MAX` is never used [INFO] [stdout] --> src/vm/mod.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const STACK_MAX: usize = FRAMES_MAX * STACK_MAX_PER_FRAME; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_MAX_PER_FRAME` is never used [INFO] [stdout] --> src/vm/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const STACK_MAX_PER_FRAME: usize = u8::MAX as usize + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ip` is never read [INFO] [stdout] --> src/vm/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct VM<'a> { [INFO] [stdout] | -- field in this struct [INFO] [stdout] 29 | ip: usize, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `VM` 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 `new` is never used [INFO] [stdout] --> src/vm/chunk.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Chunk { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 16 | pub fn new() -> Chunk { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Upvalue` is never constructed [INFO] [stdout] --> src/vm/value.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Value { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | Upvalue(*mut UpvalueObject), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add` is never used [INFO] [stdout] --> src/vm/value.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 82 | impl Value { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn add(&self, other: Value) -> Value { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stdout] --> src/allocator/allocation.rs:32:22 [INFO] [stdout] | [INFO] [stdout] 32 | unsafe { Box::from_raw(string) }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | unsafe { let _ = Box::from_raw(string); }; [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/vm/mod.rs:409:48 [INFO] [stdout] | [INFO] [stdout] 409 | let lhs = unsafe { (*lhs).value.clone() }; [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/vm/mod.rs:410:48 [INFO] [stdout] | [INFO] [stdout] 410 | let rhs = unsafe { (*rhs).value.clone() }; [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.08s [INFO] running `Command { std: "docker" "inspect" "4e0a27624b286e8fda0dafc442f7e7a3f1a786d8e872a99142d6058e9410f546", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e0a27624b286e8fda0dafc442f7e7a3f1a786d8e872a99142d6058e9410f546", kill_on_drop: false }` [INFO] [stdout] 4e0a27624b286e8fda0dafc442f7e7a3f1a786d8e872a99142d6058e9410f546 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:4f8da3c744d2da974e54ce020a79f4ad54313e914ebeaab8fc086f07e8d8b066" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-10-04" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 74d2a5e6209f9cb01625de14ca3cc39c9903fb87d970c5cc445eda13eedee80f [INFO] running `Command { std: "docker" "start" "-a" "74d2a5e6209f9cb01625de14ca3cc39c9903fb87d970c5cc445eda13eedee80f", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `crate::vm::chunk::Chunk` [INFO] [stderr] --> src/main.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::vm::chunk::Chunk; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::vm::compiler::Compiler` [INFO] [stderr] --> src/main.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::vm::compiler::Compiler; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `num::ParseFloatError` [INFO] [stderr] --> src/cc_lexer/mod.rs:1:16 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{fmt, num::ParseFloatError}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::cc_parser::ast` [INFO] [stderr] --> src/cc_lexer/mod.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | use crate::cc_parser::ast; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::default` [INFO] [stderr] --> src/cc_parser/ast.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::default; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::cc_lexer` [INFO] [stderr] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::cc_lexer; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::cc_parser::ast::Expression` [INFO] [stderr] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::cc_parser::ast::Expression; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self` [INFO] [stderr] --> src/cc_parser/mod.rs:11:9 [INFO] [stderr] | [INFO] [stderr] 11 | self, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Range` [INFO] [stderr] --> src/vm/chunk.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ops::Range; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::allocator::allocation::CeAllocation` [INFO] [stderr] --> src/vm/chunk.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::allocator::allocation::CeAllocation; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `hash_map::DefaultHashBuilder` [INFO] [stderr] --> src/vm/compiler.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use hashbrown::{hash_map::DefaultHashBuilder, HashMap}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `StatementExpr` [INFO] [stderr] --> src/vm/compiler.rs:10:61 [INFO] [stderr] | [INFO] [stderr] 10 | OpPrefix, Program, Span, Statement, StatementBlock, StatementExpr, StatementFor, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `StringObject`, `chunk::Chunk` [INFO] [stderr] --> src/vm/compiler.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | chunk::Chunk, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 18 | object::{ObjectFunction, StringObject}, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::vm::object::ObjectType` [INFO] [stderr] --> src/vm/value.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::vm::object::ObjectType; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Object`, `compiler::Upvalue` [INFO] [stderr] --> src/vm/value.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | compiler::Upvalue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | object::{ClosureObject, Object, ObjectFunction, ObjectNative, StringObject, UpvalueObject}, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/vm/compiler.rs:231:25 [INFO] [stderr] | [INFO] [stderr] 225 | / match func_type_ { [INFO] [stderr] 226 | | Some(t) => { [INFO] [stderr] 227 | | todo!("function return type mismatch type must be {t}"); [INFO] [stderr] 228 | | } [INFO] [stderr] 229 | | _ => todo!("unreachable case"), [INFO] [stderr] 230 | | } [INFO] [stderr] | |_________________________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stderr] 231 | self.emit_u8(op::NIL, &range); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:10529:9 [INFO] [stderr] | [INFO] [stderr] 10529 | (_, mut fields, _): (usize, alloc::vec::Vec, usize), [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:11218:9 [INFO] [stderr] | [INFO] [stderr] 11218 | (_, mut params, _): (usize, alloc::vec::Vec<(String, Option)>, usize), [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:195:13 [INFO] [stderr] | [INFO] [stderr] 195 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:271:13 [INFO] [stderr] | [INFO] [stderr] 271 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:358:13 [INFO] [stderr] | [INFO] [stderr] 358 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cc_parser/mod.rs:392:13 [INFO] [stderr] | [INFO] [stderr] 392 | let mut lexer = lexer::Lexer::new(input).map(|token| match token { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/vm/compiler.rs:65:49 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn resolve_local(&mut self, name: &str, span: &Span) -> Option { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/vm/compiler.rs:486:13 [INFO] [stderr] | [INFO] [stderr] 486 | _ => todo!("expression not implemented"), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `arg_type` [INFO] [stderr] --> src/vm/compiler.rs:504:17 [INFO] [stderr] | [INFO] [stderr] 504 | let arg_type = self.compile_expression(&arg, allocator); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_type` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/vm/compiler.rs:766:59 [INFO] [stderr] | [INFO] [stderr] 766 | fn declare_local(&mut self, name: &str, type_: &Type, span: &Span) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/vm/compiler.rs:810:49 [INFO] [stderr] | [INFO] [stderr] 810 | fn patch_jump(&mut self, offset_idx: usize, span: &Span) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/vm/chunk.rs:45:32 [INFO] [stderr] | [INFO] [stderr] 45 | let function = unsafe { constant.as_function() }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stderr] [INFO] [stderr] warning: method `allocated_bytes` is never used [INFO] [stderr] --> src/allocator/mod.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 16 | impl Allocator { [INFO] [stderr] | -------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 24 | pub fn allocated_bytes(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `Error` is never constructed [INFO] [stderr] --> src/cc_lexer/mod.rs:118:5 [INFO] [stderr] | [INFO] [stderr] 7 | pub enum Token { [INFO] [stderr] | ----- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 118 | Error, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: type alias `Spanned` is never used [INFO] [stderr] --> src/cc_lexer/mod.rs:133:10 [INFO] [stderr] | [INFO] [stderr] 133 | pub type Spanned = Result<(Loc, Tok, Loc), Error>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/cc_parser/ast.rs:80:12 [INFO] [stderr] | [INFO] [stderr] 79 | impl StatementVar { [INFO] [stderr] | ----------------- associated function in this implementation [INFO] [stderr] 80 | pub fn new(name: String, type_: Option, value: Option) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Object` is never constructed [INFO] [stderr] --> src/cc_parser/ast.rs:226:5 [INFO] [stderr] | [INFO] [stderr] 220 | pub enum Type { [INFO] [stderr] | ---- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 226 | Object, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Type` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `parse` are never used [INFO] [stderr] --> /opt/rustwide/target/debug/build/cecile-e3a5a1759c7d4c67/out/src/cc_parser/grammar.rs:1315:16 [INFO] [stderr] | [INFO] [stderr] 1314 | impl OpPrefixParser { [INFO] [stderr] | ------------------- associated items in this implementation [INFO] [stderr] 1315 | pub fn new() -> OpPrefixParser { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1322 | pub fn parse< [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `STACK_MAX` is never used [INFO] [stderr] --> src/vm/mod.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | const STACK_MAX: usize = FRAMES_MAX * STACK_MAX_PER_FRAME; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `STACK_MAX_PER_FRAME` is never used [INFO] [stderr] --> src/vm/mod.rs:25:7 [INFO] [stderr] | [INFO] [stderr] 25 | const STACK_MAX_PER_FRAME: usize = u8::MAX as usize + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `ip` is never read [INFO] [stderr] --> src/vm/mod.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 28 | pub struct VM<'a> { [INFO] [stderr] | -- field in this struct [INFO] [stderr] 29 | ip: usize, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `VM` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/vm/chunk.rs:16:12 [INFO] [stderr] | [INFO] [stderr] 15 | impl Chunk { [INFO] [stderr] | ---------- associated function in this implementation [INFO] [stderr] 16 | pub fn new() -> Chunk { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Upvalue` is never constructed [INFO] [stderr] --> src/vm/value.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub enum Value { [INFO] [stderr] | ----- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 16 | Upvalue(*mut UpvalueObject), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Value` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `add` is never used [INFO] [stderr] --> src/vm/value.rs:89:12 [INFO] [stderr] | [INFO] [stderr] 82 | impl Value { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 89 | pub fn add(&self, other: Value) -> Value { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Box::::from_raw` that must be used [INFO] [stderr] --> src/allocator/allocation.rs:32:22 [INFO] [stderr] | [INFO] [stderr] 32 | unsafe { Box::from_raw(string) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box` [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 32 | unsafe { let _ = Box::from_raw(string); }; [INFO] [stderr] | +++++++ + [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/vm/mod.rs:409:48 [INFO] [stderr] | [INFO] [stderr] 409 | let lhs = unsafe { (*lhs).value.clone() }; [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] = note: `#[warn(noop_method_call)]` on by default [INFO] [stderr] [INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stderr] --> src/vm/mod.rs:410:48 [INFO] [stderr] | [INFO] [stderr] 410 | let rhs = unsafe { (*rhs).value.clone() }; [INFO] [stderr] | ^^^^^^^^ help: remove this redundant call [INFO] [stderr] | [INFO] [stderr] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stderr] [INFO] [stderr] warning: `cecile` (bin "cecile" test) generated 51 warnings (run `cargo fix --bin "cecile" --tests` to apply 35 suggestions) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cecile-6317a6d7e967d472) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test cc_lexer::tests::test_lexer ... ok [INFO] [stdout] test cc_parser::tests::div_expression ... ok [INFO] [stdout] test cc_parser::tests::block_statement ... ok [INFO] [stdout] test cc_parser::tests::mul_expression ... ok [INFO] [stdout] test cc_parser::tests::print_statement ... ok [INFO] [stdout] test cc_parser::tests::return_statement ... ok [INFO] [stdout] test cc_parser::tests::for_statement_declaration ... ok [INFO] [stdout] test cc_parser::tests::negate_expression ... ok [INFO] [stdout] test cc_parser::tests::if_statement_declaration_2 ... ok [INFO] [stdout] test cc_parser::tests::while_statement_declaration ... ok [INFO] [stdout] test cc_parser::tests::variable_declaration ... ok [INFO] [stdout] test cc_parser::tests::variable_declaration_int ... ok [INFO] [stdout] test cc_parser::tests::if_statement_declaration ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "74d2a5e6209f9cb01625de14ca3cc39c9903fb87d970c5cc445eda13eedee80f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "74d2a5e6209f9cb01625de14ca3cc39c9903fb87d970c5cc445eda13eedee80f", kill_on_drop: false }` [INFO] [stdout] 74d2a5e6209f9cb01625de14ca3cc39c9903fb87d970c5cc445eda13eedee80f