[INFO] cloning repository https://github.com/DearVa/il_runtime [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DearVa/il_runtime" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDearVa%2Fil_runtime", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDearVa%2Fil_runtime'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b9675ddcbada0f63d21096760e3d21dbddef1673 [INFO] checking DearVa/il_runtime/b9675ddcbada0f63d21096760e3d21dbddef1673 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDearVa%2Fil_runtime" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/DearVa/il_runtime on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/DearVa/il_runtime [INFO] finished tweaking git repo https://github.com/DearVa/il_runtime [INFO] tweaked toml for git repo https://github.com/DearVa/il_runtime written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/DearVa/il_runtime 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" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 826a73cc03cf8465badd784dd9f3c9aec0c310d6524fd89be24973d767eb32fb [INFO] running `Command { std: "docker" "start" "-a" "826a73cc03cf8465badd784dd9f3c9aec0c310d6524fd89be24973d767eb32fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "826a73cc03cf8465badd784dd9f3c9aec0c310d6524fd89be24973d767eb32fb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "826a73cc03cf8465badd784dd9f3c9aec0c310d6524fd89be24973d767eb32fb", kill_on_drop: false }` [INFO] [stdout] 826a73cc03cf8465badd784dd9f3c9aec0c310d6524fd89be24973d767eb32fb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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 -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 640c2782250e7cbda3799928f9152e8eeaacdc989bc7a425fdffc306b1b8495a [INFO] running `Command { std: "docker" "start" "-a" "640c2782250e7cbda3799928f9152e8eeaacdc989bc7a425fdffc306b1b8495a", kill_on_drop: false }` [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Compiling libc v0.2.107 [INFO] [stderr] Compiling const_fn v0.4.8 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-derive v0.2.5 [INFO] [stderr] Compiling pest v2.1.3 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Compiling semver-parser v0.10.2 [INFO] [stderr] Compiling semver v0.11.0 [INFO] [stderr] Compiling rustc_version v0.3.3 [INFO] [stderr] Compiling likely_stable v0.1.2 [INFO] [stderr] Checking il_runtime v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `type_sig::TypeSig` [INFO] [stdout] --> src/interpreter/method_spec.rs:3:125 [INFO] [stdout] | [INFO] [stdout] 3 | ...m::MDType}, calling_convention_sig::CallingConventionSig, type_sig::TypeSig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `type_sig::TypeSig` [INFO] [stdout] --> src/interpreter/method_spec.rs:3:125 [INFO] [stdout] | [INFO] [stdout] 3 | ...m::MDType}, calling_convention_sig::CallingConventionSig, type_sig::TypeSig}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty`, `index_get_mut`, and `remove` are never used [INFO] [stdout] --> src/hash_vec.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl HashVec where K: Eq + Hash { [INFO] [stdout] | ------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn index_get_mut(&mut self, index: usize) -> Option<&mut V> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn remove(&mut self, key: &K) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `assembly_path`, `is_cor_lib`, and `pe` are never read [INFO] [stdout] --> src/interpreter.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Assembly { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 53 | pub assembly_path: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 54 | pub assembly_name: AssemblyName, [INFO] [stdout] 55 | pub is_cor_lib: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub pe: PE, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `resolve_cor_lib_type` is never used [INFO] [stdout] --> src/interpreter.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl Assembly { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn resolve_cor_lib_type(&self, cor_lib_type: &CorLibType) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Usize` is never constructed [INFO] [stdout] --> src/interpreter/il_type.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ILValType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | Usize(usize), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ILValType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `is_ref` and `from_signatures` are never used [INFO] [stdout] --> src/interpreter/il_type.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 157 | impl ILType { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 158 | pub fn is_ref(self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn from_signatures(sigs: Vec<&CallingConventionSig>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct PE { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] 27 | nt_headers_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | machine: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 29 | num_of_sections: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | timestamp: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 31 | pointer_to_symbol_table: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | num_of_symbols: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | size_of_optional_header: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | characteristics: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PE` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create_from_rids` is never used [INFO] [stdout] --> src/interpreter/metadata.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 114 | impl RidList { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn create_from_rids(rids: Vec) -> RidList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/interpreter/metadata/image_data_directory.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ImageDataDirectory { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 6 | pub virtual_address: u32, [INFO] [stdout] 7 | pub size: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageDataDirectory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/image_option_header.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageOptionHeader { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 9 | pub start_offset: usize, [INFO] [stdout] 10 | pub magic: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | pub major_linker_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub minor_linker_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub size_of_code: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | pub size_of_initialized_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub size_of_uninitialized_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub address_of_entry_point: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub base_of_code: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | pub base_of_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 19 | pub image_base: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | pub section_alignment: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub file_alignment: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub major_operating_system_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub minor_operating_system_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub major_image_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | pub minor_image_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub major_subsystem_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | pub minor_subsystem_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | pub win32_version_value: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | pub size_of_image: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 30 | pub size_of_headers: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | pub check_sum: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 32 | pub subsystem: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | pub dll_characteristics: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub size_of_stack_reserve: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | pub size_of_stack_commit: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub size_of_heap_reserve: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | pub size_of_heap_commit: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub loader_flags: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 39 | pub number_of_rva_and_sizes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageOptionHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/image_section_header.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ImageSectionHeader { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 6 | pub name: [u8; 8], [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 9 | pub size_of_raw_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub pointer_to_raw_data: u32, [INFO] [stdout] 11 | pub pointer_to_relocations: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub pointer_to_line_numbers: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub number_of_relocations: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub number_of_line_numbers: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub characteristics: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageSectionHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/image_cor20_header.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ImageCor20Header { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 6 | pub cb: u32, [INFO] [stdout] | ^^ [INFO] [stdout] 7 | pub major_runtime_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | pub minor_runtime_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | pub metadata: ImageDataDirectory, [INFO] [stdout] 10 | pub flags: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | pub entry_point_token: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub resources: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub strong_name_signature: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub code_manager_table: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub vtable_fixups: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub export_address_table_jumps: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub managed_native_header: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/metadata_header.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct MetadataHeader { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 41 | pub major_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 42 | pub minor_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 43 | pub reserved1: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 44 | pub string_length: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub version_string: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 46 | pub offset_2nd_part: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | pub flags: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 48 | pub reserved2: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 49 | pub streams: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 275 | pub struct MDColumn { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 284 | pub index: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `table_type` is never read [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 353 | pub struct MDTable { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 354 | pub table_type: MDTableType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:456:9 [INFO] [stdout] | [INFO] [stdout] 455 | pub struct TableStream { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 456 | pub reserved1: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 457 | pub major_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 458 | pub minor_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 459 | pub flags: MDStreamFlags, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 460 | pub log2_rid: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 461 | pub valid_mask: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 462 | pub sorted_mask: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 463 | pub md_tables: Vec, [INFO] [stdout] 464 | pub extra_data: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 465 | pub md_tables_pos: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/interpreter/metadata/md_token.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct MDToken { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 7 | pub token: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `flags` is never read [INFO] [stdout] --> src/interpreter/type_def.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TypeDef { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 8 | pub token: u32, // 形如0x02000001 [INFO] [stdout] 9 | pub flags: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/interpreter/field.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Field { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rva`, `flags`, `max_stack`, `header_size`, `code_size`, and `header_position` are never read [INFO] [stdout] --> src/interpreter/method.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Method { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 7 | pub token: u32, // 形如0x06000001 [INFO] [stdout] 8 | pub rva: u32, // 方法入口在image中的偏移 [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub flags: u16, // 方法标志,这和MDTable中的flag不同 [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub max_stack: u16, // 最大堆栈大小 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub header_size: u8, // 方法头大小 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 19 | pub code_size: u32, // 代码大小 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub header_position: usize, // MethodHeader在Image中的真实位置 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `IL`, `Native`, `OPTIL`, and `Runtime` are never constructed [INFO] [stdout] --> src/interpreter/method.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum CodeType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 145 | IL, [INFO] [stdout] | ^^ [INFO] [stdout] 146 | Native, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 147 | OPTIL, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 148 | Runtime [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Managed` and `Unmanaged` are never constructed [INFO] [stdout] --> src/interpreter/method.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 151 | pub enum Managed { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 152 | Managed, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 153 | Unmanaged [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/interpreter/method.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum CommonImplAttrFlagInfo { [INFO] [stdout] | ---------------------- variants in this enum [INFO] [stdout] 157 | NoInlining = 0x0008, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 158 | ForwardRef = 0x0010, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 159 | Synchronized = 0x0020, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 160 | NoOptimization = 0x0040, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 161 | PreserveSig = 0x0080, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 162 | AggressiveInlining = 0x0100, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 163 | AggressiveOptimization = 0x0200, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 164 | SecurityMitigations = 0x0400, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CodeType` and `Managed` are never constructed [INFO] [stdout] --> src/interpreter/method.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub enum ImplAttrFlagInfo { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] 169 | CodeType(CodeType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 170 | Managed(Managed), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token`, `flags`, `sequence`, and `name` are never read [INFO] [stdout] --> src/interpreter/param.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Param { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 7 | pub token: u32, // 形如0x08000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | pub flags: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | pub sequence: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Param` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/interpreter/member_ref.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct MemberRef { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 6 | pub token: u32, // 形如0x0A000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/interpreter/standalone_sig.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct StandaloneSig { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 7 | pub token: u32, // 形如0x11000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/interpreter/type_spec.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TypeSpec { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 8 | pub token: u32, // 形如0x1B000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeSpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token`, `locale`, and `hash_value` are never read [INFO] [stdout] --> src/interpreter/assembly_ref.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct AssemblyRef { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 6 | pub token: u32, // 形如 0x230000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | pub assembly_name: AssemblyName, [INFO] [stdout] 8 | pub locale: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | pub hash_value: u16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token`, `flags`, `type_def_id`, `type_name`, and `type_namespace` are never read [INFO] [stdout] --> src/interpreter/exported_type.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct ExportedType { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 14 | pub token: u32, // 形如0x27000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 15 | pub flags: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | pub type_def_id: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 17 | pub type_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub type_namespace: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token` and `instantiation` are never read [INFO] [stdout] --> src/interpreter/method_spec.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MethodSpec { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 8 | /// 形如0x2B000001 [INFO] [stdout] 9 | pub token: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub instantiation: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MethodSpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `TypeSig`, `LeafSig`, `TypeDefOrRefSig`, `GenericSig`, `NoLeafSig`, and `ModifierSig` are never constructed [INFO] [stdout] --> src/interpreter/type_sig.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum TypeSig { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 10 | TypeSig(TypeSigBase), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | LeafSig(LeafSig), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | TypeDefOrRefSig(TypeDefOrRefSig), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | GenericSig(GenericSig), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | NoLeafSig(NoLeafSig), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | ModifierSig(ModifierSig), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeSig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_method_sig` is never used [INFO] [stdout] --> src/interpreter/calling_convention_sig.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl CallingConventionSig { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 46 | pub fn to_method_sig(&self) -> &MethodSig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_is_default`, `set_generic`, `get_has_this`, `set_has_this`, `get_explicit_this`, and `set_explicit_this` are never used [INFO] [stdout] --> src/interpreter/calling_convention_sig.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 161 | impl CallingConventionSigBase { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn get_is_default(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn set_generic(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn get_has_this(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn set_has_this(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn get_explicit_this(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn set_explicit_this(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `flags` is never read [INFO] [stdout] --> src/interpreter/object.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Object { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 8 | /// 包括locked、pinned、gc_mark和代 [INFO] [stdout] 9 | flags: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse_type_token`, `is_locked`, `is_pinned`, `get_generation`, `get_gc_mark`, and `set_gc_mark` are never used [INFO] [stdout] --> src/interpreter/object.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl Object { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | fn parse_type_token(type_token: u32) -> [u8; 3] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn is_locked(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn is_pinned(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get_generation(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn get_gc_mark(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn set_gc_mark(&mut self, mark: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/op_codes.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OpCode` [INFO] [stdout] 6 | pub enum OpCode { [INFO] [stdout] | ------ `OpCode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/op_codes.rs:211:10 [INFO] [stdout] | [INFO] [stdout] 211 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OpCode2` [INFO] [stdout] 212 | /// 双字节的opcode,第一位为0xFE [INFO] [stdout] 213 | pub enum OpCode2 { [INFO] [stdout] | ------- `OpCode2` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::num::::checked_sub` that must be used [INFO] [stdout] --> src/interpreter/il_type.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | self.offset.checked_sub(off.wrapping_abs() as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this returns the result of the operation, without modifying the original [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 142 | let _ = self.offset.checked_sub(off.wrapping_abs() as usize); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::num::::checked_add` that must be used [INFO] [stdout] --> src/interpreter/il_type.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | self.offset.checked_add(off as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this returns the result of the operation, without modifying the original [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 144 | let _ = self.offset.checked_add(off as usize); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Copy, Clone, FromPrimitive, Eq, PartialEq, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MDTableType` [INFO] [stdout] 7 | pub enum MDTableType { [INFO] [stdout] | ----------- `MDTableType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:121:55 [INFO] [stdout] | [INFO] [stdout] 121 | #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MDType` [INFO] [stdout] 122 | pub enum MDType { [INFO] [stdout] | ------ `MDType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/type_sig.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | #[derive(Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ElementType` [INFO] [stdout] 190 | pub enum ElementType { [INFO] [stdout] | ----------- `ElementType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `nextSig` should have a snake case name [INFO] [stdout] --> src/interpreter/type_sig.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | pub nextSig : Option>, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `next_sig` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_empty`, `index_get_mut`, and `remove` are never used [INFO] [stdout] --> src/hash_vec.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl HashVec where K: Eq + Hash { [INFO] [stdout] | ------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn index_get_mut(&mut self, index: usize) -> Option<&mut V> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn remove(&mut self, key: &K) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `assembly_path`, `is_cor_lib`, and `pe` are never read [INFO] [stdout] --> src/interpreter.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Assembly { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 53 | pub assembly_path: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 54 | pub assembly_name: AssemblyName, [INFO] [stdout] 55 | pub is_cor_lib: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub pe: PE, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `resolve_cor_lib_type` is never used [INFO] [stdout] --> src/interpreter.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 74 | impl Assembly { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn resolve_cor_lib_type(&self, cor_lib_type: &CorLibType) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Usize` is never constructed [INFO] [stdout] --> src/interpreter/il_type.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ILValType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 23 | Usize(usize), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ILValType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `is_ref` and `from_signatures` are never used [INFO] [stdout] --> src/interpreter/il_type.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 157 | impl ILType { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 158 | pub fn is_ref(self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn from_signatures(sigs: Vec<&CallingConventionSig>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct PE { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] 27 | nt_headers_offset: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | machine: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 29 | num_of_sections: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | timestamp: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 31 | pointer_to_symbol_table: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | num_of_symbols: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | size_of_optional_header: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | characteristics: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PE` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `create_from_rids` is never used [INFO] [stdout] --> src/interpreter/metadata.rs:123:12 [INFO] [stdout] | [INFO] [stdout] 114 | impl RidList { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn create_from_rids(rids: Vec) -> RidList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/interpreter/metadata/image_data_directory.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ImageDataDirectory { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 6 | pub virtual_address: u32, [INFO] [stdout] 7 | pub size: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageDataDirectory` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/image_option_header.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageOptionHeader { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 9 | pub start_offset: usize, [INFO] [stdout] 10 | pub magic: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | pub major_linker_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub minor_linker_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub size_of_code: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 14 | pub size_of_initialized_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub size_of_uninitialized_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub address_of_entry_point: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub base_of_code: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | pub base_of_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 19 | pub image_base: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 20 | pub section_alignment: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub file_alignment: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub major_operating_system_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub minor_operating_system_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub major_image_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | pub minor_image_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub major_subsystem_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | pub minor_subsystem_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | pub win32_version_value: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | pub size_of_image: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 30 | pub size_of_headers: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | pub check_sum: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 32 | pub subsystem: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | pub dll_characteristics: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 34 | pub size_of_stack_reserve: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 35 | pub size_of_stack_commit: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub size_of_heap_reserve: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | pub size_of_heap_commit: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 38 | pub loader_flags: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 39 | pub number_of_rva_and_sizes: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageOptionHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/image_section_header.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ImageSectionHeader { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 6 | pub name: [u8; 8], [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 9 | pub size_of_raw_data: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | pub pointer_to_raw_data: u32, [INFO] [stdout] 11 | pub pointer_to_relocations: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub pointer_to_line_numbers: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub number_of_relocations: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub number_of_line_numbers: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub characteristics: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImageSectionHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/image_cor20_header.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ImageCor20Header { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 6 | pub cb: u32, [INFO] [stdout] | ^^ [INFO] [stdout] 7 | pub major_runtime_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | pub minor_runtime_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | pub metadata: ImageDataDirectory, [INFO] [stdout] 10 | pub flags: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | pub entry_point_token: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub resources: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | pub strong_name_signature: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | pub code_manager_table: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | pub vtable_fixups: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | pub export_address_table_jumps: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | pub managed_native_header: ImageDataDirectory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/metadata_header.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct MetadataHeader { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 41 | pub major_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 42 | pub minor_version: u16, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 43 | pub reserved1: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 44 | pub string_length: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub version_string: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 46 | pub offset_2nd_part: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 47 | pub flags: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 48 | pub reserved2: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 49 | pub streams: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 275 | pub struct MDColumn { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 284 | pub index: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `table_type` is never read [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:354:9 [INFO] [stdout] | [INFO] [stdout] 353 | pub struct MDTable { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 354 | pub table_type: MDTableType, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:456:9 [INFO] [stdout] | [INFO] [stdout] 455 | pub struct TableStream { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 456 | pub reserved1: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 457 | pub major_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 458 | pub minor_version: u8, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 459 | pub flags: MDStreamFlags, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 460 | pub log2_rid: u8, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 461 | pub valid_mask: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 462 | pub sorted_mask: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 463 | pub md_tables: Vec, [INFO] [stdout] 464 | pub extra_data: u32, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 465 | pub md_tables_pos: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/interpreter/metadata/md_token.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct MDToken { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 7 | pub token: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `flags` is never read [INFO] [stdout] --> src/interpreter/type_def.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TypeDef { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 8 | pub token: u32, // 形如0x02000001 [INFO] [stdout] 9 | pub flags: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/interpreter/field.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Field { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rva`, `flags`, `max_stack`, `header_size`, `code_size`, and `header_position` are never read [INFO] [stdout] --> src/interpreter/method.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Method { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 7 | pub token: u32, // 形如0x06000001 [INFO] [stdout] 8 | pub rva: u32, // 方法入口在image中的偏移 [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub flags: u16, // 方法标志,这和MDTable中的flag不同 [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub max_stack: u16, // 最大堆栈大小 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub header_size: u8, // 方法头大小 [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 19 | pub code_size: u32, // 代码大小 [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub header_position: usize, // MethodHeader在Image中的真实位置 [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `IL`, `Native`, `OPTIL`, and `Runtime` are never constructed [INFO] [stdout] --> src/interpreter/method.rs:145:5 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum CodeType { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 145 | IL, [INFO] [stdout] | ^^ [INFO] [stdout] 146 | Native, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 147 | OPTIL, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 148 | Runtime [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Managed` and `Unmanaged` are never constructed [INFO] [stdout] --> src/interpreter/method.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 151 | pub enum Managed { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 152 | Managed, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 153 | Unmanaged [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/interpreter/method.rs:157:5 [INFO] [stdout] | [INFO] [stdout] 156 | pub enum CommonImplAttrFlagInfo { [INFO] [stdout] | ---------------------- variants in this enum [INFO] [stdout] 157 | NoInlining = 0x0008, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 158 | ForwardRef = 0x0010, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 159 | Synchronized = 0x0020, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 160 | NoOptimization = 0x0040, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 161 | PreserveSig = 0x0080, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 162 | AggressiveInlining = 0x0100, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 163 | AggressiveOptimization = 0x0200, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 164 | SecurityMitigations = 0x0400, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CodeType` and `Managed` are never constructed [INFO] [stdout] --> src/interpreter/method.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 168 | pub enum ImplAttrFlagInfo { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] 169 | CodeType(CodeType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 170 | Managed(Managed), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token`, `flags`, `sequence`, and `name` are never read [INFO] [stdout] --> src/interpreter/param.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Param { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 7 | pub token: u32, // 形如0x08000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | pub flags: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 9 | pub sequence: u16, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Param` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/interpreter/member_ref.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct MemberRef { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 6 | pub token: u32, // 形如0x0A000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/interpreter/standalone_sig.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct StandaloneSig { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 7 | pub token: u32, // 形如0x11000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `token` is never read [INFO] [stdout] --> src/interpreter/type_spec.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct TypeSpec { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 8 | pub token: u32, // 形如0x1B000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeSpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token`, `locale`, and `hash_value` are never read [INFO] [stdout] --> src/interpreter/assembly_ref.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct AssemblyRef { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 6 | pub token: u32, // 形如 0x230000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 7 | pub assembly_name: AssemblyName, [INFO] [stdout] 8 | pub locale: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 9 | pub hash_value: u16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token`, `flags`, `type_def_id`, `type_name`, and `type_namespace` are never read [INFO] [stdout] --> src/interpreter/exported_type.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct ExportedType { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 14 | pub token: u32, // 形如0x27000001 [INFO] [stdout] | ^^^^^ [INFO] [stdout] 15 | pub flags: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 16 | pub type_def_id: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 17 | pub type_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub type_namespace: String, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token` and `instantiation` are never read [INFO] [stdout] --> src/interpreter/method_spec.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MethodSpec { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 8 | /// 形如0x2B000001 [INFO] [stdout] 9 | pub token: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 12 | pub instantiation: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MethodSpec` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `TypeSig`, `LeafSig`, `TypeDefOrRefSig`, `GenericSig`, `NoLeafSig`, and `ModifierSig` are never constructed [INFO] [stdout] --> src/interpreter/type_sig.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum TypeSig { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 10 | TypeSig(TypeSigBase), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | LeafSig(LeafSig), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | TypeDefOrRefSig(TypeDefOrRefSig), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | GenericSig(GenericSig), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | NoLeafSig(NoLeafSig), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | ModifierSig(ModifierSig), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeSig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_method_sig` is never used [INFO] [stdout] --> src/interpreter/calling_convention_sig.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl CallingConventionSig { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 46 | pub fn to_method_sig(&self) -> &MethodSig { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_is_default`, `set_generic`, `get_has_this`, `set_has_this`, `get_explicit_this`, and `set_explicit_this` are never used [INFO] [stdout] --> src/interpreter/calling_convention_sig.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 161 | impl CallingConventionSigBase { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn get_is_default(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn set_generic(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn get_has_this(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn set_has_this(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn get_explicit_this(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn set_explicit_this(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `flags` is never read [INFO] [stdout] --> src/interpreter/object.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Object { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 8 | /// 包括locked、pinned、gc_mark和代 [INFO] [stdout] 9 | flags: u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `parse_type_token`, `is_locked`, `is_pinned`, `get_generation`, `get_gc_mark`, and `set_gc_mark` are never used [INFO] [stdout] --> src/interpreter/object.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 25 | impl Object { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 55 | fn parse_type_token(type_token: u32) -> [u8; 3] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn is_locked(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn is_pinned(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get_generation(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn get_gc_mark(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn set_gc_mark(&mut self, mark: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/op_codes.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OpCode` [INFO] [stdout] 6 | pub enum OpCode { [INFO] [stdout] | ------ `OpCode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/op_codes.rs:211:10 [INFO] [stdout] | [INFO] [stdout] 211 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_OpCode2` [INFO] [stdout] 212 | /// 双字节的opcode,第一位为0xFE [INFO] [stdout] 213 | pub enum OpCode2 { [INFO] [stdout] | ------- `OpCode2` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::num::::checked_sub` that must be used [INFO] [stdout] --> src/interpreter/il_type.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | self.offset.checked_sub(off.wrapping_abs() as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this returns the result of the operation, without modifying the original [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 142 | let _ = self.offset.checked_sub(off.wrapping_abs() as usize); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `core::num::::checked_add` that must be used [INFO] [stdout] --> src/interpreter/il_type.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | self.offset.checked_add(off as usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this returns the result of the operation, without modifying the original [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 144 | let _ = self.offset.checked_add(off as usize); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | #[derive(Copy, Clone, FromPrimitive, Eq, PartialEq, Debug)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MDTableType` [INFO] [stdout] 7 | pub enum MDTableType { [INFO] [stdout] | ----------- `MDTableType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/metadata/table_stream.rs:121:55 [INFO] [stdout] | [INFO] [stdout] 121 | #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_MDType` [INFO] [stdout] 122 | pub enum MDType { [INFO] [stdout] | ------ `MDType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/interpreter/type_sig.rs:189:17 [INFO] [stdout] | [INFO] [stdout] 189 | #[derive(Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ElementType` [INFO] [stdout] 190 | pub enum ElementType { [INFO] [stdout] | ----------- `ElementType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `nextSig` should have a snake case name [INFO] [stdout] --> src/interpreter/type_sig.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | pub nextSig : Option>, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `next_sig` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 44 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.83s [INFO] running `Command { std: "docker" "inspect" "640c2782250e7cbda3799928f9152e8eeaacdc989bc7a425fdffc306b1b8495a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "640c2782250e7cbda3799928f9152e8eeaacdc989bc7a425fdffc306b1b8495a", kill_on_drop: false }` [INFO] [stdout] 640c2782250e7cbda3799928f9152e8eeaacdc989bc7a425fdffc306b1b8495a