[INFO] fetching crate solana_fender 0.4.2... [INFO] testing solana_fender-0.4.2 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate solana_fender 0.4.2 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate solana_fender 0.4.2 [INFO] finished tweaking crates.io crate solana_fender 0.4.2 [INFO] tweaked toml for crates.io crate solana_fender 0.4.2 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate solana_fender 0.4.2 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate solana_fender 0.4.2 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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9047e651a449e503cd2eb5ebaed999c1d151b155c4e5f32c2d4a6874f6584cc0 [INFO] running `Command { std: "docker" "start" "-a" "9047e651a449e503cd2eb5ebaed999c1d151b155c4e5f32c2d4a6874f6584cc0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9047e651a449e503cd2eb5ebaed999c1d151b155c4e5f32c2d4a6874f6584cc0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9047e651a449e503cd2eb5ebaed999c1d151b155c4e5f32c2d4a6874f6584cc0", kill_on_drop: false }` [INFO] [stdout] 9047e651a449e503cd2eb5ebaed999c1d151b155c4e5f32c2d4a6874f6584cc0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 996c1c55620a346329e41dcad5270f84a4cae791606da4ff93d59352d7c255db [INFO] running `Command { std: "docker" "start" "-a" "996c1c55620a346329e41dcad5270f84a4cae791606da4ff93d59352d7c255db", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.17 [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Compiling anyhow v1.0.96 [INFO] [stderr] Compiling serde_json v1.0.139 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling heck v0.3.3 [INFO] [stderr] Compiling clap_builder v4.5.30 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.98 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.28 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling clap v4.5.30 [INFO] [stderr] Compiling anchor-syn v0.29.0 [INFO] [stderr] Compiling solana_fender v0.4.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `High`, `Medium`, and `Low` are never constructed [INFO] [stdout] --> src/analyzers/mod.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub enum Certainty { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 59 | High, [INFO] [stdout] | ^^^^ [INFO] [stdout] 60 | Medium, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 61 | Low, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Certainty` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MissingOwnerCheck` is never constructed [INFO] [stdout] --> src/analyzers/missing_owner.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct MissingOwnerCheck; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OwnerCheckVisitor` is never constructed [INFO] [stdout] --> src/analyzers/missing_owner.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | struct OwnerCheckVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReentrancyAnalyzer` is never constructed [INFO] [stdout] --> src/analyzers/reentrancy.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct ReentrancyAnalyzer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReentrancyVisitor` is never constructed [INFO] [stdout] --> src/analyzers/reentrancy.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct ReentrancyVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_cpi_calls` is never used [INFO] [stdout] --> src/analyzers/reentrancy.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn contains_cpi_calls(block: &syn::Block) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_reentry_protection` is never used [INFO] [stdout] --> src/analyzers/reentrancy.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn has_reentry_protection(attrs: &[Attribute]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UnauthorizedAccessAnalyzer` is never constructed [INFO] [stdout] --> src/analyzers/unauthorized_access.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct UnauthorizedAccessAnalyzer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AuthorizationVisitor` is never constructed [INFO] [stdout] --> src/analyzers/unauthorized_access.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | struct AuthorizationVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_authority_check` is never used [INFO] [stdout] --> src/analyzers/unauthorized_access.rs:172:4 [INFO] [stdout] | [INFO] [stdout] 172 | fn has_authority_check(block: &syn::Block) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_signer_type` is never used [INFO] [stdout] --> src/analyzers/unauthorized_access.rs:232:4 [INFO] [stdout] | [INFO] [stdout] 232 | fn is_signer_type(ty: &Type) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_struct_name_from_context` is never used [INFO] [stdout] --> src/analyzers/unauthorized_access.rs:253:4 [INFO] [stdout] | [INFO] [stdout] 253 | fn extract_struct_name_from_context(type_str: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IntegerOverflowAnalyzer` is never constructed [INFO] [stdout] --> src/analyzers/integer_overflow.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct IntegerOverflowAnalyzer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OverflowVisitor` is never constructed [INFO] [stdout] --> src/analyzers/integer_overflow.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct OverflowVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_arithmetic_op` is never used [INFO] [stdout] --> src/analyzers/integer_overflow.rs:37:4 [INFO] [stdout] | [INFO] [stdout] 37 | fn is_arithmetic_op(op: &BinOp) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_checked_arithmetic` is never used [INFO] [stdout] --> src/analyzers/integer_overflow.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn is_checked_arithmetic(expr: &syn::ExprBinary) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `expr_to_string` is never used [INFO] [stdout] --> src/analyzers/integer_overflow.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn expr_to_string(expr: &syn::ExprBinary) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeCosplay` is never constructed [INFO] [stdout] --> src/analyzers/type_cosplay.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct TypeCosplay; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeCosplayVisitor` is never constructed [INFO] [stdout] --> src/analyzers/type_cosplay.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | struct TypeCosplayVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_vulnerabilities` is never used [INFO] [stdout] --> src/analyzers/type_cosplay.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 52 | impl<'a> TypeCosplayVisitor<'a> { [INFO] [stdout] | ------------------------------- method in this implementation [INFO] [stdout] 53 | fn analyze_vulnerabilities(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `check_account_data_usage` is never used [INFO] [stdout] --> src/analyzers/type_cosplay.rs:300:8 [INFO] [stdout] | [INFO] [stdout] 299 | impl<'a> TypeCosplayVisitor<'a> { [INFO] [stdout] | ------------------------------- method in this implementation [INFO] [stdout] 300 | fn check_account_data_usage(&mut self, expr: &syn::Expr, span: proc_macro2::Span) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PdaSharing` is never constructed [INFO] [stdout] --> src/analyzers/pda_sharing.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct PdaSharing; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PdaSharingVisitor` is never constructed [INFO] [stdout] --> src/analyzers/pda_sharing.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct PdaSharingVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `analyze_seed_array` is never used [INFO] [stdout] --> src/analyzers/pda_sharing.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl<'a> PdaSharingVisitor<'a> { [INFO] [stdout] | ------------------------------ method in this implementation [INFO] [stdout] 112 | fn analyze_seed_array(&mut self, array: &ExprArray) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InvalidSysvarAccounts` is never constructed [INFO] [stdout] --> src/analyzers/invalid_sysvar_accounts.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct InvalidSysvarAccounts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SysvarAccountsVisitor` is never constructed [INFO] [stdout] --> src/analyzers/invalid_sysvar_accounts.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct SysvarAccountsVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClosingAccounts` is never constructed [INFO] [stdout] --> src/analyzers/closing_accounts.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ClosingAccounts; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClosingAccountsVisitor` is never constructed [INFO] [stdout] --> src/analyzers/closing_accounts.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | struct ClosingAccountsVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MissingBumpSeedCanonicalization` is never constructed [INFO] [stdout] --> src/analyzers/bump_seed_canonicalization.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MissingBumpSeedCanonicalization; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BumpSeedVisitor` is never constructed [INFO] [stdout] --> src/analyzers/bump_seed_canonicalization.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct BumpSeedVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DuplicateMutableAccounts` is never constructed [INFO] [stdout] --> src/analyzers/duplicate_mutable_accounts.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct DuplicateMutableAccounts; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccountStructCollector` is never constructed [INFO] [stdout] --> src/analyzers/duplicate_mutable_accounts.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | struct AccountStructCollector<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DuplicateMutableAccountsVisitor` is never constructed [INFO] [stdout] --> src/analyzers/duplicate_mutable_accounts.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | struct DuplicateMutableAccountsVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_context_struct_for_expr` is never used [INFO] [stdout] --> src/analyzers/duplicate_mutable_accounts.rs:288:8 [INFO] [stdout] | [INFO] [stdout] 286 | impl DuplicateMutableAccountsVisitor { [INFO] [stdout] | ------------------------------------ method in this implementation [INFO] [stdout] 287 | // Helper method to find the context struct for an expression [INFO] [stdout] 288 | fn find_context_struct_for_expr(&self, _expr: &ExprBinary) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ArbitraryCpi` is never constructed [INFO] [stdout] --> src/analyzers/arbitrary_cpi.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ArbitraryCpi; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ArbitraryCpiVisitor` is never constructed [INFO] [stdout] --> src/analyzers/arbitrary_cpi.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | struct ArbitraryCpiVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccountInitialization` is never constructed [INFO] [stdout] --> src/analyzers/account_initialization.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct AccountInitialization; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_recommended_implementation` is never used [INFO] [stdout] --> src/analyzers/account_initialization.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn is_recommended_implementation(path: &Path) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InitStructsVisitor` is never constructed [INFO] [stdout] --> src/analyzers/account_initialization.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct InitStructsVisitor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccountInitializationVisitor` is never constructed [INFO] [stdout] --> src/analyzers/account_initialization.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | struct AccountInitializationVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_context_struct_name` is never used [INFO] [stdout] --> src/analyzers/account_initialization.rs:264:4 [INFO] [stdout] | [INFO] [stdout] 264 | fn extract_context_struct_name(param_type: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_for_anchor_init_attributes` is never used [INFO] [stdout] --> src/analyzers/account_initialization.rs:275:4 [INFO] [stdout] | [INFO] [stdout] 275 | fn check_for_anchor_init_attributes(func: &ItemFn, has_init: &mut bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_initialization_function` is never used [INFO] [stdout] --> src/analyzers/account_initialization.rs:295:4 [INFO] [stdout] | [INFO] [stdout] 295 | fn is_initialization_function(func: &ItemFn) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_initialization_pattern` is never used [INFO] [stdout] --> src/analyzers/account_initialization.rs:309:4 [INFO] [stdout] | [INFO] [stdout] 309 | fn contains_initialization_pattern(func: &ItemFn) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_deserialization_method` is never used [INFO] [stdout] --> src/analyzers/account_initialization.rs:322:4 [INFO] [stdout] | [INFO] [stdout] 322 | fn is_deserialization_method(method_name: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_reinitialization_check` is never used [INFO] [stdout] --> src/analyzers/account_initialization.rs:331:4 [INFO] [stdout] | [INFO] [stdout] 331 | fn contains_reinitialization_check(func: &ItemFn) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_anchor_account_attribute` is never used [INFO] [stdout] --> src/analyzers/account_initialization.rs:349:4 [INFO] [stdout] | [INFO] [stdout] 349 | fn has_anchor_account_attribute(func: &ItemFn) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccountDataMatching` is never constructed [INFO] [stdout] --> src/analyzers/account_data_matching.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct AccountDataMatching; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccountDataMatchingVisitor` is never constructed [INFO] [stdout] --> src/analyzers/account_data_matching.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct AccountDataMatchingVisitor<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `path_to_string` is never used [INFO] [stdout] --> src/analyzers/account_data_matching.rs:154:4 [INFO] [stdout] | [INFO] [stdout] 154 | fn path_to_string(path: &syn::Path) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_owner_check` is never used [INFO] [stdout] --> src/analyzers/account_data_matching.rs:162:4 [INFO] [stdout] | [INFO] [stdout] 162 | fn is_owner_check(left: &Expr, right: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_authority_key` is never used [INFO] [stdout] --> src/analyzers/account_data_matching.rs:177:4 [INFO] [stdout] | [INFO] [stdout] 177 | fn contains_authority_key(expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contains_token_owner` is never used [INFO] [stdout] --> src/analyzers/account_data_matching.rs:198:4 [INFO] [stdout] | [INFO] [stdout] 198 | fn contains_token_owner(expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `asts` and `root_path` are never read [INFO] [stdout] --> src/models/mod.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Program { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 14 | pub asts: HashMap, [INFO] [stdout] | ^^^^ [INFO] [stdout] 15 | pub root_path: std::path::PathBuf, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_file` is never used [INFO] [stdout] --> src/models/mod.rs:104:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Program { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn from_file(file_path: PathBuf) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MarkdownDocument` is never constructed [INFO] [stdout] --> src/models/markdown.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct MarkdownDocument { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MarkdownSection` is never constructed [INFO] [stdout] --> src/models/markdown.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct MarkdownSection { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MarkdownTable` is never constructed [INFO] [stdout] --> src/models/markdown.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct MarkdownTable { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_section`, `to_string`, and `save_to_file` are never used [INFO] [stdout] --> src/models/markdown.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl MarkdownDocument { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 26 | /// Create a new markdown document with a title [INFO] [stdout] 27 | pub fn new(title: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn add_section(&mut self, section: MarkdownSection) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn save_to_file(&self, path: &Path) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_content`, `add_code_block`, `add_subsection`, and `to_string` are never used [INFO] [stdout] --> src/models/markdown.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl MarkdownSection { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 59 | /// Create a new markdown section with a heading [INFO] [stdout] 60 | pub fn new(heading: &str, level: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn add_content(&mut self, content: &str) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn add_code_block(&mut self, code: &str, language: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn add_subsection(&mut self, subsection: MarkdownSection) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_row`, and `to_string` are never used [INFO] [stdout] --> src/models/markdown.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 107 | impl MarkdownTable { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 108 | /// Create a new markdown table with headers [INFO] [stdout] 109 | pub fn new(headers: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn add_row(&mut self, row: Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_analysis_report` is never used [INFO] [stdout] --> src/models/markdown.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn create_analysis_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Finding` is never constructed [INFO] [stdout] --> src/models/markdown.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 260 | pub struct Finding { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/models/markdown.rs:270:12 [INFO] [stdout] | [INFO] [stdout] 269 | impl Finding { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 270 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.03s [INFO] running `Command { std: "docker" "inspect" "996c1c55620a346329e41dcad5270f84a4cae791606da4ff93d59352d7c255db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "996c1c55620a346329e41dcad5270f84a4cae791606da4ff93d59352d7c255db", kill_on_drop: false }` [INFO] [stdout] 996c1c55620a346329e41dcad5270f84a4cae791606da4ff93d59352d7c255db [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 190d003135a983052ee4399e7b24cbd5398420ddb500b42217fa6f01924f5f80 [INFO] running `Command { std: "docker" "start" "-a" "190d003135a983052ee4399e7b24cbd5398420ddb500b42217fa6f01924f5f80", kill_on_drop: false }` [INFO] [stderr] error: failed to download `anstyle v1.0.10` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] unable to get packages from source [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] failed to unpack package `anstyle v1.0.10` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] failed to create directory `/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anstyle-1.0.10` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] Read-only file system (os error 30) [INFO] running `Command { std: "docker" "inspect" "190d003135a983052ee4399e7b24cbd5398420ddb500b42217fa6f01924f5f80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "190d003135a983052ee4399e7b24cbd5398420ddb500b42217fa6f01924f5f80", kill_on_drop: false }` [INFO] [stdout] 190d003135a983052ee4399e7b24cbd5398420ddb500b42217fa6f01924f5f80