[INFO] cloning repository https://github.com/tos-network/tolc [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tos-network/tolc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftos-network%2Ftolc", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftos-network%2Ftolc'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a7b63e129cafa76a92bd7e29a4520fa62d73b68a [INFO] checking tos-network/tolc against try#987a165cfab916796a8315782b83ac460a651ce2 for pr-145262 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftos-network%2Ftolc" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tos-network/tolc [INFO] finished tweaking git repo https://github.com/tos-network/tolc [INFO] tweaked toml for git repo https://github.com/tos-network/tolc written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tos-network/tolc on toolchain 987a165cfab916796a8315782b83ac460a651ce2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tos-network/tolc 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" "+987a165cfab916796a8315782b83ac460a651ce2" "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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded peg-runtime v0.8.5 [INFO] [stderr] Downloaded peg v0.8.5 [INFO] [stderr] Downloaded peg-macros v0.8.5 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3474f05f3edcb15965a6a7372c060fe9b3caeaf02cf3185c191014fb9ca7e5a1 [INFO] running `Command { std: "docker" "start" "-a" "3474f05f3edcb15965a6a7372c060fe9b3caeaf02cf3185c191014fb9ca7e5a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3474f05f3edcb15965a6a7372c060fe9b3caeaf02cf3185c191014fb9ca7e5a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3474f05f3edcb15965a6a7372c060fe9b3caeaf02cf3185c191014fb9ca7e5a1", kill_on_drop: false }` [INFO] [stdout] 3474f05f3edcb15965a6a7372c060fe9b3caeaf02cf3185c191014fb9ca7e5a1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+987a165cfab916796a8315782b83ac460a651ce2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0bbd748292ddae0137740f11e9d956d33d5e82f9652614a3cb6b0846185ecc42 [INFO] running `Command { std: "docker" "start" "-a" "0bbd748292ddae0137740f11e9d956d33d5e82f9652614a3cb6b0846185ecc42", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking clap_builder v4.5.43 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Compiling peg-runtime v0.8.5 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Compiling peg-macros v0.8.5 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking walkdir v0.1.8 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking yansi v1.0.1 [INFO] [stderr] Checking peg v0.8.5 [INFO] [stderr] Compiling logos-codegen v0.13.0 [INFO] [stderr] Checking tempfile v3.20.0 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.41 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling logos-derive v0.13.0 [INFO] [stderr] Checking logos v0.13.0 [INFO] [stderr] Checking clap v4.5.43 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking tolc v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parser/lexer.rs:271:43 [INFO] [stdout] | [INFO] [stdout] 263 | Token::Strictfp | Token::Default | Token::Class | Token::Interface | [INFO] [stdout] | -------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 271 | Token::Switch | Token::Case | Token::Default | [INFO] [stdout] | ^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/parser/lexer.rs:271:43 [INFO] [stdout] | [INFO] [stdout] 263 | Token::Strictfp | Token::Default | Token::Class | Token::Interface | [INFO] [stdout] | -------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 271 | Token::Switch | Token::Case | Token::Default | [INFO] [stdout] | ^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_gas` [INFO] [stdout] --> src/parser/parser.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let initial_gas = self.global_gas; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_gas` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_gas` [INFO] [stdout] --> src/parser/parser.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let initial_gas = self.global_gas; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_gas` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/parser/parser.rs:2297:27 [INFO] [stdout] | [INFO] [stdout] 2297 | if let Ok(mut ty) = (|| -> Result { Ok(self.parse_type_ref()?) })() { [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] --> src/parser/parser.rs:2297:27 [INFO] [stdout] | [INFO] [stdout] 2297 | if let Ok(mut ty) = (|| -> Result { Ok(self.parse_type_ref()?) })() { [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: unused variable: `max_stack` [INFO] [stdout] --> src/codegen/class_writer.rs:614:26 [INFO] [stdout] | [INFO] [stdout] 614 | let (code_bytes, max_stack, max_locals, exceptions, locals, line_numbers) = code_writer.finalize(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_stack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/constpool.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | let mut in_a: HashSet = a_top.iter().cloned().collect(); [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/codegen/constpool.rs:498:13 [INFO] [stdout] | [INFO] [stdout] 498 | let mut in_b: HashSet = b_nt.iter().cloned().collect(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_stack` [INFO] [stdout] --> src/codegen/class_writer.rs:614:26 [INFO] [stdout] | [INFO] [stdout] 614 | let (code_bytes, max_stack, max_locals, exceptions, locals, line_numbers) = code_writer.finalize(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_stack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/codegen/constpool.rs:497:13 [INFO] [stdout] | [INFO] [stdout] 497 | let mut in_a: HashSet = a_top.iter().cloned().collect(); [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/codegen/constpool.rs:498:13 [INFO] [stdout] | [INFO] [stdout] 498 | let mut in_b: HashSet = b_nt.iter().cloned().collect(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/verify/attributes.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 34 | AttributeInfo::PermittedSubclasses(_) => { [INFO] [stdout] | ------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 88 | AttributeInfo::PermittedSubclasses(_) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/verify/attributes.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 83 | AttributeInfo::Record(_) => { [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 178 | AttributeInfo::Record(rec) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/review/fields.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 75 | Expr::Unary(u) => review_field_initializer_static_imports(&u.operand, global), [INFO] [stdout] | -------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 107 | Expr::Unary(u) => review_field_initializer_static_imports(&u.operand, global), [INFO] [stdout] | ^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/verify/attributes.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 34 | AttributeInfo::PermittedSubclasses(_) => { [INFO] [stdout] | ------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 88 | AttributeInfo::PermittedSubclasses(_) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/verify/attributes.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 83 | AttributeInfo::Record(_) => { [INFO] [stdout] | ------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 178 | AttributeInfo::Record(rec) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/review/statements.rs:1207:63 [INFO] [stdout] | [INFO] [stdout] 1207 | if let Some(g) = global { if let Some(mt) = crate::review::types::resolve_type_in_index(g, &tname) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/review/fields.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 75 | Expr::Unary(u) => review_field_initializer_static_imports(&u.operand, global), [INFO] [stdout] | -------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 107 | Expr::Unary(u) => review_field_initializer_static_imports(&u.operand, global), [INFO] [stdout] | ^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/review/statements.rs:2224:41 [INFO] [stdout] | [INFO] [stdout] 2224 | ... let mut fixed_exact: Vec<&Vec> = exact.iter().map(|(s, _, _)| *s).filter(|s| s.len() == found_list.len()).collect(); [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/review/statements.rs:2244:45 [INFO] [stdout] | [INFO] [stdout] 2244 | ... let mut fixed_only: Vec<&Vec> = applicable.iter().map(|(s, _, _)| *s).filter(|s| s.len() == found_list.len()).collect(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse_type_arguments` is never used [INFO] [stdout] --> src/parser/parser.rs:633:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl Parser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 633 | fn parse_type_arguments(&mut self) -> Result> { unreachable!("legacy parse_type_arguments should not be called") } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pending_default_ctor_method_idx` is never read [INFO] [stdout] --> src/codegen/class_writer.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ClassWriter { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pending_default_ctor_method_idx: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `generate_default_constructor` and `generate_constructor_code_attribute` are never used [INFO] [stdout] --> src/codegen/class_writer.rs:546:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl ClassWriter { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 546 | fn generate_default_constructor(&mut self, class: &ClassDecl) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 726 | fn generate_constructor_code_attribute(&mut self, class: &ClassDecl) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Class` and `NameAndType` are never constructed [INFO] [stdout] --> src/codegen/constpool.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 141 | enum Pending { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 142 | Class(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 143 | String(String), [INFO] [stdout] 144 | NameAndType { name: String, descriptor: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pending` 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: function `verify_types` is never used [INFO] [stdout] --> src/verify/verifier.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn verify_types(ast: &Ast) -> VerifyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_class` is never used [INFO] [stdout] --> src/verify/verifier.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn verify_class(c: &ClassDecl) -> VerifyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_interface` is never used [INFO] [stdout] --> src/verify/verifier.rs:116:4 [INFO] [stdout] | [INFO] [stdout] 116 | fn verify_interface(i: &InterfaceDecl) -> VerifyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_enum` is never used [INFO] [stdout] --> src/verify/verifier.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn verify_enum(_e: &EnumDecl) -> VerifyResult<()> { Ok(()) } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expr_is_boolean_false` is never used [INFO] [stdout] --> src/review/statements.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn expr_is_boolean_false(e: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_selector_value_for_enum_switch` is never used [INFO] [stdout] --> src/review/statements.rs:404:4 [INFO] [stdout] | [INFO] [stdout] 404 | fn fold_selector_value_for_enum_switch(ast: &crate::ast::Ast, expr: &Expr) -> Option<(String, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_case_value_for_enum_switch` is never used [INFO] [stdout] --> src/review/statements.rs:424:4 [INFO] [stdout] | [INFO] [stdout] 424 | fn fold_case_value_for_enum_switch(enum_name: &str, ast: &crate::ast::Ast, expr: &Expr) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `review_statement_arity` is never used [INFO] [stdout] --> src/review/statements.rs:449:15 [INFO] [stdout] | [INFO] [stdout] 449 | pub(crate) fn review_statement_arity(_current_type: &str, _stmt: &Stmt) -> ReviewResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnumIndex` is never constructed [INFO] [stdout] --> src/review/statements.rs:1367:19 [INFO] [stdout] | [INFO] [stdout] 1367 | pub(crate) struct EnumIndex { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_enum_index` is never used [INFO] [stdout] --> src/review/statements.rs:1371:15 [INFO] [stdout] | [INFO] [stdout] 1371 | pub(crate) fn build_enum_index(ast: &crate::ast::Ast) -> EnumIndex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_wrapper_type` is never used [INFO] [stdout] --> src/review/statements.rs:2733:4 [INFO] [stdout] | [INFO] [stdout] 2733 | fn is_wrapper_type(t: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `boxing_partner_of` is never used [INFO] [stdout] --> src/review/statements.rs:2741:4 [INFO] [stdout] | [INFO] [stdout] 2741 | fn boxing_partner_of(prim: &str) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mt` [INFO] [stdout] --> src/review/statements.rs:1207:63 [INFO] [stdout] | [INFO] [stdout] 1207 | if let Some(g) = global { if let Some(mt) = crate::review::types::resolve_type_in_index(g, &tname) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/codegen/vec.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 92 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/codegen/vec.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 217 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/review/statements.rs:2224:41 [INFO] [stdout] | [INFO] [stdout] 2224 | ... let mut fixed_exact: Vec<&Vec> = exact.iter().map(|(s, _, _)| *s).filter(|s| s.len() == found_list.len()).collect(); [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/review/statements.rs:2244:45 [INFO] [stdout] | [INFO] [stdout] 2244 | ... let mut fixed_only: Vec<&Vec> = applicable.iter().map(|(s, _, _)| *s).filter(|s| s.len() == found_list.len()).collect(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `parse_type_arguments` is never used [INFO] [stdout] --> src/parser/parser.rs:633:8 [INFO] [stdout] | [INFO] [stdout] 24 | impl Parser { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 633 | fn parse_type_arguments(&mut self) -> Result> { unreachable!("legacy parse_type_arguments should not be called") } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pending_default_ctor_method_idx` is never read [INFO] [stdout] --> src/codegen/class_writer.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ClassWriter { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | pending_default_ctor_method_idx: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `generate_default_constructor` and `generate_constructor_code_attribute` are never used [INFO] [stdout] --> src/codegen/class_writer.rs:546:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl ClassWriter { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 546 | fn generate_default_constructor(&mut self, class: &ClassDecl) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 726 | fn generate_constructor_code_attribute(&mut self, class: &ClassDecl) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Class` and `NameAndType` are never constructed [INFO] [stdout] --> src/codegen/constpool.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 141 | enum Pending { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 142 | Class(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 143 | String(String), [INFO] [stdout] 144 | NameAndType { name: String, descriptor: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pending` 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: function `verify_types` is never used [INFO] [stdout] --> src/verify/verifier.rs:75:4 [INFO] [stdout] | [INFO] [stdout] 75 | fn verify_types(ast: &Ast) -> VerifyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_class` is never used [INFO] [stdout] --> src/verify/verifier.rs:104:4 [INFO] [stdout] | [INFO] [stdout] 104 | fn verify_class(c: &ClassDecl) -> VerifyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_interface` is never used [INFO] [stdout] --> src/verify/verifier.rs:116:4 [INFO] [stdout] | [INFO] [stdout] 116 | fn verify_interface(i: &InterfaceDecl) -> VerifyResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `verify_enum` is never used [INFO] [stdout] --> src/verify/verifier.rs:124:4 [INFO] [stdout] | [INFO] [stdout] 124 | fn verify_enum(_e: &EnumDecl) -> VerifyResult<()> { Ok(()) } [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expr_is_boolean_false` is never used [INFO] [stdout] --> src/review/statements.rs:311:4 [INFO] [stdout] | [INFO] [stdout] 311 | fn expr_is_boolean_false(e: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_selector_value_for_enum_switch` is never used [INFO] [stdout] --> src/review/statements.rs:404:4 [INFO] [stdout] | [INFO] [stdout] 404 | fn fold_selector_value_for_enum_switch(ast: &crate::ast::Ast, expr: &Expr) -> Option<(String, usize)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fold_case_value_for_enum_switch` is never used [INFO] [stdout] --> src/review/statements.rs:424:4 [INFO] [stdout] | [INFO] [stdout] 424 | fn fold_case_value_for_enum_switch(enum_name: &str, ast: &crate::ast::Ast, expr: &Expr) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `review_statement_arity` is never used [INFO] [stdout] --> src/review/statements.rs:449:15 [INFO] [stdout] | [INFO] [stdout] 449 | pub(crate) fn review_statement_arity(_current_type: &str, _stmt: &Stmt) -> ReviewResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnumIndex` is never constructed [INFO] [stdout] --> src/review/statements.rs:1367:19 [INFO] [stdout] | [INFO] [stdout] 1367 | pub(crate) struct EnumIndex { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_enum_index` is never used [INFO] [stdout] --> src/review/statements.rs:1371:15 [INFO] [stdout] | [INFO] [stdout] 1371 | pub(crate) fn build_enum_index(ast: &crate::ast::Ast) -> EnumIndex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_wrapper_type` is never used [INFO] [stdout] --> src/review/statements.rs:2733:4 [INFO] [stdout] | [INFO] [stdout] 2733 | fn is_wrapper_type(t: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `boxing_partner_of` is never used [INFO] [stdout] --> src/review/statements.rs:2741:4 [INFO] [stdout] | [INFO] [stdout] 2741 | fn boxing_partner_of(prim: &str) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/codegen/vec.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 92 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/codegen/vec.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | pub fn iter(&self) -> std::slice::Iter { [INFO] [stdout] | ^^^^^ ------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 217 | pub fn iter(&self) -> std::slice::Iter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ok` is never used [INFO] [stdout] --> tests/types_declarations_tests.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn ok(src: &str) { let _ = parse_and_verify(src).expect("expected ok"); } [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ok` is never used [INFO] [stdout] --> tests/overrides_visibility_tests.rs:3:4 [INFO] [stdout] | [INFO] [stdout] 3 | fn ok(src: &str) { let _ = parse_and_verify(src).expect("expected ok"); } [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.65s [INFO] running `Command { std: "docker" "inspect" "0bbd748292ddae0137740f11e9d956d33d5e82f9652614a3cb6b0846185ecc42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0bbd748292ddae0137740f11e9d956d33d5e82f9652614a3cb6b0846185ecc42", kill_on_drop: false }` [INFO] [stdout] 0bbd748292ddae0137740f11e9d956d33d5e82f9652614a3cb6b0846185ecc42