[INFO] cloning repository https://github.com/Anonym-1024/sea_8_asm_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Anonym-1024/sea_8_asm_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnonym-1024%2Fsea_8_asm_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnonym-1024%2Fsea_8_asm_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 823503715e1c2da324975e025f953271192a5487 [INFO] linting Anonym-1024/sea_8_asm_rust against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAnonym-1024%2Fsea_8_asm_rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Anonym-1024/sea_8_asm_rust [INFO] finished tweaking git repo https://github.com/Anonym-1024/sea_8_asm_rust [INFO] tweaked toml for git repo https://github.com/Anonym-1024/sea_8_asm_rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Anonym-1024/sea_8_asm_rust on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Anonym-1024/sea_8_asm_rust 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded colorize v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ec92a095dabb1f65cdf082e0ec7ebe7d9a3db2597e07bec3937ec3191e1ffef0 [INFO] running `Command { std: "docker" "start" "-a" "ec92a095dabb1f65cdf082e0ec7ebe7d9a3db2597e07bec3937ec3191e1ffef0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ec92a095dabb1f65cdf082e0ec7ebe7d9a3db2597e07bec3937ec3191e1ffef0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec92a095dabb1f65cdf082e0ec7ebe7d9a3db2597e07bec3937ec3191e1ffef0", kill_on_drop: false }` [INFO] [stdout] ec92a095dabb1f65cdf082e0ec7ebe7d9a3db2597e07bec3937ec3191e1ffef0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 11c6df731fa8ee44197bf03a8722e45e6489205ab13ac83d1f54463181e9dbd5 [INFO] running `Command { std: "docker" "start" "-a" "11c6df731fa8ee44197bf03a8722e45e6489205ab13ac83d1f54463181e9dbd5", kill_on_drop: false }` [INFO] [stderr] Checking colorize v0.1.0 [INFO] [stderr] Checking asmc_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lexer/token.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | Self {kind: kind, lexeme: lexeme, line: line} [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `kind` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lexer/token.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | Self {kind: kind, lexeme: lexeme, line: line} [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `lexeme` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lexer/token.rs:31:44 [INFO] [stdout] | [INFO] [stdout] 31 | Self {kind: kind, lexeme: lexeme, line: line} [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `line` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/parser.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::lexer::token::{self, Token, TokenKind}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser.rs:23:35 [INFO] [stdout] | [INFO] [stdout] 23 | let mut parser = Parser { tokens: tokens, index: 0, line: 1 }; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CstNodeKind` and `CstNode` [INFO] [stdout] --> src/sema/label_expander.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::parser::cst::{CstNode, CstNodeKind}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CstNodeKind` and `CstNode` [INFO] [stdout] --> src/sema/ast.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{parser::cst::{CstNode, CstNodeKind}}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lexer/token.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | Self {kind: kind, lexeme: lexeme, line: line} [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `kind` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lexer/token.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | Self {kind: kind, lexeme: lexeme, line: line} [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `lexeme` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/lexer/token.rs:31:44 [INFO] [stdout] | [INFO] [stdout] 31 | Self {kind: kind, lexeme: lexeme, line: line} [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `line` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instruction_arg::InstructionArg` [INFO] [stdout] --> src/sema/ast/macro.rs:4:62 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{parser::cst::{CstNode, CstNodeKind}, sema::ast::{instruction_arg::InstructionArg, macro_arg::MacroArg}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/sema/ast/data_type.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/parser.rs:3:27 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::lexer::token::{self, Token, TokenKind}; [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: `str_lit_to_str` [INFO] [stdout] --> src/sema/ast/macro_arg.rs:1:113 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{lexer::token::TokenKind, parser::cst::{CstNode, CstNodeKind}, sema::ast::{helpers::{num_lit_to_int, str_lit_to_str}, labe... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/parser.rs:23:35 [INFO] [stdout] | [INFO] [stdout] 23 | let mut parser = Parser { tokens: tokens, index: 0, line: 1 }; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CstNodeKind` and `CstNode` [INFO] [stdout] --> src/sema/label_expander.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::parser::cst::{CstNode, CstNodeKind}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CstNodeKind` and `CstNode` [INFO] [stdout] --> src/sema/ast.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{parser::cst::{CstNode, CstNodeKind}}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instruction_arg::InstructionArg` [INFO] [stdout] --> src/sema/ast/macro.rs:4:62 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{parser::cst::{CstNode, CstNodeKind}, sema::ast::{instruction_arg::InstructionArg, macro_arg::MacroArg}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::num` [INFO] [stdout] --> src/sema/ast/data_type.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::num; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str_lit_to_str` [INFO] [stdout] --> src/sema/ast/macro_arg.rs:1:113 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::{lexer::token::TokenKind, parser::cst::{CstNode, CstNodeKind}, sema::ast::{helpers::{num_lit_to_int, str_lit_to_str}, labe... [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `auto_scope_prefix_count` is never read [INFO] [stdout] --> src/parser.rs:150:43 [INFO] [stdout] | [INFO] [stdout] 150 | let mut auto_scope_prefix_count = 0; [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: `node` [INFO] [stdout] --> src/sema/label_expander.rs:25:36 [INFO] [stdout] | [INFO] [stdout] 25 | Statement::Instruction(node) => {}, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `auto_scope_prefix_count` is never read [INFO] [stdout] --> src/parser.rs:150:43 [INFO] [stdout] | [INFO] [stdout] 150 | let mut auto_scope_prefix_count = 0; [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: `node` [INFO] [stdout] --> src/sema/label_expander.rs:25:36 [INFO] [stdout] | [INFO] [stdout] 25 | Statement::Instruction(node) => {}, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_node` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `child_mut` is never used [INFO] [stdout] --> src/parser/cst.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl CstNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn child_mut<'a>(&'a mut self, index: usize) -> &'a mut CstNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data_type` and `assignment` are never read [INFO] [stdout] --> src/sema/ast/res_directive.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct ResDirective { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 4 | pub label: LabelDefinition, [INFO] [stdout] 5 | pub data_type: DataType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 6 | pub assignment: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mnemonic`, `condition`, `args`, and `line` are never read [INFO] [stdout] --> src/sema/ast/instruction.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Instruction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub mnemonic: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub condition: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | pub args: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | pub line: u32 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mnemonic` and `condition` are never read [INFO] [stdout] --> src/sema/ast/macro.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Macro { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 10 | pub mnemonic: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | pub condition: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/data_type.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | Bytes(u32), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DataType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 - Bytes(u32), [INFO] [stdout] 9 + Bytes(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/sema/ast/data_type.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | Arr(u32, Box) [INFO] [stdout] | --- ^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DataType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 10 - Arr(u32, Box) [INFO] [stdout] 10 + Arr((), ()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/assignment.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | Number(i32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 6 - Number(i32), [INFO] [stdout] 6 + Number(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/assignment.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | String(Vec), [INFO] [stdout] | ------ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 - String(Vec), [INFO] [stdout] 7 + String(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/assignment.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | Assignment(Assignment) [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 - Assignment(Assignment) [INFO] [stdout] 8 + Assignment(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `values` and `repetition` are never read [INFO] [stdout] --> src/sema/ast/assignment.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Assignment { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 12 | pub values: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | pub repetition: u32 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` 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 `0` is never read [INFO] [stdout] --> src/sema/ast/macro_arg.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | Register(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MacroArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 6 - Register(String), [INFO] [stdout] 6 + Register(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/macro_arg.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | Number(i32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MacroArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 - Number(i32), [INFO] [stdout] 7 + Number(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/macro_arg.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | LongRegister(String), [INFO] [stdout] | ------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MacroArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 - LongRegister(String), [INFO] [stdout] 8 + LongRegister(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | Register(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 6 - Register(String), [INFO] [stdout] 6 + Register(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | SystemRegister(String), [INFO] [stdout] | -------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 - SystemRegister(String), [INFO] [stdout] 7 + SystemRegister(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | Port(String), [INFO] [stdout] | ---- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 - Port(String), [INFO] [stdout] 8 + Port(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | Number(i32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 - Number(i32), [INFO] [stdout] 9 + Number(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | String(Vec), [INFO] [stdout] | ------ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 - String(Vec), [INFO] [stdout] 10 + String(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | LongRegister(String) [INFO] [stdout] | ------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 - LongRegister(String) [INFO] [stdout] 11 + LongRegister(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `child_mut` is never used [INFO] [stdout] --> src/parser/cst.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl CstNode { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn child_mut<'a>(&'a mut self, index: usize) -> &'a mut CstNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data_type` and `assignment` are never read [INFO] [stdout] --> src/sema/ast/res_directive.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct ResDirective { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 4 | pub label: LabelDefinition, [INFO] [stdout] 5 | pub data_type: DataType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 6 | pub assignment: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mnemonic`, `condition`, `args`, and `line` are never read [INFO] [stdout] --> src/sema/ast/instruction.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Instruction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub mnemonic: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | pub condition: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | pub args: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 12 | pub line: u32 [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `mnemonic` and `condition` are never read [INFO] [stdout] --> src/sema/ast/macro.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Macro { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 10 | pub mnemonic: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | pub condition: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/data_type.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | Bytes(u32), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DataType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 - Bytes(u32), [INFO] [stdout] 9 + Bytes(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/sema/ast/data_type.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | Arr(u32, Box) [INFO] [stdout] | --- ^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `DataType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 10 - Arr(u32, Box) [INFO] [stdout] 10 + Arr((), ()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/assignment.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | Number(i32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 6 - Number(i32), [INFO] [stdout] 6 + Number(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/assignment.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | String(Vec), [INFO] [stdout] | ------ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 - String(Vec), [INFO] [stdout] 7 + String(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/assignment.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | Assignment(Assignment) [INFO] [stdout] | ---------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AssignmentValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 - Assignment(Assignment) [INFO] [stdout] 8 + Assignment(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `values` and `repetition` are never read [INFO] [stdout] --> src/sema/ast/assignment.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Assignment { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 12 | pub values: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 13 | pub repetition: u32 [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Assignment` 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 `0` is never read [INFO] [stdout] --> src/sema/ast/macro_arg.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | Register(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MacroArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 6 - Register(String), [INFO] [stdout] 6 + Register(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/macro_arg.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | Number(i32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MacroArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 - Number(i32), [INFO] [stdout] 7 + Number(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/macro_arg.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | LongRegister(String), [INFO] [stdout] | ------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MacroArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 - LongRegister(String), [INFO] [stdout] 8 + LongRegister(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | Register(String), [INFO] [stdout] | -------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 6 - Register(String), [INFO] [stdout] 6 + Register(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | SystemRegister(String), [INFO] [stdout] | -------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 - SystemRegister(String), [INFO] [stdout] 7 + SystemRegister(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | Port(String), [INFO] [stdout] | ---- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 - Port(String), [INFO] [stdout] 8 + Port(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | Number(i32), [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 - Number(i32), [INFO] [stdout] 9 + Number(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | String(Vec), [INFO] [stdout] | ------ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 - String(Vec), [INFO] [stdout] 10 + String(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/sema/ast/instruction_arg.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | LongRegister(String) [INFO] [stdout] | ------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 - LongRegister(String) [INFO] [stdout] 11 + LongRegister(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/cst.rs:68:18 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn child<'a>(&'a self, index: usize) -> &'a CstNode { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 68 - pub fn child<'a>(&'a self, index: usize) -> &'a CstNode { [INFO] [stdout] 68 + pub fn child(&self, index: usize) -> &CstNode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/cst.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn child_mut<'a>(&'a mut self, index: usize) -> &'a mut CstNode { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 73 - pub fn child_mut<'a>(&'a mut self, index: usize) -> &'a mut CstNode { [INFO] [stdout] 73 + pub fn child_mut(&mut self, index: usize) -> &mut CstNode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if !(self.lookahead(1).is_some_and(|t| t.lexeme == ">")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.lookahead(1).is_none_or(|t| t.lexeme != ">")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/cst.rs:68:18 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn child<'a>(&'a self, index: usize) -> &'a CstNode { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 68 - pub fn child<'a>(&'a self, index: usize) -> &'a CstNode { [INFO] [stdout] 68 + pub fn child(&self, index: usize) -> &CstNode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/parser/cst.rs:73:22 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn child_mut<'a>(&'a mut self, index: usize) -> &'a mut CstNode { [INFO] [stdout] | ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 73 - pub fn child_mut<'a>(&'a mut self, index: usize) -> &'a mut CstNode { [INFO] [stdout] 73 + pub fn child_mut(&mut self, index: usize) -> &mut CstNode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/parser.rs:789:12 [INFO] [stdout] | [INFO] [stdout] 789 | if children.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!children.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/sema/label_expander.rs:33:63 [INFO] [stdout] | [INFO] [stdout] 33 | fn expand_export_directive(node: &mut ExportDirective, stack: &mut Vec) -> Result<(), SemaError>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 33 - fn expand_export_directive(node: &mut ExportDirective, stack: &mut Vec) -> Result<(), SemaError>{ [INFO] [stdout] 33 + fn expand_export_directive(node: &mut ExportDirective, stack: &mut [String]) -> Result<(), SemaError>{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | for i in 0..label_intern.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 42 - for i in 0..label_intern.prefix_count as usize { [INFO] [stdout] 42 + for in stack.iter().take(label_intern.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sema/label_expander.rs:48:22 [INFO] [stdout] | [INFO] [stdout] 48 | str.push_str(&scope); [INFO] [stdout] | ^^^^^^ help: change this to: `scope` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sema/label_expander.rs:63:22 [INFO] [stdout] | [INFO] [stdout] 63 | str.push_str(&scope); [INFO] [stdout] | ^^^^^^ help: change this to: `scope` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/sema/label_expander.rs:78:63 [INFO] [stdout] | [INFO] [stdout] 78 | fn expand_import_directive(node: &mut ImportDirective, stack: &mut Vec) -> Result<(), SemaError>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 78 - fn expand_import_directive(node: &mut ImportDirective, stack: &mut Vec) -> Result<(), SemaError>{ [INFO] [stdout] 78 + fn expand_import_directive(node: &mut ImportDirective, stack: &mut [String]) -> Result<(), SemaError>{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/parser.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if !(self.lookahead(1).is_some_and(|t| t.lexeme == ">")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.lookahead(1).is_none_or(|t| t.lexeme != ">")` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | for i in 0..label_intern.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 87 - for i in 0..label_intern.prefix_count as usize { [INFO] [stdout] 87 + for in stack.iter().take(label_intern.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sema/label_expander.rs:102:22 [INFO] [stdout] | [INFO] [stdout] 102 | str.push_str(&scope); [INFO] [stdout] | ^^^^^^ help: change this to: `scope` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/sema/label_expander.rs:114:57 [INFO] [stdout] | [INFO] [stdout] 114 | fn expand_res_directive(node: &mut ResDirective, stack: &mut Vec) -> Result<(), SemaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 114 - fn expand_res_directive(node: &mut ResDirective, stack: &mut Vec) -> Result<(), SemaError> { [INFO] [stdout] 114 + fn expand_res_directive(node: &mut ResDirective, stack: &mut [String]) -> Result<(), SemaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:124:14 [INFO] [stdout] | [INFO] [stdout] 124 | for i in 0..label.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 124 - for i in 0..label.prefix_count as usize { [INFO] [stdout] 124 + for in stack.iter().take(label.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 150 | for i in 0..label.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 150 - for i in 0..label.prefix_count as usize { [INFO] [stdout] 150 + for in stack.iter().take(label.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/sema/label_expander.rs:175:42 [INFO] [stdout] | [INFO] [stdout] 175 | fn expand_macro(node: &mut Macro, stack: &mut Vec) -> Result<(), SemaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 175 - fn expand_macro(node: &mut Macro, stack: &mut Vec) -> Result<(), SemaError> { [INFO] [stdout] 175 + fn expand_macro(node: &mut Macro, stack: &mut [String]) -> Result<(), SemaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:185:22 [INFO] [stdout] | [INFO] [stdout] 185 | for i in 0..label.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 185 - for i in 0..label.prefix_count as usize { [INFO] [stdout] 185 + for in stack.iter().take(label.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sema/label_expander.rs:191:30 [INFO] [stdout] | [INFO] [stdout] 191 | str.push_str(&scope); [INFO] [stdout] | ^^^^^^ help: change this to: `scope` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sema/ast/data_type.rs:20:45 [INFO] [stdout] | [INFO] [stdout] 20 | CstNodeKind::ByteDirective => { return Self::Byte; }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 - CstNodeKind::ByteDirective => { return Self::Byte; }, [INFO] [stdout] 20 + CstNodeKind::ByteDirective => { Self::Byte}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sema/ast/data_type.rs:21:46 [INFO] [stdout] | [INFO] [stdout] 21 | CstNodeKind::BytesDirective => { return make_bytes_type(node.child(0)); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - CstNodeKind::BytesDirective => { return make_bytes_type(node.child(0)); }, [INFO] [stdout] 21 + CstNodeKind::BytesDirective => { make_bytes_type(node.child(0))}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sema/ast/data_type.rs:22:44 [INFO] [stdout] | [INFO] [stdout] 22 | CstNodeKind::ArrDirective => { return make_arr_type(node.child(0)); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 22 - CstNodeKind::ArrDirective => { return make_arr_type(node.child(0)); }, [INFO] [stdout] 22 + CstNodeKind::ArrDirective => { make_arr_type(node.child(0))}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/parser.rs:789:12 [INFO] [stdout] | [INFO] [stdout] 789 | if children.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!children.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/sema/label_expander.rs:33:63 [INFO] [stdout] | [INFO] [stdout] 33 | fn expand_export_directive(node: &mut ExportDirective, stack: &mut Vec) -> Result<(), SemaError>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 33 - fn expand_export_directive(node: &mut ExportDirective, stack: &mut Vec) -> Result<(), SemaError>{ [INFO] [stdout] 33 + fn expand_export_directive(node: &mut ExportDirective, stack: &mut [String]) -> Result<(), SemaError>{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | for i in 0..label_intern.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 42 - for i in 0..label_intern.prefix_count as usize { [INFO] [stdout] 42 + for in stack.iter().take(label_intern.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sema/label_expander.rs:48:22 [INFO] [stdout] | [INFO] [stdout] 48 | str.push_str(&scope); [INFO] [stdout] | ^^^^^^ help: change this to: `scope` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sema/label_expander.rs:63:22 [INFO] [stdout] | [INFO] [stdout] 63 | str.push_str(&scope); [INFO] [stdout] | ^^^^^^ help: change this to: `scope` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/sema/label_expander.rs:78:63 [INFO] [stdout] | [INFO] [stdout] 78 | fn expand_import_directive(node: &mut ImportDirective, stack: &mut Vec) -> Result<(), SemaError>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 78 - fn expand_import_directive(node: &mut ImportDirective, stack: &mut Vec) -> Result<(), SemaError>{ [INFO] [stdout] 78 + fn expand_import_directive(node: &mut ImportDirective, stack: &mut [String]) -> Result<(), SemaError>{ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:87:14 [INFO] [stdout] | [INFO] [stdout] 87 | for i in 0..label_intern.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 87 - for i in 0..label_intern.prefix_count as usize { [INFO] [stdout] 87 + for in stack.iter().take(label_intern.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sema/label_expander.rs:102:22 [INFO] [stdout] | [INFO] [stdout] 102 | str.push_str(&scope); [INFO] [stdout] | ^^^^^^ help: change this to: `scope` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/sema/label_expander.rs:114:57 [INFO] [stdout] | [INFO] [stdout] 114 | fn expand_res_directive(node: &mut ResDirective, stack: &mut Vec) -> Result<(), SemaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 114 - fn expand_res_directive(node: &mut ResDirective, stack: &mut Vec) -> Result<(), SemaError> { [INFO] [stdout] 114 + fn expand_res_directive(node: &mut ResDirective, stack: &mut [String]) -> Result<(), SemaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:124:14 [INFO] [stdout] | [INFO] [stdout] 124 | for i in 0..label.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 124 - for i in 0..label.prefix_count as usize { [INFO] [stdout] 124 + for in stack.iter().take(label.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 150 | for i in 0..label.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 150 - for i in 0..label.prefix_count as usize { [INFO] [stdout] 150 + for in stack.iter().take(label.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> src/sema/ast/helpers.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | 'd' => i32::from_str_radix(string, 10), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `string.parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/sema/label_expander.rs:175:42 [INFO] [stdout] | [INFO] [stdout] 175 | fn expand_macro(node: &mut Macro, stack: &mut Vec) -> Result<(), SemaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 175 - fn expand_macro(node: &mut Macro, stack: &mut Vec) -> Result<(), SemaError> { [INFO] [stdout] 175 + fn expand_macro(node: &mut Macro, stack: &mut [String]) -> Result<(), SemaError> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `stack` [INFO] [stdout] --> src/sema/label_expander.rs:185:22 [INFO] [stdout] | [INFO] [stdout] 185 | for i in 0..label.prefix_count as usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 185 - for i in 0..label.prefix_count as usize { [INFO] [stdout] 185 + for in stack.iter().take(label.prefix_count as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/sema/label_expander.rs:191:30 [INFO] [stdout] | [INFO] [stdout] 191 | str.push_str(&scope); [INFO] [stdout] | ^^^^^^ help: change this to: `scope` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sema/ast/data_type.rs:20:45 [INFO] [stdout] | [INFO] [stdout] 20 | CstNodeKind::ByteDirective => { return Self::Byte; }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 20 - CstNodeKind::ByteDirective => { return Self::Byte; }, [INFO] [stdout] 20 + CstNodeKind::ByteDirective => { Self::Byte}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sema/ast/data_type.rs:21:46 [INFO] [stdout] | [INFO] [stdout] 21 | CstNodeKind::BytesDirective => { return make_bytes_type(node.child(0)); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 21 - CstNodeKind::BytesDirective => { return make_bytes_type(node.child(0)); }, [INFO] [stdout] 21 + CstNodeKind::BytesDirective => { make_bytes_type(node.child(0))}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/sema/ast/data_type.rs:22:44 [INFO] [stdout] | [INFO] [stdout] 22 | CstNodeKind::ArrDirective => { return make_arr_type(node.child(0)); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 22 - CstNodeKind::ArrDirective => { return make_arr_type(node.child(0)); }, [INFO] [stdout] 22 + CstNodeKind::ArrDirective => { make_arr_type(node.child(0))}, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:39:111 [INFO] [stdout] | [INFO] [stdout] 39 | ...sis success.".green().bold()); std::fs::write("resources/res.txt", format!("{:#?}", s).as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [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] 39 | ParserResult::Some(s) => {println!("{}\n", "*** Syntactic analysis success.".green().bold()); let _ = std::fs::write("resources/res.txt", format!("{:#?}", s).as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this call to `from_str_radix` can be replaced with a call to `str::parse` [INFO] [stdout] --> src/sema/ast/helpers.rs:14:16 [INFO] [stdout] | [INFO] [stdout] 14 | 'd' => i32::from_str_radix(string, 10), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `string.parse::()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_str_radix_10 [INFO] [stdout] = note: `#[warn(clippy::from_str_radix_10)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/main.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:39:111 [INFO] [stdout] | [INFO] [stdout] 39 | ...sis success.".green().bold()); std::fs::write("resources/res.txt", format!("{:#?}", s).as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [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] 39 | ParserResult::Some(s) => {println!("{}\n", "*** Syntactic analysis success.".green().bold()); let _ = std::fs::write("resources/res.txt", format!("{:#?}", s).as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.76s [INFO] running `Command { std: "docker" "inspect" "11c6df731fa8ee44197bf03a8722e45e6489205ab13ac83d1f54463181e9dbd5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "11c6df731fa8ee44197bf03a8722e45e6489205ab13ac83d1f54463181e9dbd5", kill_on_drop: false }` [INFO] [stdout] 11c6df731fa8ee44197bf03a8722e45e6489205ab13ac83d1f54463181e9dbd5