[INFO] fetching crate logicaffeine-compile 0.9.10... [INFO] testing logicaffeine-compile-0.9.10 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate logicaffeine-compile 0.9.10 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate logicaffeine-compile 0.9.10 [INFO] finished tweaking crates.io crate logicaffeine-compile 0.9.10 [INFO] tweaked toml for crates.io crate logicaffeine-compile 0.9.10 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate logicaffeine-compile 0.9.10 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate logicaffeine-compile 0.9.10 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4f9a385eef95733a174ad85973ef95473fc40dae60dd6297cc1d9cd6e6844718 [INFO] running `Command { std: "docker" "start" "-a" "4f9a385eef95733a174ad85973ef95473fc40dae60dd6297cc1d9cd6e6844718", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4f9a385eef95733a174ad85973ef95473fc40dae60dd6297cc1d9cd6e6844718", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f9a385eef95733a174ad85973ef95473fc40dae60dd6297cc1d9cd6e6844718", kill_on_drop: false }` [INFO] [stdout] 4f9a385eef95733a174ad85973ef95473fc40dae60dd6297cc1d9cd6e6844718 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 800817a87bf7b41746f3bfce6482d89eb23a2dec6de46281aa5beee83e3301fe [INFO] running `Command { std: "docker" "start" "-a" "800817a87bf7b41746f3bfce6482d89eb23a2dec6de46281aa5beee83e3301fe", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling bumpalo v3.20.2 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling rustc-hash v2.1.2 [INFO] [stderr] Compiling include_dir_macros v0.7.4 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling logicaffeine-base v0.9.10 [INFO] [stderr] Compiling logicaffeine-kernel v0.9.10 [INFO] [stderr] Compiling logicaffeine-lexicon v0.9.10 [INFO] [stderr] Compiling include_dir v0.7.4 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling async-lock v3.4.2 [INFO] [stderr] Compiling logicaffeine-proof v0.9.10 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling logicaffeine-data v0.9.10 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling logicaffeine-language v0.9.10 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling logicaffeine-system v0.9.10 [INFO] [stderr] Compiling logicaffeine-compile v0.9.10 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/lib.rs:149:7 [INFO] [stdout] | [INFO] [stdout] 149 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/lib.rs:151:7 [INFO] [stdout] | [INFO] [stdout] 151 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/analysis/check.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `infer_to_logos` [INFO] [stdout] --> src/analysis/check.rs:23:89 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::analysis::unify::{InferType, TyVar, TypeScheme, TypeError, UnificationTable, infer_to_logos, unify_numeric}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OptFlag` [INFO] [stdout] --> src/analysis/check.rs:25:44 [INFO] [stdout] | [INFO] [stdout] 25 | use crate::ast::stmt::{BinaryOpKind, Expr, OptFlag, Pattern, Stmt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Block` [INFO] [stdout] --> src/analysis/escape.rs:28:36 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::ast::stmt::{Stmt, Expr, Block}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/codegen/ffi.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldDef` and `VariantDef` [INFO] [stdout] --> src/codegen/ffi.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldDef, FieldType, TypeDef, TypeRegistry, VariantDef}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Expr` [INFO] [stdout] --> src/codegen/ffi.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ast::stmt::{Expr, Stmt, TypeExpr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::analysis::registry::TypeRegistry` [INFO] [stdout] --> src/codegen/marshal.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::TypeRegistry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldType` and `TypeDef` [INFO] [stdout] --> src/codegen/stmt.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldType, TypeDef, TypeRegistry}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `analyze_variable_capabilities` [INFO] [stdout] --> src/codegen/stmt.rs:9:86 [INFO] [stdout] | [INFO] [stdout] 9 | use super::context::{RefinementContext, VariableCapabilities, emit_refinement_check, analyze_variable_capabilities}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collect_boxed_fields`, `collect_crdt_register_fields`, `collect_mutable_vars_stmt`, `collect_mutable_vars`, `get_root_identifier_for_mutability`, `is_copy_type_expr`, and `is_hashable_type` [INFO] [stdout] --> src/codegen/stmt.rs:11:48 [INFO] [stdout] | [INFO] [stdout] 11 | requires_async_stmt, calls_async_function, collect_mutable_vars, collect_mutable_vars_stmt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | collect_crdt_register_fields, collect_boxed_fields, collect_expr_identifiers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | collect_stmt_identifiers, expr_debug_prefix, expr_indexes_collection, [INFO] [stdout] 14 | get_root_identifier_for_mutability, is_copy_type_expr, is_hashable_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_boxed_with_strings`, `codegen_expr_boxed`, `codegen_expr`, `codegen_interpolated_string`, `codegen_literal`, `is_definitely_numeric_expr`, and `is_definitely_string_expr` [INFO] [stdout] --> src/codegen/stmt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | codegen_expr, codegen_expr_with_async, codegen_expr_boxed, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | codegen_expr_boxed_with_strings, codegen_expr_boxed_with_types, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | codegen_interpolated_string, codegen_literal, codegen_assertion, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | codegen_expr_with_async_and_strings, is_definitely_string_expr_with_vars, [INFO] [stdout] 21 | is_definitely_string_expr, is_definitely_numeric_expr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::escape_rust_ident` [INFO] [stdout] --> src/codegen/stmt.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | use super::escape_rust_ident; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stmt` and `TypeExpr` [INFO] [stdout] --> src/codegen/expr.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ast::stmt::{BinaryOpKind, Expr, Literal, Stmt, TypeExpr}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FieldDef` [INFO] [stdout] --> src/codegen/program.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldDef, TypeDef, TypeRegistry}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::registry::SymbolRegistry` [INFO] [stdout] --> src/codegen/program.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::registry::SymbolRegistry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VariableCapabilities` [INFO] [stdout] --> src/codegen/program.rs:11:41 [INFO] [stdout] | [INFO] [stdout] 11 | use super::context::{RefinementContext, VariableCapabilities, analyze_variable_capabilities}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `body_contains_self_call`, `count_self_calls`, and `is_hashable_type` [INFO] [stdout] --> src/codegen/program.rs:19:29 [INFO] [stdout] | [INFO] [stdout] 19 | collect_pure_functions, count_self_calls, is_hashable_type, is_copy_type_expr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | should_memoize, body_contains_self_call, should_inline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_with_async` and `codegen_expr` [INFO] [stdout] --> src/codegen/program.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 27 | use super::expr::{codegen_expr, codegen_expr_with_async}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `escape_rust_ident` and `is_rust_keyword` [INFO] [stdout] --> src/codegen/program.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | use super::{escape_rust_ident, is_rust_keyword}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_logos_runtime_preamble`, `collect_c_export_reference_types`, `collect_c_export_value_type_structs`, `has_c_exports_with_text`, `has_c_exports`, `has_wasm_exports`, `mangle_type_for_c`, `map_field_type_to_c`, and `map_type_to_c_header` [INFO] [stdout] --> src/codegen/mod.rs:94:41 [INFO] [stdout] | [INFO] [stdout] 94 | CAbiClass, classify_type_for_c_abi, has_wasm_exports, has_c_exports, has_c_exports_with_text, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | codegen_c_accessors, collect_c_export_ref_structs, collect_c_export_reference_types, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 96 | collect_c_export_value_type_structs, codegen_logos_runtime_preamble, mangle_type_for_c, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 97 | map_type_to_c_header, map_field_type_to_c, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_boxed_with_strings`, `codegen_expr_boxed_with_types`, `codegen_expr_boxed`, `codegen_expr_with_async_and_strings`, `codegen_interpolated_string`, `codegen_literal`, `collect_string_concat_operands`, `is_definitely_numeric_expr`, `is_definitely_string_expr_with_vars`, and `is_definitely_string_expr` [INFO] [stdout] --> src/codegen/mod.rs:100:30 [INFO] [stdout] | [INFO] [stdout] 100 | codegen_expr_with_async, codegen_expr_boxed, codegen_expr_boxed_with_strings, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | codegen_expr_boxed_with_types, codegen_interpolated_string, codegen_literal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 102 | codegen_expr_with_async_and_strings, is_definitely_string_expr_with_vars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | is_definitely_string_expr, is_definitely_numeric_expr, collect_string_concat_operands, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `body_modifies_var`, `body_mutates_collection`, and `exprs_equal` [INFO] [stdout] --> src/codegen/mod.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | body_mutates_collection, body_modifies_var, exprs_equal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/codegen_c/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intern::Symbol` [INFO] [stdout] --> src/codegen_c/emit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::intern::Symbol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `c_type_str`, `infer_expr_type`, and `resolve_type_expr` [INFO] [stdout] --> src/codegen_c/mod.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use types::{CType, CContext, c_type_str, c_type_str_resolved, resolve_type_expr, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | resolve_type_expr_with_registry, field_type_to_ctype, escape_c_ident, infer_expr_type}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr` and `codegen_literal` [INFO] [stdout] --> src/codegen_c/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use emit::{codegen_expr, codegen_stmt, codegen_literal}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BinaryTemporalOp` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:7:86 [INFO] [stdout] | [INFO] [stdout] 7 | use logicaffeine_language::ast::logic::{LogicExpr, QuantifierKind, TemporalOperator, BinaryTemporalOp}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SvaExpr` and `sva_expr_to_string` [INFO] [stdout] --> src/codegen_sva/hw_pipeline.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use super::sva_model::{SvaExpr, parse_sva, sva_expr_to_string, sva_exprs_structurally_equivalent}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/compile.rs:558:7 [INFO] [stdout] | [INFO] [stdout] 558 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PolicyRegistry` [INFO] [stdout] --> src/compile.rs:85:71 [INFO] [stdout] | [INFO] [stdout] 85 | use crate::analysis::{DiscoveryPass, EscapeChecker, OwnershipChecker, PolicyRegistry}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClosureBody` [INFO] [stdout] --> src/optimize/dce.rs:4:67 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ast::stmt::{Expr, Literal, MatchArm, Stmt, StringPart, ClosureBody}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClosureBody`, `Literal`, and `Pattern` [INFO] [stdout] --> src/optimize/effects.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ast::stmt::{ClosureBody, Expr, Literal, Pattern, Stmt}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callgraph` [INFO] [stdout] --> src/analysis/readonly.rs:45:40 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn analyze(stmts: &[Stmt<'_>], callgraph: &CallGraph, type_env: &TypeEnv) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callgraph` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callgraph` [INFO] [stdout] --> src/analysis/readonly.rs:426:40 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn analyze(stmts: &[Stmt<'_>], callgraph: &CallGraph, type_env: &TypeEnv) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tasks` [INFO] [stdout] --> src/codegen/detection.rs:26:28 [INFO] [stdout] | [INFO] [stdout] 26 | Stmt::Concurrent { tasks } => true, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `tasks: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object` [INFO] [stdout] --> src/codegen/detection.rs:329:26 [INFO] [stdout] | [INFO] [stdout] 329 | Stmt::Show { object, .. } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/codegen/detection.rs:350:24 [INFO] [stdout] | [INFO] [stdout] 350 | Stmt::If { cond, then_block, else_block } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `cond: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/detection.rs:1333:64 [INFO] [stdout] | [INFO] [stdout] 1333 | pub(super) fn collect_escaping_collection_vars(stmts: &[Stmt], interner: &Interner) -> HashSet { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/detection.rs:1563:5 [INFO] [stdout] | [INFO] [stdout] 1563 | interner: &Interner, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_portable` [INFO] [stdout] --> src/codegen/ffi.rs:1028:48 [INFO] [stdout] | [INFO] [stdout] 1028 | Some(TypeDef::Struct { fields, is_portable, .. }) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `is_portable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_portable` [INFO] [stdout] --> src/codegen/ffi.rs:1612:56 [INFO] [stdout] | [INFO] [stdout] 1612 | Some(TypeDef::Struct { fields, is_portable, .. }) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `is_portable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lww_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1444:5 [INFO] [stdout] | [INFO] [stdout] 1444 | lww_fields: &HashSet<(String, String)>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lww_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mv_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1445:5 [INFO] [stdout] | [INFO] [stdout] 1445 | mv_fields: &HashSet<(String, String)>, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mv_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `synced_vars` [INFO] [stdout] --> src/codegen/peephole.rs:1446:5 [INFO] [stdout] | [INFO] [stdout] 1446 | synced_vars: &mut HashSet, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_synced_vars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_caps` [INFO] [stdout] --> src/codegen/peephole.rs:1447:5 [INFO] [stdout] | [INFO] [stdout] 1447 | var_caps: &HashMap, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_caps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `async_functions` [INFO] [stdout] --> src/codegen/peephole.rs:1448:5 [INFO] [stdout] | [INFO] [stdout] 1448 | async_functions: &HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_async_functions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipe_vars` [INFO] [stdout] --> src/codegen/peephole.rs:1449:5 [INFO] [stdout] | [INFO] [stdout] 1449 | pipe_vars: &HashSet, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipe_vars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1450:5 [INFO] [stdout] | [INFO] [stdout] 1450 | boxed_fields: &HashSet<(String, String, String)>, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `registry` [INFO] [stdout] --> src/codegen/peephole.rs:1451:5 [INFO] [stdout] | [INFO] [stdout] 1451 | registry: &TypeRegistry, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_env` [INFO] [stdout] --> src/codegen/peephole.rs:1452:5 [INFO] [stdout] | [INFO] [stdout] 1452 | type_env: &crate::analysis::types::TypeEnv, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `last_while_idx` is assigned to, but never used [INFO] [stdout] --> src/codegen/peephole.rs:2954:9 [INFO] [stdout] | [INFO] [stdout] 2954 | let mut last_while_idx = idx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_last_while_idx` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_while_idx` is never read [INFO] [stdout] --> src/codegen/peephole.rs:2967:25 [INFO] [stdout] | [INFO] [stdout] 2967 | last_while_idx = scan; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/peephole.rs:3790:5 [INFO] [stdout] | [INFO] [stdout] 3790 | interner: &Interner, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:145:29 [INFO] [stdout] | [INFO] [stdout] 145 | for t in 0..self.bound { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:157:29 [INFO] [stdout] | [INFO] [stdout] 157 | for t in 0..self.bound { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/compile.rs:2062:21 [INFO] [stdout] | [INFO] [stdout] 2062 | Stmt::Let { var, value, .. } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `var: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> src/compile.rs:2714:38 [INFO] [stdout] | [INFO] [stdout] 2714 | Stmt::IncreaseCrdt { object, field, amount } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> src/compile.rs:2725:38 [INFO] [stdout] | [INFO] [stdout] 2725 | Stmt::DecreaseCrdt { object, field, amount } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `core_types` [INFO] [stdout] --> src/compile.rs:4400:48 [INFO] [stdout] | [INFO] [stdout] 4400 | pub fn run_genuine_p3_on_target(program: &str, core_types: &str, interpreter: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_core_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr_arena` [INFO] [stdout] --> src/optimize/dce.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | expr_arena: &'a Arena>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expr_arena` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `funcs` [INFO] [stdout] --> src/optimize/bta.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | funcs: &HashMap>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_funcs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cache` [INFO] [stdout] --> src/optimize/bta.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | cache: &mut BtaCache, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function` [INFO] [stdout] --> src/optimize/bta.rs:243:22 [INFO] [stdout] | [INFO] [stdout] 243 | Stmt::Call { function, args } => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `function: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `bta::FuncDef<'a>` is more private than the item `analyze_function_bt` [INFO] [stdout] --> src/optimize/bta.rs:262:1 [INFO] [stdout] | [INFO] [stdout] 262 | / pub fn analyze_function_bt<'a>( [INFO] [stdout] 263 | | func_name: Symbol, [INFO] [stdout] 264 | | params: &[(Symbol, &'a TypeExpr<'a>)], [INFO] [stdout] 265 | | body: &[Stmt<'a>], [INFO] [stdout] ... | [INFO] [stdout] 268 | | cache: &mut BtaCache, [INFO] [stdout] 269 | | ) -> BtaResult { [INFO] [stdout] | |______________^ function `analyze_function_bt` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `bta::FuncDef<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/optimize/bta.rs:257:1 [INFO] [stdout] | [INFO] [stdout] 257 | struct FuncDef<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `register_boxed_binding` and `is_boxed_binding` are never used [INFO] [stdout] --> src/codegen/context.rs:149:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl<'a> RefinementContext<'a> { [INFO] [stdout] | ------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 149 | pub(super) fn register_boxed_binding(&mut self, var: Symbol) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub(super) fn is_boxed_binding(&self, var: Symbol) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_readonly_vec_param_indices` is never used [INFO] [stdout] --> src/codegen/detection.rs:1290:15 [INFO] [stdout] | [INFO] [stdout] 1290 | pub(super) fn collect_readonly_vec_param_indices( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_collection_field` is never used [INFO] [stdout] --> src/codegen/types.rs:386:4 [INFO] [stdout] | [INFO] [stdout] 386 | fn is_collection_field(ty: &FieldType, interner: &Interner) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `map_type_to_c_abi` is never used [INFO] [stdout] --> src/codegen/marshal.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub(super) fn map_type_to_c_abi(ty: &TypeExpr, interner: &Interner, is_return: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_definitely_numeric_expr` is never used [INFO] [stdout] --> src/codegen/expr.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub(crate) fn is_definitely_numeric_expr(expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_definitely_string_expr` is never used [INFO] [stdout] --> src/codegen/expr.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) fn is_definitely_string_expr(expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `codegen_expr_boxed_with_strings` is never used [INFO] [stdout] --> src/codegen/expr.rs:163:15 [INFO] [stdout] | [INFO] [stdout] 163 | pub(crate) fn codegen_expr_boxed_with_strings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_main_block` is never used [INFO] [stdout] --> src/compile.rs:4872:4 [INFO] [stdout] | [INFO] [stdout] 4872 | fn extract_main_block(source: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `store_snapshot` is never read [INFO] [stdout] --> src/optimize/supercompile.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 68 | struct Configuration<'a> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 69 | expr: &'a Expr<'a>, [INFO] [stdout] 70 | store_snapshot: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Configuration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_block_effects` is never used [INFO] [stdout] --> src/optimize/effects.rs:355:4 [INFO] [stdout] | [INFO] [stdout] 355 | fn analyze_block_effects(stmts: &[Stmt<'_>]) -> EffectSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `function` and `args` are never read [INFO] [stdout] --> src/optimize/bta.rs:374:12 [INFO] [stdout] | [INFO] [stdout] 374 | Call { function: Symbol, args: Vec }, [INFO] [stdout] | ---- ^^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaStmtKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `collection` is never read [INFO] [stdout] --> src/optimize/bta.rs:386:14 [INFO] [stdout] | [INFO] [stdout] 386 | Length { collection: Box }, [INFO] [stdout] | ------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaExpr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `collection` and `index` are never read [INFO] [stdout] --> src/optimize/bta.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | Index { collection: Box, index: Box }, [INFO] [stdout] | ----- ^^^^^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaExpr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `clone` that must be used [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | self.declarations.clone(); // touch for borrow checker [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: cloning is often expensive and is not expected to have side effects [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 212 | let _ = self.declarations.clone(); // touch for borrow checker [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.56s [INFO] running `Command { std: "docker" "inspect" "800817a87bf7b41746f3bfce6482d89eb23a2dec6de46281aa5beee83e3301fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "800817a87bf7b41746f3bfce6482d89eb23a2dec6de46281aa5beee83e3301fe", kill_on_drop: false }` [INFO] [stdout] 800817a87bf7b41746f3bfce6482d89eb23a2dec6de46281aa5beee83e3301fe [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 27403b22d14f902fac4b8cc5003dcc4af13a0ccc7525db89921823990b4356e2 [INFO] running `Command { std: "docker" "start" "-a" "27403b22d14f902fac4b8cc5003dcc4af13a0ccc7525db89921823990b4356e2", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/lib.rs:149:7 [INFO] [stdout] | [INFO] [stdout] 149 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/lib.rs:151:7 [INFO] [stdout] | [INFO] [stdout] 151 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/analysis/check.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `infer_to_logos` [INFO] [stdout] --> src/analysis/check.rs:23:89 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::analysis::unify::{InferType, TyVar, TypeScheme, TypeError, UnificationTable, infer_to_logos, unify_numeric}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OptFlag` [INFO] [stdout] --> src/analysis/check.rs:25:44 [INFO] [stdout] | [INFO] [stdout] 25 | use crate::ast::stmt::{BinaryOpKind, Expr, OptFlag, Pattern, Stmt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Block` [INFO] [stdout] --> src/analysis/escape.rs:28:36 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::ast::stmt::{Stmt, Expr, Block}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/codegen/ffi.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldDef` and `VariantDef` [INFO] [stdout] --> src/codegen/ffi.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldDef, FieldType, TypeDef, TypeRegistry, VariantDef}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Expr` [INFO] [stdout] --> src/codegen/ffi.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ast::stmt::{Expr, Stmt, TypeExpr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::analysis::registry::TypeRegistry` [INFO] [stdout] --> src/codegen/marshal.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::TypeRegistry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldType` and `TypeDef` [INFO] [stdout] --> src/codegen/stmt.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldType, TypeDef, TypeRegistry}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `analyze_variable_capabilities` [INFO] [stdout] --> src/codegen/stmt.rs:9:86 [INFO] [stdout] | [INFO] [stdout] 9 | use super::context::{RefinementContext, VariableCapabilities, emit_refinement_check, analyze_variable_capabilities}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collect_boxed_fields`, `collect_crdt_register_fields`, `collect_mutable_vars_stmt`, `collect_mutable_vars`, `get_root_identifier_for_mutability`, `is_copy_type_expr`, and `is_hashable_type` [INFO] [stdout] --> src/codegen/stmt.rs:11:48 [INFO] [stdout] | [INFO] [stdout] 11 | requires_async_stmt, calls_async_function, collect_mutable_vars, collect_mutable_vars_stmt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | collect_crdt_register_fields, collect_boxed_fields, collect_expr_identifiers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | collect_stmt_identifiers, expr_debug_prefix, expr_indexes_collection, [INFO] [stdout] 14 | get_root_identifier_for_mutability, is_copy_type_expr, is_hashable_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_boxed_with_strings`, `codegen_expr_boxed`, `codegen_expr`, `codegen_interpolated_string`, `codegen_literal`, `is_definitely_numeric_expr`, and `is_definitely_string_expr` [INFO] [stdout] --> src/codegen/stmt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | codegen_expr, codegen_expr_with_async, codegen_expr_boxed, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | codegen_expr_boxed_with_strings, codegen_expr_boxed_with_types, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | codegen_interpolated_string, codegen_literal, codegen_assertion, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | codegen_expr_with_async_and_strings, is_definitely_string_expr_with_vars, [INFO] [stdout] 21 | is_definitely_string_expr, is_definitely_numeric_expr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::escape_rust_ident` [INFO] [stdout] --> src/codegen/stmt.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | use super::escape_rust_ident; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stmt` and `TypeExpr` [INFO] [stdout] --> src/codegen/expr.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ast::stmt::{BinaryOpKind, Expr, Literal, Stmt, TypeExpr}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FieldDef` [INFO] [stdout] --> src/codegen/program.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldDef, TypeDef, TypeRegistry}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::registry::SymbolRegistry` [INFO] [stdout] --> src/codegen/program.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::registry::SymbolRegistry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VariableCapabilities` [INFO] [stdout] --> src/codegen/program.rs:11:41 [INFO] [stdout] | [INFO] [stdout] 11 | use super::context::{RefinementContext, VariableCapabilities, analyze_variable_capabilities}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `body_contains_self_call`, `count_self_calls`, and `is_hashable_type` [INFO] [stdout] --> src/codegen/program.rs:19:29 [INFO] [stdout] | [INFO] [stdout] 19 | collect_pure_functions, count_self_calls, is_hashable_type, is_copy_type_expr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | should_memoize, body_contains_self_call, should_inline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_with_async` and `codegen_expr` [INFO] [stdout] --> src/codegen/program.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 27 | use super::expr::{codegen_expr, codegen_expr_with_async}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `escape_rust_ident` and `is_rust_keyword` [INFO] [stdout] --> src/codegen/program.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | use super::{escape_rust_ident, is_rust_keyword}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_logos_runtime_preamble`, `collect_c_export_reference_types`, `collect_c_export_value_type_structs`, `has_c_exports_with_text`, `has_c_exports`, `has_wasm_exports`, `mangle_type_for_c`, `map_field_type_to_c`, and `map_type_to_c_header` [INFO] [stdout] --> src/codegen/mod.rs:94:41 [INFO] [stdout] | [INFO] [stdout] 94 | CAbiClass, classify_type_for_c_abi, has_wasm_exports, has_c_exports, has_c_exports_with_text, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | codegen_c_accessors, collect_c_export_ref_structs, collect_c_export_reference_types, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 96 | collect_c_export_value_type_structs, codegen_logos_runtime_preamble, mangle_type_for_c, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 97 | map_type_to_c_header, map_field_type_to_c, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_boxed_with_strings`, `codegen_expr_boxed_with_types`, `codegen_expr_boxed`, `codegen_expr_with_async_and_strings`, `codegen_interpolated_string`, `codegen_literal`, `collect_string_concat_operands`, `is_definitely_numeric_expr`, `is_definitely_string_expr_with_vars`, and `is_definitely_string_expr` [INFO] [stdout] --> src/codegen/mod.rs:100:30 [INFO] [stdout] | [INFO] [stdout] 100 | codegen_expr_with_async, codegen_expr_boxed, codegen_expr_boxed_with_strings, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | codegen_expr_boxed_with_types, codegen_interpolated_string, codegen_literal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 102 | codegen_expr_with_async_and_strings, is_definitely_string_expr_with_vars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | is_definitely_string_expr, is_definitely_numeric_expr, collect_string_concat_operands, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `body_modifies_var`, `body_mutates_collection`, and `exprs_equal` [INFO] [stdout] --> src/codegen/mod.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | body_mutates_collection, body_modifies_var, exprs_equal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/codegen_c/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intern::Symbol` [INFO] [stdout] --> src/codegen_c/emit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::intern::Symbol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `c_type_str`, `infer_expr_type`, and `resolve_type_expr` [INFO] [stdout] --> src/codegen_c/mod.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use types::{CType, CContext, c_type_str, c_type_str_resolved, resolve_type_expr, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | resolve_type_expr_with_registry, field_type_to_ctype, escape_c_ident, infer_expr_type}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr` and `codegen_literal` [INFO] [stdout] --> src/codegen_c/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use emit::{codegen_expr, codegen_stmt, codegen_literal}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BinaryTemporalOp` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:7:86 [INFO] [stdout] | [INFO] [stdout] 7 | use logicaffeine_language::ast::logic::{LogicExpr, QuantifierKind, TemporalOperator, BinaryTemporalOp}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SvaExpr` and `sva_expr_to_string` [INFO] [stdout] --> src/codegen_sva/hw_pipeline.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use super::sva_model::{SvaExpr, parse_sva, sva_expr_to_string, sva_exprs_structurally_equivalent}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/compile.rs:558:7 [INFO] [stdout] | [INFO] [stdout] 558 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PolicyRegistry` [INFO] [stdout] --> src/compile.rs:85:71 [INFO] [stdout] | [INFO] [stdout] 85 | use crate::analysis::{DiscoveryPass, EscapeChecker, OwnershipChecker, PolicyRegistry}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClosureBody` [INFO] [stdout] --> src/optimize/dce.rs:4:67 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ast::stmt::{Expr, Literal, MatchArm, Stmt, StringPart, ClosureBody}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClosureBody`, `Literal`, and `Pattern` [INFO] [stdout] --> src/optimize/effects.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ast::stmt::{ClosureBody, Expr, Literal, Pattern, Stmt}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callgraph` [INFO] [stdout] --> src/analysis/readonly.rs:45:40 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn analyze(stmts: &[Stmt<'_>], callgraph: &CallGraph, type_env: &TypeEnv) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callgraph` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callgraph` [INFO] [stdout] --> src/analysis/readonly.rs:426:40 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn analyze(stmts: &[Stmt<'_>], callgraph: &CallGraph, type_env: &TypeEnv) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tasks` [INFO] [stdout] --> src/codegen/detection.rs:26:28 [INFO] [stdout] | [INFO] [stdout] 26 | Stmt::Concurrent { tasks } => true, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `tasks: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object` [INFO] [stdout] --> src/codegen/detection.rs:329:26 [INFO] [stdout] | [INFO] [stdout] 329 | Stmt::Show { object, .. } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/codegen/detection.rs:350:24 [INFO] [stdout] | [INFO] [stdout] 350 | Stmt::If { cond, then_block, else_block } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `cond: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/detection.rs:1333:64 [INFO] [stdout] | [INFO] [stdout] 1333 | pub(super) fn collect_escaping_collection_vars(stmts: &[Stmt], interner: &Interner) -> HashSet { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/detection.rs:1563:5 [INFO] [stdout] | [INFO] [stdout] 1563 | interner: &Interner, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_portable` [INFO] [stdout] --> src/codegen/ffi.rs:1028:48 [INFO] [stdout] | [INFO] [stdout] 1028 | Some(TypeDef::Struct { fields, is_portable, .. }) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `is_portable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_portable` [INFO] [stdout] --> src/codegen/ffi.rs:1612:56 [INFO] [stdout] | [INFO] [stdout] 1612 | Some(TypeDef::Struct { fields, is_portable, .. }) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `is_portable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lww_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1444:5 [INFO] [stdout] | [INFO] [stdout] 1444 | lww_fields: &HashSet<(String, String)>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lww_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mv_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1445:5 [INFO] [stdout] | [INFO] [stdout] 1445 | mv_fields: &HashSet<(String, String)>, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mv_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `synced_vars` [INFO] [stdout] --> src/codegen/peephole.rs:1446:5 [INFO] [stdout] | [INFO] [stdout] 1446 | synced_vars: &mut HashSet, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_synced_vars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_caps` [INFO] [stdout] --> src/codegen/peephole.rs:1447:5 [INFO] [stdout] | [INFO] [stdout] 1447 | var_caps: &HashMap, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_caps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `async_functions` [INFO] [stdout] --> src/codegen/peephole.rs:1448:5 [INFO] [stdout] | [INFO] [stdout] 1448 | async_functions: &HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_async_functions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipe_vars` [INFO] [stdout] --> src/codegen/peephole.rs:1449:5 [INFO] [stdout] | [INFO] [stdout] 1449 | pipe_vars: &HashSet, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipe_vars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1450:5 [INFO] [stdout] | [INFO] [stdout] 1450 | boxed_fields: &HashSet<(String, String, String)>, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `registry` [INFO] [stdout] --> src/codegen/peephole.rs:1451:5 [INFO] [stdout] | [INFO] [stdout] 1451 | registry: &TypeRegistry, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_env` [INFO] [stdout] --> src/codegen/peephole.rs:1452:5 [INFO] [stdout] | [INFO] [stdout] 1452 | type_env: &crate::analysis::types::TypeEnv, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `last_while_idx` is assigned to, but never used [INFO] [stdout] --> src/codegen/peephole.rs:2954:9 [INFO] [stdout] | [INFO] [stdout] 2954 | let mut last_while_idx = idx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_last_while_idx` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_while_idx` is never read [INFO] [stdout] --> src/codegen/peephole.rs:2967:25 [INFO] [stdout] | [INFO] [stdout] 2967 | last_while_idx = scan; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/peephole.rs:3790:5 [INFO] [stdout] | [INFO] [stdout] 3790 | interner: &Interner, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:145:29 [INFO] [stdout] | [INFO] [stdout] 145 | for t in 0..self.bound { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:157:29 [INFO] [stdout] | [INFO] [stdout] 157 | for t in 0..self.bound { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/compile.rs:2062:21 [INFO] [stdout] | [INFO] [stdout] 2062 | Stmt::Let { var, value, .. } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `var: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> src/compile.rs:2714:38 [INFO] [stdout] | [INFO] [stdout] 2714 | Stmt::IncreaseCrdt { object, field, amount } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> src/compile.rs:2725:38 [INFO] [stdout] | [INFO] [stdout] 2725 | Stmt::DecreaseCrdt { object, field, amount } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `core_types` [INFO] [stdout] --> src/compile.rs:4400:48 [INFO] [stdout] | [INFO] [stdout] 4400 | pub fn run_genuine_p3_on_target(program: &str, core_types: &str, interpreter: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_core_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr_arena` [INFO] [stdout] --> src/optimize/dce.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | expr_arena: &'a Arena>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expr_arena` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `funcs` [INFO] [stdout] --> src/optimize/bta.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | funcs: &HashMap>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_funcs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cache` [INFO] [stdout] --> src/optimize/bta.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | cache: &mut BtaCache, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function` [INFO] [stdout] --> src/optimize/bta.rs:243:22 [INFO] [stdout] | [INFO] [stdout] 243 | Stmt::Call { function, args } => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `function: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `bta::FuncDef<'a>` is more private than the item `analyze_function_bt` [INFO] [stdout] --> src/optimize/bta.rs:262:1 [INFO] [stdout] | [INFO] [stdout] 262 | / pub fn analyze_function_bt<'a>( [INFO] [stdout] 263 | | func_name: Symbol, [INFO] [stdout] 264 | | params: &[(Symbol, &'a TypeExpr<'a>)], [INFO] [stdout] 265 | | body: &[Stmt<'a>], [INFO] [stdout] ... | [INFO] [stdout] 268 | | cache: &mut BtaCache, [INFO] [stdout] 269 | | ) -> BtaResult { [INFO] [stdout] | |______________^ function `analyze_function_bt` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `bta::FuncDef<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/optimize/bta.rs:257:1 [INFO] [stdout] | [INFO] [stdout] 257 | struct FuncDef<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `register_boxed_binding` and `is_boxed_binding` are never used [INFO] [stdout] --> src/codegen/context.rs:149:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl<'a> RefinementContext<'a> { [INFO] [stdout] | ------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 149 | pub(super) fn register_boxed_binding(&mut self, var: Symbol) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub(super) fn is_boxed_binding(&self, var: Symbol) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_readonly_vec_param_indices` is never used [INFO] [stdout] --> src/codegen/detection.rs:1290:15 [INFO] [stdout] | [INFO] [stdout] 1290 | pub(super) fn collect_readonly_vec_param_indices( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_collection_field` is never used [INFO] [stdout] --> src/codegen/types.rs:386:4 [INFO] [stdout] | [INFO] [stdout] 386 | fn is_collection_field(ty: &FieldType, interner: &Interner) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `map_type_to_c_abi` is never used [INFO] [stdout] --> src/codegen/marshal.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub(super) fn map_type_to_c_abi(ty: &TypeExpr, interner: &Interner, is_return: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_definitely_numeric_expr` is never used [INFO] [stdout] --> src/codegen/expr.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub(crate) fn is_definitely_numeric_expr(expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_definitely_string_expr` is never used [INFO] [stdout] --> src/codegen/expr.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) fn is_definitely_string_expr(expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `codegen_expr_boxed_with_strings` is never used [INFO] [stdout] --> src/codegen/expr.rs:163:15 [INFO] [stdout] | [INFO] [stdout] 163 | pub(crate) fn codegen_expr_boxed_with_strings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_main_block` is never used [INFO] [stdout] --> src/compile.rs:4872:4 [INFO] [stdout] | [INFO] [stdout] 4872 | fn extract_main_block(source: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `store_snapshot` is never read [INFO] [stdout] --> src/optimize/supercompile.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 68 | struct Configuration<'a> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 69 | expr: &'a Expr<'a>, [INFO] [stdout] 70 | store_snapshot: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Configuration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_block_effects` is never used [INFO] [stdout] --> src/optimize/effects.rs:355:4 [INFO] [stdout] | [INFO] [stdout] 355 | fn analyze_block_effects(stmts: &[Stmt<'_>]) -> EffectSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `function` and `args` are never read [INFO] [stdout] --> src/optimize/bta.rs:374:12 [INFO] [stdout] | [INFO] [stdout] 374 | Call { function: Symbol, args: Vec }, [INFO] [stdout] | ---- ^^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaStmtKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `collection` is never read [INFO] [stdout] --> src/optimize/bta.rs:386:14 [INFO] [stdout] | [INFO] [stdout] 386 | Length { collection: Box }, [INFO] [stdout] | ------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaExpr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `collection` and `index` are never read [INFO] [stdout] --> src/optimize/bta.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | Index { collection: Box, index: Box }, [INFO] [stdout] | ----- ^^^^^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaExpr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `clone` that must be used [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | self.declarations.clone(); // touch for borrow checker [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: cloning is often expensive and is not expected to have side effects [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 212 | let _ = self.declarations.clone(); // touch for borrow checker [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling logicaffeine-compile v0.9.10 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/lib.rs:149:7 [INFO] [stdout] | [INFO] [stdout] 149 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/lib.rs:151:7 [INFO] [stdout] | [INFO] [stdout] 151 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `infer_to_logos` [INFO] [stdout] --> src/analysis/check.rs:23:89 [INFO] [stdout] | [INFO] [stdout] 23 | use crate::analysis::unify::{InferType, TyVar, TypeScheme, TypeError, UnificationTable, infer_to_logos, unify_numeric}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `OptFlag` [INFO] [stdout] --> src/analysis/check.rs:25:44 [INFO] [stdout] | [INFO] [stdout] 25 | use crate::ast::stmt::{BinaryOpKind, Expr, OptFlag, Pattern, Stmt}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Block` [INFO] [stdout] --> src/analysis/escape.rs:28:36 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::ast::stmt::{Stmt, Expr, Block}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldDef` and `TypeDef` [INFO] [stdout] --> src/analysis/unify.rs:770:27 [INFO] [stdout] | [INFO] [stdout] 770 | use crate::analysis::{FieldDef, TypeDef}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> src/codegen/ffi.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldDef` and `VariantDef` [INFO] [stdout] --> src/codegen/ffi.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldDef, FieldType, TypeDef, TypeRegistry, VariantDef}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Expr` [INFO] [stdout] --> src/codegen/ffi.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::ast::stmt::{Expr, Stmt, TypeExpr}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::analysis::registry::TypeRegistry` [INFO] [stdout] --> src/codegen/marshal.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::TypeRegistry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldType` and `TypeDef` [INFO] [stdout] --> src/codegen/stmt.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldType, TypeDef, TypeRegistry}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `analyze_variable_capabilities` [INFO] [stdout] --> src/codegen/stmt.rs:9:86 [INFO] [stdout] | [INFO] [stdout] 9 | use super::context::{RefinementContext, VariableCapabilities, emit_refinement_check, analyze_variable_capabilities}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collect_boxed_fields`, `collect_crdt_register_fields`, `collect_mutable_vars_stmt`, `collect_mutable_vars`, `get_root_identifier_for_mutability`, `is_copy_type_expr`, and `is_hashable_type` [INFO] [stdout] --> src/codegen/stmt.rs:11:48 [INFO] [stdout] | [INFO] [stdout] 11 | requires_async_stmt, calls_async_function, collect_mutable_vars, collect_mutable_vars_stmt, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | collect_crdt_register_fields, collect_boxed_fields, collect_expr_identifiers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | collect_stmt_identifiers, expr_debug_prefix, expr_indexes_collection, [INFO] [stdout] 14 | get_root_identifier_for_mutability, is_copy_type_expr, is_hashable_type, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_boxed_with_strings`, `codegen_expr_boxed`, `codegen_expr`, `codegen_interpolated_string`, `codegen_literal`, `is_definitely_numeric_expr`, and `is_definitely_string_expr` [INFO] [stdout] --> src/codegen/stmt.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | codegen_expr, codegen_expr_with_async, codegen_expr_boxed, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 18 | codegen_expr_boxed_with_strings, codegen_expr_boxed_with_types, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | codegen_interpolated_string, codegen_literal, codegen_assertion, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | codegen_expr_with_async_and_strings, is_definitely_string_expr_with_vars, [INFO] [stdout] 21 | is_definitely_string_expr, is_definitely_numeric_expr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::escape_rust_ident` [INFO] [stdout] --> src/codegen/stmt.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | use super::escape_rust_ident; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Stmt` and `TypeExpr` [INFO] [stdout] --> src/codegen/expr.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ast::stmt::{BinaryOpKind, Expr, Literal, Stmt, TypeExpr}; [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FieldDef` [INFO] [stdout] --> src/codegen/program.rs:4:33 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::analysis::registry::{FieldDef, TypeDef, TypeRegistry}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::registry::SymbolRegistry` [INFO] [stdout] --> src/codegen/program.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::registry::SymbolRegistry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VariableCapabilities` [INFO] [stdout] --> src/codegen/program.rs:11:41 [INFO] [stdout] | [INFO] [stdout] 11 | use super::context::{RefinementContext, VariableCapabilities, analyze_variable_capabilities}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `body_contains_self_call`, `count_self_calls`, and `is_hashable_type` [INFO] [stdout] --> src/codegen/program.rs:19:29 [INFO] [stdout] | [INFO] [stdout] 19 | collect_pure_functions, count_self_calls, is_hashable_type, is_copy_type_expr, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] 20 | should_memoize, body_contains_self_call, should_inline, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_with_async` and `codegen_expr` [INFO] [stdout] --> src/codegen/program.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 27 | use super::expr::{codegen_expr, codegen_expr_with_async}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `escape_rust_ident` and `is_rust_keyword` [INFO] [stdout] --> src/codegen/program.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | use super::{escape_rust_ident, is_rust_keyword}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_logos_runtime_preamble`, `collect_c_export_reference_types`, `collect_c_export_value_type_structs`, `has_c_exports_with_text`, `has_c_exports`, `has_wasm_exports`, `mangle_type_for_c`, `map_field_type_to_c`, and `map_type_to_c_header` [INFO] [stdout] --> src/codegen/mod.rs:94:41 [INFO] [stdout] | [INFO] [stdout] 94 | CAbiClass, classify_type_for_c_abi, has_wasm_exports, has_c_exports, has_c_exports_with_text, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | codegen_c_accessors, collect_c_export_ref_structs, collect_c_export_reference_types, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 96 | collect_c_export_value_type_structs, codegen_logos_runtime_preamble, mangle_type_for_c, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 97 | map_type_to_c_header, map_field_type_to_c, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr_boxed_with_strings`, `codegen_expr_boxed_with_types`, `codegen_expr_boxed`, `codegen_expr_with_async_and_strings`, `codegen_interpolated_string`, `codegen_literal`, `collect_string_concat_operands`, `is_definitely_numeric_expr`, `is_definitely_string_expr_with_vars`, and `is_definitely_string_expr` [INFO] [stdout] --> src/codegen/mod.rs:100:30 [INFO] [stdout] | [INFO] [stdout] 100 | codegen_expr_with_async, codegen_expr_boxed, codegen_expr_boxed_with_strings, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | codegen_expr_boxed_with_types, codegen_interpolated_string, codegen_literal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] 102 | codegen_expr_with_async_and_strings, is_definitely_string_expr_with_vars, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | is_definitely_string_expr, is_definitely_numeric_expr, collect_string_concat_operands, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `body_modifies_var`, `body_mutates_collection`, and `exprs_equal` [INFO] [stdout] --> src/codegen/mod.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | body_mutates_collection, body_modifies_var, exprs_equal, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/codegen_c/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::intern::Symbol` [INFO] [stdout] --> src/codegen_c/emit.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::intern::Symbol; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `c_type_str`, `infer_expr_type`, and `resolve_type_expr` [INFO] [stdout] --> src/codegen_c/mod.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | use types::{CType, CContext, c_type_str, c_type_str_resolved, resolve_type_expr, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | resolve_type_expr_with_registry, field_type_to_ctype, escape_c_ident, infer_expr_type}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `codegen_expr` and `codegen_literal` [INFO] [stdout] --> src/codegen_c/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | use emit::{codegen_expr, codegen_stmt, codegen_literal}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BinaryTemporalOp` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:7:86 [INFO] [stdout] | [INFO] [stdout] 7 | use logicaffeine_language::ast::logic::{LogicExpr, QuantifierKind, TemporalOperator, BinaryTemporalOp}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SvaExpr` and `sva_expr_to_string` [INFO] [stdout] --> src/codegen_sva/hw_pipeline.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use super::sva_model::{SvaExpr, parse_sva, sva_expr_to_string, sva_exprs_structurally_equivalent}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `verification` [INFO] [stdout] --> src/compile.rs:558:7 [INFO] [stdout] | [INFO] [stdout] 558 | #[cfg(feature = "verification")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stdout] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PolicyRegistry` [INFO] [stdout] --> src/compile.rs:85:71 [INFO] [stdout] | [INFO] [stdout] 85 | use crate::analysis::{DiscoveryPass, EscapeChecker, OwnershipChecker, PolicyRegistry}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClosureBody` [INFO] [stdout] --> src/optimize/dce.rs:4:67 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::ast::stmt::{Expr, Literal, MatchArm, Stmt, StringPart, ClosureBody}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClosureBody`, `Literal`, and `Pattern` [INFO] [stdout] --> src/optimize/effects.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ast::stmt::{ClosureBody, Expr, Literal, Pattern, Stmt}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/analysis/escape.rs:370:13 [INFO] [stdout] | [INFO] [stdout] 370 | let mut interner = Interner::new(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callgraph` [INFO] [stdout] --> src/analysis/readonly.rs:45:40 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn analyze(stmts: &[Stmt<'_>], callgraph: &CallGraph, type_env: &TypeEnv) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callgraph` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `callgraph` [INFO] [stdout] --> src/analysis/readonly.rs:426:40 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn analyze(stmts: &[Stmt<'_>], callgraph: &CallGraph, type_env: &TypeEnv) -> Self { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callgraph` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tasks` [INFO] [stdout] --> src/codegen/detection.rs:26:28 [INFO] [stdout] | [INFO] [stdout] 26 | Stmt::Concurrent { tasks } => true, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `tasks: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object` [INFO] [stdout] --> src/codegen/detection.rs:329:26 [INFO] [stdout] | [INFO] [stdout] 329 | Stmt::Show { object, .. } => { [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cond` [INFO] [stdout] --> src/codegen/detection.rs:350:24 [INFO] [stdout] | [INFO] [stdout] 350 | Stmt::If { cond, then_block, else_block } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `cond: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/detection.rs:1333:64 [INFO] [stdout] | [INFO] [stdout] 1333 | pub(super) fn collect_escaping_collection_vars(stmts: &[Stmt], interner: &Interner) -> HashSet { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/detection.rs:1563:5 [INFO] [stdout] | [INFO] [stdout] 1563 | interner: &Interner, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_portable` [INFO] [stdout] --> src/codegen/ffi.rs:1028:48 [INFO] [stdout] | [INFO] [stdout] 1028 | Some(TypeDef::Struct { fields, is_portable, .. }) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `is_portable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_portable` [INFO] [stdout] --> src/codegen/ffi.rs:1612:56 [INFO] [stdout] | [INFO] [stdout] 1612 | Some(TypeDef::Struct { fields, is_portable, .. }) => { [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `is_portable: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lww_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1444:5 [INFO] [stdout] | [INFO] [stdout] 1444 | lww_fields: &HashSet<(String, String)>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lww_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mv_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1445:5 [INFO] [stdout] | [INFO] [stdout] 1445 | mv_fields: &HashSet<(String, String)>, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mv_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `synced_vars` [INFO] [stdout] --> src/codegen/peephole.rs:1446:5 [INFO] [stdout] | [INFO] [stdout] 1446 | synced_vars: &mut HashSet, [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_synced_vars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_caps` [INFO] [stdout] --> src/codegen/peephole.rs:1447:5 [INFO] [stdout] | [INFO] [stdout] 1447 | var_caps: &HashMap, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_caps` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `async_functions` [INFO] [stdout] --> src/codegen/peephole.rs:1448:5 [INFO] [stdout] | [INFO] [stdout] 1448 | async_functions: &HashSet, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_async_functions` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pipe_vars` [INFO] [stdout] --> src/codegen/peephole.rs:1449:5 [INFO] [stdout] | [INFO] [stdout] 1449 | pipe_vars: &HashSet, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipe_vars` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boxed_fields` [INFO] [stdout] --> src/codegen/peephole.rs:1450:5 [INFO] [stdout] | [INFO] [stdout] 1450 | boxed_fields: &HashSet<(String, String, String)>, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed_fields` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `registry` [INFO] [stdout] --> src/codegen/peephole.rs:1451:5 [INFO] [stdout] | [INFO] [stdout] 1451 | registry: &TypeRegistry, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_env` [INFO] [stdout] --> src/codegen/peephole.rs:1452:5 [INFO] [stdout] | [INFO] [stdout] 1452 | type_env: &crate::analysis::types::TypeEnv, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `last_while_idx` is assigned to, but never used [INFO] [stdout] --> src/codegen/peephole.rs:2954:9 [INFO] [stdout] | [INFO] [stdout] 2954 | let mut last_while_idx = idx; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_last_while_idx` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `last_while_idx` is never read [INFO] [stdout] --> src/codegen/peephole.rs:2967:25 [INFO] [stdout] | [INFO] [stdout] 2967 | last_while_idx = scan; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `interner` [INFO] [stdout] --> src/codegen/peephole.rs:3790:5 [INFO] [stdout] | [INFO] [stdout] 3790 | interner: &Interner, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:145:29 [INFO] [stdout] | [INFO] [stdout] 145 | for t in 0..self.bound { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:157:29 [INFO] [stdout] | [INFO] [stdout] 157 | for t in 0..self.bound { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/compile.rs:2062:21 [INFO] [stdout] | [INFO] [stdout] 2062 | Stmt::Let { var, value, .. } => { [INFO] [stdout] | ^^^ help: try ignoring the field: `var: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> src/compile.rs:2714:38 [INFO] [stdout] | [INFO] [stdout] 2714 | Stmt::IncreaseCrdt { object, field, amount } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `field` [INFO] [stdout] --> src/compile.rs:2725:38 [INFO] [stdout] | [INFO] [stdout] 2725 | Stmt::DecreaseCrdt { object, field, amount } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `core_types` [INFO] [stdout] --> src/compile.rs:4400:48 [INFO] [stdout] | [INFO] [stdout] 4400 | pub fn run_genuine_p3_on_target(program: &str, core_types: &str, interpreter: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_core_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr_arena` [INFO] [stdout] --> src/optimize/dce.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | expr_arena: &'a Arena>, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expr_arena` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `funcs` [INFO] [stdout] --> src/optimize/bta.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | funcs: &HashMap>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_funcs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cache` [INFO] [stdout] --> src/optimize/bta.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | cache: &mut BtaCache, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function` [INFO] [stdout] --> src/optimize/bta.rs:243:22 [INFO] [stdout] | [INFO] [stdout] 243 | Stmt::Call { function, args } => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `function: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `bta::FuncDef<'a>` is more private than the item `analyze_function_bt` [INFO] [stdout] --> src/optimize/bta.rs:262:1 [INFO] [stdout] | [INFO] [stdout] 262 | / pub fn analyze_function_bt<'a>( [INFO] [stdout] 263 | | func_name: Symbol, [INFO] [stdout] 264 | | params: &[(Symbol, &'a TypeExpr<'a>)], [INFO] [stdout] 265 | | body: &[Stmt<'a>], [INFO] [stdout] ... | [INFO] [stdout] 268 | | cache: &mut BtaCache, [INFO] [stdout] 269 | | ) -> BtaResult { [INFO] [stdout] | |______________^ function `analyze_function_bt` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `bta::FuncDef<'a>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/optimize/bta.rs:257:1 [INFO] [stdout] | [INFO] [stdout] 257 | struct FuncDef<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `register_boxed_binding` and `is_boxed_binding` are never used [INFO] [stdout] --> src/codegen/context.rs:149:19 [INFO] [stdout] | [INFO] [stdout] 75 | impl<'a> RefinementContext<'a> { [INFO] [stdout] | ------------------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 149 | pub(super) fn register_boxed_binding(&mut self, var: Symbol) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub(super) fn is_boxed_binding(&self, var: Symbol) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_readonly_vec_param_indices` is never used [INFO] [stdout] --> src/codegen/detection.rs:1290:15 [INFO] [stdout] | [INFO] [stdout] 1290 | pub(super) fn collect_readonly_vec_param_indices( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_collection_field` is never used [INFO] [stdout] --> src/codegen/types.rs:386:4 [INFO] [stdout] | [INFO] [stdout] 386 | fn is_collection_field(ty: &FieldType, interner: &Interner) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `map_type_to_c_abi` is never used [INFO] [stdout] --> src/codegen/marshal.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub(super) fn map_type_to_c_abi(ty: &TypeExpr, interner: &Interner, is_return: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_definitely_numeric_expr` is never used [INFO] [stdout] --> src/codegen/expr.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | pub(crate) fn is_definitely_numeric_expr(expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_definitely_string_expr` is never used [INFO] [stdout] --> src/codegen/expr.rs:107:15 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) fn is_definitely_string_expr(expr: &Expr) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `codegen_expr_boxed_with_strings` is never used [INFO] [stdout] --> src/codegen/expr.rs:163:15 [INFO] [stdout] | [INFO] [stdout] 163 | pub(crate) fn codegen_expr_boxed_with_strings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_main_block` is never used [INFO] [stdout] --> src/compile.rs:4872:4 [INFO] [stdout] | [INFO] [stdout] 4872 | fn extract_main_block(source: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `store_snapshot` is never read [INFO] [stdout] --> src/optimize/supercompile.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 68 | struct Configuration<'a> { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 69 | expr: &'a Expr<'a>, [INFO] [stdout] 70 | store_snapshot: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Configuration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `analyze_block_effects` is never used [INFO] [stdout] --> src/optimize/effects.rs:355:4 [INFO] [stdout] | [INFO] [stdout] 355 | fn analyze_block_effects(stmts: &[Stmt<'_>]) -> EffectSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `function` and `args` are never read [INFO] [stdout] --> src/optimize/bta.rs:374:12 [INFO] [stdout] | [INFO] [stdout] 374 | Call { function: Symbol, args: Vec }, [INFO] [stdout] | ---- ^^^^^^^^ ^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaStmtKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `collection` is never read [INFO] [stdout] --> src/optimize/bta.rs:386:14 [INFO] [stdout] | [INFO] [stdout] 386 | Length { collection: Box }, [INFO] [stdout] | ------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaExpr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `collection` and `index` are never read [INFO] [stdout] --> src/optimize/bta.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | Index { collection: Box, index: Box }, [INFO] [stdout] | ----- ^^^^^^^^^^ ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BtaExpr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `clone` that must be used [INFO] [stdout] --> src/codegen_sva/fol_to_verify.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | self.declarations.clone(); // touch for borrow checker [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: cloning is often expensive and is not expected to have side effects [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 212 | let _ = self.declarations.clone(); // touch for borrow checker [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 17.99s [INFO] running `Command { std: "docker" "inspect" "27403b22d14f902fac4b8cc5003dcc4af13a0ccc7525db89921823990b4356e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27403b22d14f902fac4b8cc5003dcc4af13a0ccc7525db89921823990b4356e2", kill_on_drop: false }` [INFO] [stdout] 27403b22d14f902fac4b8cc5003dcc4af13a0ccc7525db89921823990b4356e2 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2e536847ca30c5b537b4729fb4abeb321a637b2953f877fa44179d7e8c80ee89 [INFO] running `Command { std: "docker" "start" "-a" "2e536847ca30c5b537b4729fb4abeb321a637b2953f877fa44179d7e8c80ee89", kill_on_drop: false }` [INFO] [stderr] warning: unexpected `cfg` condition value: `verification` [INFO] [stderr] --> src/lib.rs:149:7 [INFO] [stderr] | [INFO] [stderr] 149 | #[cfg(feature = "verification")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stderr] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `verification` [INFO] [stderr] --> src/lib.rs:151:7 [INFO] [stderr] | [INFO] [stderr] 151 | #[cfg(feature = "verification")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stderr] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/analysis/check.rs:21:33 [INFO] [stderr] | [INFO] [stderr] 21 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `infer_to_logos` [INFO] [stderr] --> src/analysis/check.rs:23:89 [INFO] [stderr] | [INFO] [stderr] 23 | use crate::analysis::unify::{InferType, TyVar, TypeScheme, TypeError, UnificationTable, infer_to_logos, unify_numeric}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `OptFlag` [INFO] [stderr] --> src/analysis/check.rs:25:44 [INFO] [stderr] | [INFO] [stderr] 25 | use crate::ast::stmt::{BinaryOpKind, Expr, OptFlag, Pattern, Stmt}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Block` [INFO] [stderr] --> src/analysis/escape.rs:28:36 [INFO] [stderr] | [INFO] [stderr] 28 | use crate::ast::stmt::{Stmt, Expr, Block}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashMap` [INFO] [stderr] --> src/codegen/ffi.rs:1:24 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FieldDef` and `VariantDef` [INFO] [stderr] --> src/codegen/ffi.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::analysis::registry::{FieldDef, FieldType, TypeDef, TypeRegistry, VariantDef}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Expr` [INFO] [stderr] --> src/codegen/ffi.rs:5:24 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::ast::stmt::{Expr, Stmt, TypeExpr}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::analysis::registry::TypeRegistry` [INFO] [stderr] --> src/codegen/marshal.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::analysis::registry::TypeRegistry; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FieldType` and `TypeDef` [INFO] [stderr] --> src/codegen/stmt.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::analysis::registry::{FieldType, TypeDef, TypeRegistry}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `analyze_variable_capabilities` [INFO] [stderr] --> src/codegen/stmt.rs:9:86 [INFO] [stderr] | [INFO] [stderr] 9 | use super::context::{RefinementContext, VariableCapabilities, emit_refinement_check, analyze_variable_capabilities}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `collect_boxed_fields`, `collect_crdt_register_fields`, `collect_mutable_vars_stmt`, `collect_mutable_vars`, `get_root_identifier_for_mutability`, `is_copy_type_expr`, and `is_hashable_type` [INFO] [stderr] --> src/codegen/stmt.rs:11:48 [INFO] [stderr] | [INFO] [stderr] 11 | requires_async_stmt, calls_async_function, collect_mutable_vars, collect_mutable_vars_stmt, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | collect_crdt_register_fields, collect_boxed_fields, collect_expr_identifiers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | collect_stmt_identifiers, expr_debug_prefix, expr_indexes_collection, [INFO] [stderr] 14 | get_root_identifier_for_mutability, is_copy_type_expr, is_hashable_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `codegen_expr_boxed_with_strings`, `codegen_expr_boxed`, `codegen_expr`, `codegen_interpolated_string`, `codegen_literal`, `is_definitely_numeric_expr`, and `is_definitely_string_expr` [INFO] [stderr] --> src/codegen/stmt.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | codegen_expr, codegen_expr_with_async, codegen_expr_boxed, [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 18 | codegen_expr_boxed_with_strings, codegen_expr_boxed_with_types, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 19 | codegen_interpolated_string, codegen_literal, codegen_assertion, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] 20 | codegen_expr_with_async_and_strings, is_definitely_string_expr_with_vars, [INFO] [stderr] 21 | is_definitely_string_expr, is_definitely_numeric_expr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::escape_rust_ident` [INFO] [stderr] --> src/codegen/stmt.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | use super::escape_rust_ident; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Stmt` and `TypeExpr` [INFO] [stderr] --> src/codegen/expr.rs:6:53 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::ast::stmt::{BinaryOpKind, Expr, Literal, Stmt, TypeExpr}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FieldDef` [INFO] [stderr] --> src/codegen/program.rs:4:33 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::analysis::registry::{FieldDef, TypeDef, TypeRegistry}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::registry::SymbolRegistry` [INFO] [stderr] --> src/codegen/program.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::registry::SymbolRegistry; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `VariableCapabilities` [INFO] [stderr] --> src/codegen/program.rs:11:41 [INFO] [stderr] | [INFO] [stderr] 11 | use super::context::{RefinementContext, VariableCapabilities, analyze_variable_capabilities}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `body_contains_self_call`, `count_self_calls`, and `is_hashable_type` [INFO] [stderr] --> src/codegen/program.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | collect_pure_functions, count_self_calls, is_hashable_type, is_copy_type_expr, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] 20 | should_memoize, body_contains_self_call, should_inline, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `codegen_expr_with_async` and `codegen_expr` [INFO] [stderr] --> src/codegen/program.rs:27:19 [INFO] [stderr] | [INFO] [stderr] 27 | use super::expr::{codegen_expr, codegen_expr_with_async}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `escape_rust_ident` and `is_rust_keyword` [INFO] [stderr] --> src/codegen/program.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | use super::{escape_rust_ident, is_rust_keyword}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `codegen_logos_runtime_preamble`, `collect_c_export_reference_types`, `collect_c_export_value_type_structs`, `has_c_exports_with_text`, `has_c_exports`, `has_wasm_exports`, `mangle_type_for_c`, `map_field_type_to_c`, and `map_type_to_c_header` [INFO] [stderr] --> src/codegen/mod.rs:94:41 [INFO] [stderr] | [INFO] [stderr] 94 | CAbiClass, classify_type_for_c_abi, has_wasm_exports, has_c_exports, has_c_exports_with_text, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 95 | codegen_c_accessors, collect_c_export_ref_structs, collect_c_export_reference_types, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 96 | collect_c_export_value_type_structs, codegen_logos_runtime_preamble, mangle_type_for_c, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 97 | map_type_to_c_header, map_field_type_to_c, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `codegen_expr_boxed_with_strings`, `codegen_expr_boxed_with_types`, `codegen_expr_boxed`, `codegen_expr_with_async_and_strings`, `codegen_interpolated_string`, `codegen_literal`, `collect_string_concat_operands`, `is_definitely_numeric_expr`, `is_definitely_string_expr_with_vars`, and `is_definitely_string_expr` [INFO] [stderr] --> src/codegen/mod.rs:100:30 [INFO] [stderr] | [INFO] [stderr] 100 | codegen_expr_with_async, codegen_expr_boxed, codegen_expr_boxed_with_strings, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 101 | codegen_expr_boxed_with_types, codegen_interpolated_string, codegen_literal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] 102 | codegen_expr_with_async_and_strings, is_definitely_string_expr_with_vars, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 103 | is_definitely_string_expr, is_definitely_numeric_expr, collect_string_concat_operands, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `body_modifies_var`, `body_mutates_collection`, and `exprs_equal` [INFO] [stderr] --> src/codegen/mod.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | body_mutates_collection, body_modifies_var, exprs_equal, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/codegen_c/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::intern::Symbol` [INFO] [stderr] --> src/codegen_c/emit.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::intern::Symbol; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `c_type_str`, `infer_expr_type`, and `resolve_type_expr` [INFO] [stderr] --> src/codegen_c/mod.rs:13:30 [INFO] [stderr] | [INFO] [stderr] 13 | use types::{CType, CContext, c_type_str, c_type_str_resolved, resolve_type_expr, [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 14 | resolve_type_expr_with_registry, field_type_to_ctype, escape_c_ident, infer_expr_type}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `codegen_expr` and `codegen_literal` [INFO] [stderr] --> src/codegen_c/mod.rs:15:12 [INFO] [stderr] | [INFO] [stderr] 15 | use emit::{codegen_expr, codegen_stmt, codegen_literal}; [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `BinaryTemporalOp` [INFO] [stderr] --> src/codegen_sva/fol_to_verify.rs:7:86 [INFO] [stderr] | [INFO] [stderr] 7 | use logicaffeine_language::ast::logic::{LogicExpr, QuantifierKind, TemporalOperator, BinaryTemporalOp}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SvaExpr` and `sva_expr_to_string` [INFO] [stderr] --> src/codegen_sva/hw_pipeline.rs:6:24 [INFO] [stderr] | [INFO] [stderr] 6 | use super::sva_model::{SvaExpr, parse_sva, sva_expr_to_string, sva_exprs_structurally_equivalent}; [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `verification` [INFO] [stderr] --> src/compile.rs:558:7 [INFO] [stderr] | [INFO] [stderr] 558 | #[cfg(feature = "verification")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `codegen`, `default`, and `interpreter-only` [INFO] [stderr] = help: consider adding `verification` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unused import: `PolicyRegistry` [INFO] [stderr] --> src/compile.rs:85:71 [INFO] [stderr] | [INFO] [stderr] 85 | use crate::analysis::{DiscoveryPass, EscapeChecker, OwnershipChecker, PolicyRegistry}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ClosureBody` [INFO] [stderr] --> src/optimize/dce.rs:4:67 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::ast::stmt::{Expr, Literal, MatchArm, Stmt, StringPart, ClosureBody}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ClosureBody`, `Literal`, and `Pattern` [INFO] [stderr] --> src/optimize/effects.rs:6:24 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::ast::stmt::{ClosureBody, Expr, Literal, Pattern, Stmt}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `callgraph` [INFO] [stderr] --> src/analysis/readonly.rs:45:40 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn analyze(stmts: &[Stmt<'_>], callgraph: &CallGraph, type_env: &TypeEnv) -> Self { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callgraph` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `callgraph` [INFO] [stderr] --> src/analysis/readonly.rs:426:40 [INFO] [stderr] | [INFO] [stderr] 426 | pub fn analyze(stmts: &[Stmt<'_>], callgraph: &CallGraph, type_env: &TypeEnv) -> Self { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_callgraph` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tasks` [INFO] [stderr] --> src/codegen/detection.rs:26:28 [INFO] [stderr] | [INFO] [stderr] 26 | Stmt::Concurrent { tasks } => true, [INFO] [stderr] | ^^^^^ help: try ignoring the field: `tasks: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `object` [INFO] [stderr] --> src/codegen/detection.rs:329:26 [INFO] [stderr] | [INFO] [stderr] 329 | Stmt::Show { object, .. } => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `object: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cond` [INFO] [stderr] --> src/codegen/detection.rs:350:24 [INFO] [stderr] | [INFO] [stderr] 350 | Stmt::If { cond, then_block, else_block } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `cond: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `interner` [INFO] [stderr] --> src/codegen/detection.rs:1333:64 [INFO] [stderr] | [INFO] [stderr] 1333 | pub(super) fn collect_escaping_collection_vars(stmts: &[Stmt], interner: &Interner) -> HashSet { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `interner` [INFO] [stderr] --> src/codegen/detection.rs:1563:5 [INFO] [stderr] | [INFO] [stderr] 1563 | interner: &Interner, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `is_portable` [INFO] [stderr] --> src/codegen/ffi.rs:1028:48 [INFO] [stderr] | [INFO] [stderr] 1028 | Some(TypeDef::Struct { fields, is_portable, .. }) => { [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `is_portable: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `is_portable` [INFO] [stderr] --> src/codegen/ffi.rs:1612:56 [INFO] [stderr] | [INFO] [stderr] 1612 | Some(TypeDef::Struct { fields, is_portable, .. }) => { [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `is_portable: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lww_fields` [INFO] [stderr] --> src/codegen/peephole.rs:1444:5 [INFO] [stderr] | [INFO] [stderr] 1444 | lww_fields: &HashSet<(String, String)>, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lww_fields` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mv_fields` [INFO] [stderr] --> src/codegen/peephole.rs:1445:5 [INFO] [stderr] | [INFO] [stderr] 1445 | mv_fields: &HashSet<(String, String)>, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mv_fields` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `synced_vars` [INFO] [stderr] --> src/codegen/peephole.rs:1446:5 [INFO] [stderr] | [INFO] [stderr] 1446 | synced_vars: &mut HashSet, [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_synced_vars` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `var_caps` [INFO] [stderr] --> src/codegen/peephole.rs:1447:5 [INFO] [stderr] | [INFO] [stderr] 1447 | var_caps: &HashMap, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_caps` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `async_functions` [INFO] [stderr] --> src/codegen/peephole.rs:1448:5 [INFO] [stderr] | [INFO] [stderr] 1448 | async_functions: &HashSet, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_async_functions` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `pipe_vars` [INFO] [stderr] --> src/codegen/peephole.rs:1449:5 [INFO] [stderr] | [INFO] [stderr] 1449 | pipe_vars: &HashSet, [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipe_vars` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `boxed_fields` [INFO] [stderr] --> src/codegen/peephole.rs:1450:5 [INFO] [stderr] | [INFO] [stderr] 1450 | boxed_fields: &HashSet<(String, String, String)>, [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boxed_fields` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `registry` [INFO] [stderr] --> src/codegen/peephole.rs:1451:5 [INFO] [stderr] | [INFO] [stderr] 1451 | registry: &TypeRegistry, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_env` [INFO] [stderr] --> src/codegen/peephole.rs:1452:5 [INFO] [stderr] | [INFO] [stderr] 1452 | type_env: &crate::analysis::types::TypeEnv, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_env` [INFO] [stderr] [INFO] [stderr] warning: variable `last_while_idx` is assigned to, but never used [INFO] [stderr] --> src/codegen/peephole.rs:2954:9 [INFO] [stderr] | [INFO] [stderr] 2954 | let mut last_while_idx = idx; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_last_while_idx` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `last_while_idx` is never read [INFO] [stderr] --> src/codegen/peephole.rs:2967:25 [INFO] [stderr] | [INFO] [stderr] 2967 | last_while_idx = scan; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `interner` [INFO] [stderr] --> src/codegen/peephole.rs:3790:5 [INFO] [stderr] | [INFO] [stderr] 3790 | interner: &Interner, [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interner` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/codegen_sva/fol_to_verify.rs:145:29 [INFO] [stderr] | [INFO] [stderr] 145 | for t in 0..self.bound { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/codegen_sva/fol_to_verify.rs:157:29 [INFO] [stderr] | [INFO] [stderr] 157 | for t in 0..self.bound { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `var` [INFO] [stderr] --> src/compile.rs:2062:21 [INFO] [stderr] | [INFO] [stderr] 2062 | Stmt::Let { var, value, .. } => { [INFO] [stderr] | ^^^ help: try ignoring the field: `var: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `field` [INFO] [stderr] --> src/compile.rs:2714:38 [INFO] [stderr] | [INFO] [stderr] 2714 | Stmt::IncreaseCrdt { object, field, amount } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `field` [INFO] [stderr] --> src/compile.rs:2725:38 [INFO] [stderr] | [INFO] [stderr] 2725 | Stmt::DecreaseCrdt { object, field, amount } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `field: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `core_types` [INFO] [stderr] --> src/compile.rs:4400:48 [INFO] [stderr] | [INFO] [stderr] 4400 | pub fn run_genuine_p3_on_target(program: &str, core_types: &str, interpreter: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_core_types` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expr_arena` [INFO] [stderr] --> src/optimize/dce.rs:188:5 [INFO] [stderr] | [INFO] [stderr] 188 | expr_arena: &'a Arena>, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expr_arena` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `funcs` [INFO] [stderr] --> src/optimize/bta.rs:221:5 [INFO] [stderr] | [INFO] [stderr] 221 | funcs: &HashMap>, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_funcs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cache` [INFO] [stderr] --> src/optimize/bta.rs:222:5 [INFO] [stderr] | [INFO] [stderr] 222 | cache: &mut BtaCache, [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `function` [INFO] [stderr] --> src/optimize/bta.rs:243:22 [INFO] [stderr] | [INFO] [stderr] 243 | Stmt::Call { function, args } => { [INFO] [stderr] | ^^^^^^^^ help: try ignoring the field: `function: _` [INFO] [stderr] [INFO] [stderr] warning: type `bta::FuncDef<'a>` is more private than the item `analyze_function_bt` [INFO] [stderr] --> src/optimize/bta.rs:262:1 [INFO] [stderr] | [INFO] [stderr] 262 | / pub fn analyze_function_bt<'a>( [INFO] [stderr] 263 | | func_name: Symbol, [INFO] [stderr] 264 | | params: &[(Symbol, &'a TypeExpr<'a>)], [INFO] [stderr] 265 | | body: &[Stmt<'a>], [INFO] [stderr] ... | [INFO] [stderr] 268 | | cache: &mut BtaCache, [INFO] [stderr] 269 | | ) -> BtaResult { [INFO] [stderr] | |______________^ function `analyze_function_bt` is reachable at visibility `pub` [INFO] [stderr] | [INFO] [stderr] note: but type `bta::FuncDef<'a>` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/optimize/bta.rs:257:1 [INFO] [stderr] | [INFO] [stderr] 257 | struct FuncDef<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: methods `register_boxed_binding` and `is_boxed_binding` are never used [INFO] [stderr] --> src/codegen/context.rs:149:19 [INFO] [stderr] | [INFO] [stderr] 75 | impl<'a> RefinementContext<'a> { [INFO] [stderr] | ------------------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 149 | pub(super) fn register_boxed_binding(&mut self, var: Symbol) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 156 | pub(super) fn is_boxed_binding(&self, var: Symbol) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: function `collect_readonly_vec_param_indices` is never used [INFO] [stderr] --> src/codegen/detection.rs:1290:15 [INFO] [stderr] | [INFO] [stderr] 1290 | pub(super) fn collect_readonly_vec_param_indices( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_collection_field` is never used [INFO] [stderr] --> src/codegen/types.rs:386:4 [INFO] [stderr] | [INFO] [stderr] 386 | fn is_collection_field(ty: &FieldType, interner: &Interner) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `map_type_to_c_abi` is never used [INFO] [stderr] --> src/codegen/marshal.rs:30:15 [INFO] [stderr] | [INFO] [stderr] 30 | pub(super) fn map_type_to_c_abi(ty: &TypeExpr, interner: &Interner, is_return: bool) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_definitely_numeric_expr` is never used [INFO] [stderr] --> src/codegen/expr.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | pub(crate) fn is_definitely_numeric_expr(expr: &Expr) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_definitely_string_expr` is never used [INFO] [stderr] --> src/codegen/expr.rs:107:15 [INFO] [stderr] | [INFO] [stderr] 107 | pub(crate) fn is_definitely_string_expr(expr: &Expr) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `codegen_expr_boxed_with_strings` is never used [INFO] [stderr] --> src/codegen/expr.rs:163:15 [INFO] [stderr] | [INFO] [stderr] 163 | pub(crate) fn codegen_expr_boxed_with_strings( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `extract_main_block` is never used [INFO] [stderr] --> src/compile.rs:4872:4 [INFO] [stderr] | [INFO] [stderr] 4872 | fn extract_main_block(source: &str) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `store_snapshot` is never read [INFO] [stderr] --> src/optimize/supercompile.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 68 | struct Configuration<'a> { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] 69 | expr: &'a Expr<'a>, [INFO] [stderr] 70 | store_snapshot: HashMap, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Configuration` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: function `analyze_block_effects` is never used [INFO] [stderr] --> src/optimize/effects.rs:355:4 [INFO] [stderr] | [INFO] [stderr] 355 | fn analyze_block_effects(stmts: &[Stmt<'_>]) -> EffectSet { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `function` and `args` are never read [INFO] [stderr] --> src/optimize/bta.rs:374:12 [INFO] [stderr] | [INFO] [stderr] 374 | Call { function: Symbol, args: Vec }, [INFO] [stderr] | ---- ^^^^^^^^ ^^^^ [INFO] [stderr] | | [INFO] [stderr] | fields in this variant [INFO] [stderr] | [INFO] [stderr] = note: `BtaStmtKind` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `collection` is never read [INFO] [stderr] --> src/optimize/bta.rs:386:14 [INFO] [stderr] | [INFO] [stderr] 386 | Length { collection: Box }, [INFO] [stderr] | ------ ^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `BtaExpr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `collection` and `index` are never read [INFO] [stderr] --> src/optimize/bta.rs:387:13 [INFO] [stderr] | [INFO] [stderr] 387 | Index { collection: Box, index: Box }, [INFO] [stderr] | ----- ^^^^^^^^^^ ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | fields in this variant [INFO] [stderr] | [INFO] [stderr] = note: `BtaExpr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: unused return value of `clone` that must be used [INFO] [stderr] --> src/codegen_sva/fol_to_verify.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | self.declarations.clone(); // touch for borrow checker [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: cloning is often expensive and is not expected to have side effects [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 212 | let _ = self.declarations.clone(); // touch for borrow checker [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused import: `infer_to_logos` [INFO] [stderr] --> src/analysis/check.rs:23:89 [INFO] [stderr] | [INFO] [stderr] 23 | use crate::analysis::unify::{InferType, TyVar, TypeScheme, TypeError, UnificationTable, infer_to_logos, unify_numeric}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FieldDef` and `TypeDef` [INFO] [stderr] --> src/analysis/unify.rs:770:27 [INFO] [stderr] | [INFO] [stderr] 770 | use crate::analysis::{FieldDef, TypeDef}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/analysis/escape.rs:370:13 [INFO] [stderr] | [INFO] [stderr] 370 | let mut interner = Interner::new(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `logicaffeine-compile` (lib) generated 81 warnings (run `cargo fix --lib -p logicaffeine-compile` to apply 61 suggestions) [INFO] [stderr] warning: `logicaffeine-compile` (lib test) generated 82 warnings (79 duplicates) (run `cargo fix --lib -p logicaffeine-compile --tests` to apply 3 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/logicaffeine_compile-de37e578034c429c) [INFO] [stdout] [INFO] [stdout] running 166 tests [INFO] [stdout] test analysis::check::tests::function_call_returns_registered_type ... ok [INFO] [stdout] test analysis::check::tests::let_type_mismatch_fails ... ok [INFO] [stdout] test analysis::check::tests::generic_identity_infers_bool_return ... ok [INFO] [stdout] test analysis::check::tests::field_access_resolves_with_registry ... ok [INFO] [stdout] test analysis::check::tests::forward_reference_function_call ... ok [INFO] [stdout] test analysis::check::tests::let_literal_string ... ok [INFO] [stdout] test analysis::check::tests::generic_forward_reference_resolves ... ok [INFO] [stdout] test analysis::check::tests::generic_identity_infers_int_return ... ok [INFO] [stdout] test analysis::check::tests::readfrom_is_string ... ok [INFO] [stdout] test analysis::check::tests::monomorphic_functions_unaffected_by_generics ... ok [INFO] [stdout] test analysis::check::tests::option_some_infers_inner_type ... ok [INFO] [stdout] test analysis::check::tests::let_with_annotation_uses_annotation ... ok [INFO] [stdout] test analysis::check::tests::generic_two_type_params_first ... ok [INFO] [stdout] test analysis::check::tests::generic_calls_are_independent ... ok [INFO] [stdout] test analysis::check::tests::repeat_loop_var_gets_element_type ... ok [INFO] [stdout] test analysis::check::tests::function_def_registers_signature ... ok [INFO] [stdout] test analysis::check::tests::non_empty_list_infers_element_type ... ok [INFO] [stdout] test analysis::check::tests::unknown_vars_filtered_in_legacy_api ... ok [INFO] [stdout] test analysis::check::tests::let_literal_int ... ok [INFO] [stdout] test analysis::check::tests::return_type_mismatch_fails ... ok [INFO] [stdout] test analysis::escape::tests::test_escape_checker_basic ... ok [INFO] [stdout] test analysis::check::tests::new_user_defined_is_user_defined_type ... ok [INFO] [stdout] test analysis::types::tests::from_literal_number ... ok [INFO] [stdout] test analysis::ownership::tests::test_ownership_checker_basic ... ok [INFO] [stdout] test analysis::types::tests::copy_types_are_copy ... ok [INFO] [stdout] test analysis::types::tests::env_lookup_unknown_returns_unknown ... ok [INFO] [stdout] test analysis::types::tests::env_register_and_lookup ... ok [INFO] [stdout] test analysis::types::tests::env_register_fn_and_lookup ... ok [INFO] [stdout] test analysis::types::tests::float_type ... ok [INFO] [stdout] test analysis::types::tests::from_literal_bool ... ok [INFO] [stdout] test analysis::types::tests::from_literal_float ... ok [INFO] [stdout] test analysis::types::tests::from_literal_nothing ... ok [INFO] [stdout] test analysis::types::tests::function_type_is_not_copy ... ok [INFO] [stdout] test analysis::types::tests::from_type_expr_function_two_params ... ok [INFO] [stdout] test analysis::types::tests::from_type_expr_function_zero_params ... ok [INFO] [stdout] test analysis::types::tests::from_type_expr_named_text ... ok [INFO] [stdout] test analysis::types::tests::from_type_expr_primitive_int ... ok [INFO] [stdout] test analysis::types::tests::function_type_element_type_is_none ... ok [INFO] [stdout] test analysis::types::tests::function_type_equality_different_params ... ok [INFO] [stdout] test analysis::types::tests::function_type_equality_different_return ... ok [INFO] [stdout] test analysis::types::tests::function_type_equality_same ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_add_int_int ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_add_string_int_is_string ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_call_parseint_is_int ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_comparison_is_bool ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_contains_is_bool ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_identifier_unknown ... ok [INFO] [stdout] test analysis::types::tests::function_type_not_numeric_not_string_not_float ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_index_map ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_call_user_function ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_identifier_registered ... ok [INFO] [stdout] test analysis::types::tests::function_type_zero_params_is_not_copy ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_add_int_float_promotes ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_length_is_int ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_index_vec ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_literal_float ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_literal_number ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_call_sqrt_is_float ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_list_literal ... ok [INFO] [stdout] test analysis::types::tests::infer_program_readfrom_is_string ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_literal_text ... ok [INFO] [stdout] test analysis::types::tests::infer_expr_option_some ... ok [INFO] [stdout] test analysis::types::tests::infer_program_let_with_type_annotation ... ok [INFO] [stdout] test analysis::types::tests::infer_program_let_literal ... ok [INFO] [stdout] test analysis::types::tests::legacy_string_vars_conversion ... ok [INFO] [stdout] test analysis::types::tests::infer_program_let_string_tracked ... ok [INFO] [stdout] test analysis::types::tests::legacy_variable_types_conversion ... ok [INFO] [stdout] test analysis::types::tests::numeric_promotion_int_float ... ok [INFO] [stdout] test analysis::types::tests::numeric_promotion_int_int ... ok [INFO] [stdout] test analysis::types::tests::numeric_types ... ok [INFO] [stdout] test analysis::types::tests::rust_names_escapes_keywords ... ok [INFO] [stdout] test analysis::types::tests::rust_names_preserves_non_keywords ... ok [INFO] [stdout] test analysis::types::tests::map_key_value_types ... ok [INFO] [stdout] test analysis::types::tests::seq_element_type ... ok [INFO] [stdout] test analysis::types::tests::rust_names_raw_returns_original ... ok [INFO] [stdout] test analysis::types::tests::non_collection_element_type ... ok [INFO] [stdout] test analysis::types::tests::non_copy_types_are_not_copy ... ok [INFO] [stdout] test analysis::types::tests::numeric_promotion_float_float ... ok [INFO] [stdout] test analysis::types::tests::from_type_expr_function_one_param ... ok [INFO] [stdout] test analysis::types::tests::numeric_promotion_float_int ... ok [INFO] [stdout] test analysis::types::tests::numeric_promotion_non_numeric ... ok [INFO] [stdout] test analysis::types::tests::string_type ... ok [INFO] [stdout] test analysis::types::tests::to_rust_type_collections ... ok [INFO] [stdout] test analysis::types::tests::to_rust_type_function_nested_param ... ok [INFO] [stdout] test analysis::types::tests::to_rust_type_function_zero_params ... ok [INFO] [stdout] test analysis::types::tests::to_rust_type_nested ... ok [INFO] [stdout] test analysis::types::tests::to_rust_type_temporal ... ok [INFO] [stdout] test analysis::types::tests::to_rust_type_primitives ... ok [INFO] [stdout] test analysis::unify::tests::fresh_produces_distinct_vars ... ok [INFO] [stdout] test analysis::unify::tests::from_field_type_primitive ... ok [INFO] [stdout] test analysis::unify::tests::from_field_type_type_param_resolves_to_var ... ok [INFO] [stdout] test analysis::unify::tests::from_field_type_missing_type_param_becomes_unknown ... ok [INFO] [stdout] test analysis::unify::tests::from_type_expr_function_produces_function_type ... ok [INFO] [stdout] test analysis::unify::tests::infer_to_logos_function_single_param ... ok [INFO] [stdout] test analysis::unify::tests::from_type_expr_seq_of_int ... ok [INFO] [stdout] test analysis::types::tests::set_element_type ... ok [INFO] [stdout] test analysis::unify::tests::infer_to_logos_function_nested ... ok [INFO] [stdout] test analysis::types::tests::to_rust_type_function_two_params ... ok [INFO] [stdout] test analysis::unify::tests::infer_to_logos_function_two_params ... ok [INFO] [stdout] test analysis::unify::tests::logos_name_seq ... ok [INFO] [stdout] test analysis::types::tests::to_rust_type_function_single_param ... ok [INFO] [stdout] test analysis::unify::tests::numeric_float_wins ... ok [INFO] [stdout] test analysis::unify::tests::numeric_int_plus_int_is_int ... ok [INFO] [stdout] test analysis::unify::tests::numeric_nat_plus_int_is_int ... ok [INFO] [stdout] test analysis::unify::tests::numeric_nat_plus_nat_is_nat ... ok [INFO] [stdout] test analysis::unify::tests::numeric_string_fails ... ok [INFO] [stdout] test analysis::unify::tests::occurs_check_detects_infinite_type ... ok [INFO] [stdout] test analysis::unify::tests::to_logos_type_bound_var_resolves ... ok [INFO] [stdout] test analysis::unify::tests::to_logos_type_function_converts_to_logos_function ... ok [INFO] [stdout] test analysis::unify::tests::to_logos_type_function_nested_converts ... ok [INFO] [stdout] test analysis::unify::tests::to_logos_type_function_two_params_converts ... ok [INFO] [stdout] test analysis::check::tests::empty_list_is_seq_unknown ... ok [INFO] [stdout] test analysis::types::tests::from_literal_text ... ok [INFO] [stdout] test analysis::types::tests::from_type_expr_function_nested ... ok [INFO] [stdout] test analysis::unify::tests::type_error_mismatch_strings ... ok [INFO] [stdout] test analysis::unify::tests::to_logos_type_function_zero_params_converts ... ok [INFO] [stdout] test analysis::unify::tests::unbound_var_finds_itself ... ok [INFO] [stdout] test analysis::unify::tests::to_logos_type_ground_primitives ... ok [INFO] [stdout] test analysis::unify::tests::to_logos_type_seq_resolves_inner ... ok [INFO] [stdout] test analysis::unify::tests::to_logos_type_unbound_var_becomes_unknown ... ok [INFO] [stdout] test analysis::unify::tests::unify_different_ground_types_fails ... ok [INFO] [stdout] test analysis::unify::tests::unify_function_arity_mismatch_fails ... ok [INFO] [stdout] test analysis::unify::tests::from_field_type_generic_seq_of_type_param ... ok [INFO] [stdout] test analysis::unify::tests::unify_function_types_same_arity ... ok [INFO] [stdout] test analysis::unify::tests::logos_name_primitives ... ok [INFO] [stdout] test analysis::unify::tests::unify_identical_ground_types ... ok [INFO] [stdout] test analysis::unify::tests::unify_int_float_fails ... ok [INFO] [stdout] test analysis::unify::tests::infer_to_logos_function_zero_params ... ok [INFO] [stdout] test analysis::unify::tests::unify_nat_int_succeeds ... ok [INFO] [stdout] test analysis::unify::tests::unify_seq_of_different_types_fails ... ok [INFO] [stdout] test analysis::unify::tests::logos_name_function ... ok [INFO] [stdout] test analysis::unify::tests::unify_seq_of_same_type ... ok [INFO] [stdout] test analysis::unify::tests::unify_seq_with_var_element ... ok [INFO] [stdout] test analysis::unify::tests::unify_unknown_with_any_succeeds ... ok [INFO] [stdout] test analysis::unify::tests::var_unifies_with_int ... ok [INFO] [stdout] test analysis::unify::tests::var_conflicting_types_fails ... ok [INFO] [stdout] test analysis::unify::tests::zonk_chain_of_vars ... ok [INFO] [stdout] test analysis::unify::tests::zonk_nested_resolves_inner_var ... ok [INFO] [stdout] test analysis::unify::tests::zonk_resolves_bound_var ... ok [INFO] [stdout] test analysis::unify::tests::zonk_unbound_var_becomes_unknown ... ok [INFO] [stdout] test codegen::expr::tests::test_literal_nothing ... ok [INFO] [stdout] test codegen::expr::tests::test_literal_boolean ... ok [INFO] [stdout] test analysis::unify::tests::two_vars_unify_chain ... ok [INFO] [stdout] test codegen::expr::tests::test_literal_number ... ok [INFO] [stdout] test analysis::unify::tests::type_error_arity_mismatch_strings ... ok [INFO] [stdout] test compile::tests::test_compile_return_statement ... ok [INFO] [stdout] test diagnostic::tests::extract_var_from_message_works ... ok [INFO] [stdout] test diagnostic::tests::parse_rustc_json_extracts_errors ... ok [INFO] [stdout] test compile::tests::test_compile_let_statement ... ok [INFO] [stdout] test diagnostic::tests::translate_e0382_creates_friendly_error ... ok [INFO] [stdout] test analysis::unify::tests::unify_map_types ... ok [INFO] [stdout] test loader::tests::test_logos_core_scheme ... ok [INFO] [stdout] test loader::tests::test_logos_std_scheme ... ok [INFO] [stdout] test sourcemap::tests::source_map_stores_line_mappings ... ok [INFO] [stdout] test loader::tests::test_missing_file ... ok [INFO] [stdout] test loader::tests::test_file_scheme_resolution ... ok [INFO] [stdout] test loader::tests::test_caching ... ok [INFO] [stdout] test sourcemap::tests::find_nearest_span_searches_nearby ... ok [INFO] [stdout] test diagnostic::tests::translate_e0597_creates_hotel_california_error ... ok [INFO] [stdout] test sourcemap::tests::source_map_builder_tracks_lines ... ok [INFO] [stdout] test loader::tests::test_unknown_intrinsic ... ok [INFO] [stdout] test sourcemap::tests::source_map_builder_records_spans ... ok [INFO] [stdout] test analysis::unify::tests::int_unifies_with_var ... ok [INFO] [stdout] test analysis::check::tests::option_none_is_option_unknown ... ok [INFO] [stdout] test analysis::check::tests::string_vars_in_legacy_api ... ok [INFO] [stderr] Doc-tests logicaffeine_compile [INFO] [stdout] test analysis::check::tests::let_literal_float ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 166 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test src/loader.rs - loader (line 26) - compile ... ok [INFO] [stdout] test src/compile.rs - compile::compile_and_run (line 944) - compile ... ok [INFO] [stdout] test src/ui_bridge.rs - ui_bridge::interpret_streaming (line 839) - compile ... ok [INFO] [stdout] test src/analysis/discovery.rs - analysis::discovery::discover_with_imports (line 45) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 80) - compile ... ok [INFO] [stdout] test src/compile.rs - compile::compile_project (line 1026) - compile ... ok [INFO] [stdout] test src/compile.rs - compile::compile_to_dir (line 654) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 57) ... ok [INFO] [stdout] test src/compile.rs - compile::compile_to_rust (line 173) ... ok [INFO] [stdout] test src/compile.rs - compile (line 49) ... ok [INFO] [stdout] test src/compile.rs - compile::compile_to_rust_checked (line 426) ... ok [INFO] [stdout] test src/lib.rs - (line 70) ... ok [INFO] [stdout] test src/compile.rs - compile (line 66) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.30s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2e536847ca30c5b537b4729fb4abeb321a637b2953f877fa44179d7e8c80ee89", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e536847ca30c5b537b4729fb4abeb321a637b2953f877fa44179d7e8c80ee89", kill_on_drop: false }` [INFO] [stdout] 2e536847ca30c5b537b4729fb4abeb321a637b2953f877fa44179d7e8c80ee89