[INFO] cloning repository https://github.com/Kagwep/fikra [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kagwep/fikra" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKagwep%2Ffikra", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKagwep%2Ffikra'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 4565d17901c70f4745cd329ddcd877c860a40cb9 [INFO] building Kagwep/fikra against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKagwep%2Ffikra" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Kagwep/fikra on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Kagwep/fikra [INFO] finished tweaking git repo https://github.com/Kagwep/fikra [INFO] tweaked toml for git repo https://github.com/Kagwep/fikra written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Kagwep/fikra 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0c78cf8f7c8b6151a069129e55ef118106a058a805bcc038eb728f22c915fc13 [INFO] running `Command { std: "docker" "start" "-a" "0c78cf8f7c8b6151a069129e55ef118106a058a805bcc038eb728f22c915fc13", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0c78cf8f7c8b6151a069129e55ef118106a058a805bcc038eb728f22c915fc13", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c78cf8f7c8b6151a069129e55ef118106a058a805bcc038eb728f22c915fc13", kill_on_drop: false }` [INFO] [stdout] 0c78cf8f7c8b6151a069129e55ef118106a058a805bcc038eb728f22c915fc13 [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 -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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 87e766f82915845a063611465cc800a5c8dd2dcdce297bffefa39988f22a64e5 [INFO] running `Command { std: "docker" "start" "-a" "87e766f82915845a063611465cc800a5c8dd2dcdce297bffefa39988f22a64e5", kill_on_drop: false }` [INFO] [stderr] Compiling hashbrown v0.15.0 [INFO] [stderr] Compiling typed-arena v2.0.2 [INFO] [stderr] Compiling indexmap v2.6.0 [INFO] [stderr] Compiling fikra v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::thread::Scope` [INFO] [stdout] --> src/fikra_parser/parser.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::thread::Scope; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/fikra_generator/generator.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | _ => Err(GeneratorError::InvalidStatement), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/fikra_generator/generator.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 33 | StmtVariant::VariantOne(stmt) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 40 | StmtVariant::VariantTwo(stmt) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 59 | StmtVariant::VariantThree(stmt) =>{ [INFO] [stdout] | ------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 69 | _ => Err(GeneratorError::InvalidStatement), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/fikra_generator/generator.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | _ => Err(GeneratorError::InvalidExpression), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/fikra_generator/generator.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 75 | ExprVar::VariantOne(node_expres_int_lit) => { [INFO] [stdout] | ---------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | ExprVar::VariantTwo(n) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 93 | ExprVar::VariantThree(n) => self.generate_binary_expression(&n.variant, asm, stack), [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] 94 | ExprVar::VariantFour(node_expr_paren) => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 98 | _ => Err(GeneratorError::InvalidExpression), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/fikra_generator/generator.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | _ => Err(GeneratorError::InvalidExpression) [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/fikra_generator/generator.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 115 | NodeBinExprVariant::VariantOne(node_bin_expr_add) => { [INFO] [stdout] | ------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 126 | NodeBinExprVariant::VariantTwo(node_bin_expr_mul) => { [INFO] [stdout] | ------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | NodeBinExprVariant::VariantThree(node_bin_expr_sub) => { [INFO] [stdout] | --------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 147 | NodeBinExprVariant::VariantFour(node_bin_expr_div) => { [INFO] [stdout] | -------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 158 | _ => Err(GeneratorError::InvalidExpression) [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/fikra_entities.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 7 | If, // 'if' keyword for conditional statements [INFO] [stdout] | ^^ [INFO] [stdout] 8 | Else, // 'else' keyword for alternative in conditional statements [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | While, // 'while' keyword for while loops [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | For, // 'for' keyword for for loops [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | IntLit, // Integer literal of unspecified size [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 14 | Int8Lit, // 8-bit signed integer literal [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | Int16Lit, // 16-bit signed integer literal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 16 | Int32Lit, // 32-bit signed integer literal [INFO] [stdout] 17 | Int64Lit, // 64-bit signed integer literal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | UInt8Lit, // 8-bit unsigned integer literal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 19 | UInt16Lit, // 16-bit unsigned integer literal [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | UInt32Lit, // 32-bit unsigned integer literal [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | UInt64Lit, // 64-bit unsigned integer literal [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | FloatLit, // Floating-point literal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 23 | StringLit, // String literal [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | BoolLit, // Boolean literal (true or false) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | Percent, // Modulo operator '%' [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 35 | Eq, // Assignment operator '=' [INFO] [stdout] 36 | EqEq, // Equality comparison operator '==' [INFO] [stdout] | ^^^^ [INFO] [stdout] 37 | NotEq, // Inequality comparison operator '!=' [INFO] [stdout] | ^^^^^ [INFO] [stdout] 38 | Lt, // Less than operator '<' [INFO] [stdout] | ^^ [INFO] [stdout] 39 | LtEq, // Less than or equal to operator '<=' [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | Gt, // Greater than operator '>' [INFO] [stdout] | ^^ [INFO] [stdout] 41 | GtEq, // Greater than or equal to operator '>=' [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | And, // Logical AND operator '&&' [INFO] [stdout] | ^^^ [INFO] [stdout] 43 | Or, // Logical OR operator '||' [INFO] [stdout] | ^^ [INFO] [stdout] 44 | Not, // Logical NOT operator '!' [INFO] [stdout] | ^^^ [INFO] [stdout] 45 | Caret, // Exponentiation operator '^' [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | Comma, // Comma ',' for separating items in lists [INFO] [stdout] | ^^^^^ [INFO] [stdout] 50 | Dot, // Dot '.' for member access [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | OpenBracket, // Opening square bracket '[' for arrays [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 56 | CloseBracket, // Closing square bracket ']' for arrays [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | EOF, // End of file marker [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/fikra_entities.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub enum TokenValue { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 72 | Int8(i8), [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | Int16(i16), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 74 | Int32(i32), [INFO] [stdout] 75 | Int64(i64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 76 | UInt8(u8), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 77 | UInt16(u16), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 78 | UInt32(u32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 79 | UInt64(u64), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 80 | Float32(f32), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | Float64(f64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 82 | Boolean(bool), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenValue` 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 function `new` is never used [INFO] [stdout] --> src/fikra_entities.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl Token { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 102 | pub fn new(_type: TokenType, value: Option, line: usize, column: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `evaluation_order` and `is_binary_op` are never used [INFO] [stdout] --> src/fikra_entities.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 108 | impl TokenType { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn evaluation_order(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn is_binary_op(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/fikra_entities.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl Precedence { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 143 | // A method to get the numeric precedence value [INFO] [stdout] 144 | pub fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `new_expr` and `new_stmt` are never used [INFO] [stdout] --> src/fikra_parser/node.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 93 | impl<'arena> AstArena<'arena> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn new_expr(&'arena self, variant: ExprVar<'arena>) -> &'arena NodeExpr<'arena> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn new_stmt(&'arena self, variant: StmtVariant<'arena>) -> &'arena NodeStmt<'arena> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseError` is never used [INFO] [stdout] --> src/fikra_parser/node.rs:114:10 [INFO] [stdout] | [INFO] [stdout] 114 | pub enum ParseError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnexpectedToken`, `UnexpectedEndOfInput`, and `InvalidExpression` are never constructed [INFO] [stdout] --> src/fikra_errors.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum ParseError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 7 | UnexpectedToken(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | UnexpectedEndOfInput, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | InvalidStatement, [INFO] [stdout] 10 | InvalidExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` 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 `InvalidReturnValue` and `IdentifierAlreadyUsed` are never constructed [INFO] [stdout] --> src/fikra_errors.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum GeneratorError { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 18 | InvalidReturnValue, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | IdentifierAlreadyUsed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeneratorError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.01s [INFO] running `Command { std: "docker" "inspect" "87e766f82915845a063611465cc800a5c8dd2dcdce297bffefa39988f22a64e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "87e766f82915845a063611465cc800a5c8dd2dcdce297bffefa39988f22a64e5", kill_on_drop: false }` [INFO] [stdout] 87e766f82915845a063611465cc800a5c8dd2dcdce297bffefa39988f22a64e5 [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 -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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cf3671ed92dc569b809e377a9cbfd4c71e10624c5c00ea935a2e8ad6e2fe09bf [INFO] running `Command { std: "docker" "start" "-a" "cf3671ed92dc569b809e377a9cbfd4c71e10624c5c00ea935a2e8ad6e2fe09bf", kill_on_drop: false }` [INFO] [stderr] Compiling fikra v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::thread::Scope` [INFO] [stdout] --> src/fikra_parser/parser.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::thread::Scope; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/fikra_generator/generator.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | _ => Err(GeneratorError::InvalidStatement), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/fikra_generator/generator.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 33 | StmtVariant::VariantOne(stmt) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 40 | StmtVariant::VariantTwo(stmt) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 59 | StmtVariant::VariantThree(stmt) =>{ [INFO] [stdout] | ------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 69 | _ => Err(GeneratorError::InvalidStatement), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/fikra_generator/generator.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | _ => Err(GeneratorError::InvalidExpression), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/fikra_generator/generator.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 75 | ExprVar::VariantOne(node_expres_int_lit) => { [INFO] [stdout] | ---------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 84 | ExprVar::VariantTwo(n) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 93 | ExprVar::VariantThree(n) => self.generate_binary_expression(&n.variant, asm, stack), [INFO] [stdout] | ------------------------ matches some of the same values [INFO] [stdout] 94 | ExprVar::VariantFour(node_expr_paren) => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 98 | _ => Err(GeneratorError::InvalidExpression), [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/fikra_generator/generator.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | _ => Err(GeneratorError::InvalidExpression) [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/fikra_generator/generator.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 115 | NodeBinExprVariant::VariantOne(node_bin_expr_add) => { [INFO] [stdout] | ------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 126 | NodeBinExprVariant::VariantTwo(node_bin_expr_mul) => { [INFO] [stdout] | ------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | NodeBinExprVariant::VariantThree(node_bin_expr_sub) => { [INFO] [stdout] | --------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 147 | NodeBinExprVariant::VariantFour(node_bin_expr_div) => { [INFO] [stdout] | -------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 158 | _ => Err(GeneratorError::InvalidExpression) [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/fikra_entities.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum TokenType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 7 | If, // 'if' keyword for conditional statements [INFO] [stdout] | ^^ [INFO] [stdout] 8 | Else, // 'else' keyword for alternative in conditional statements [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | While, // 'while' keyword for while loops [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | For, // 'for' keyword for for loops [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | IntLit, // Integer literal of unspecified size [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 14 | Int8Lit, // 8-bit signed integer literal [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | Int16Lit, // 16-bit signed integer literal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 16 | Int32Lit, // 32-bit signed integer literal [INFO] [stdout] 17 | Int64Lit, // 64-bit signed integer literal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | UInt8Lit, // 8-bit unsigned integer literal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 19 | UInt16Lit, // 16-bit unsigned integer literal [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | UInt32Lit, // 32-bit unsigned integer literal [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | UInt64Lit, // 64-bit unsigned integer literal [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | FloatLit, // Floating-point literal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 23 | StringLit, // String literal [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 24 | BoolLit, // Boolean literal (true or false) [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | Percent, // Modulo operator '%' [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 35 | Eq, // Assignment operator '=' [INFO] [stdout] 36 | EqEq, // Equality comparison operator '==' [INFO] [stdout] | ^^^^ [INFO] [stdout] 37 | NotEq, // Inequality comparison operator '!=' [INFO] [stdout] | ^^^^^ [INFO] [stdout] 38 | Lt, // Less than operator '<' [INFO] [stdout] | ^^ [INFO] [stdout] 39 | LtEq, // Less than or equal to operator '<=' [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | Gt, // Greater than operator '>' [INFO] [stdout] | ^^ [INFO] [stdout] 41 | GtEq, // Greater than or equal to operator '>=' [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | And, // Logical AND operator '&&' [INFO] [stdout] | ^^^ [INFO] [stdout] 43 | Or, // Logical OR operator '||' [INFO] [stdout] | ^^ [INFO] [stdout] 44 | Not, // Logical NOT operator '!' [INFO] [stdout] | ^^^ [INFO] [stdout] 45 | Caret, // Exponentiation operator '^' [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | Comma, // Comma ',' for separating items in lists [INFO] [stdout] | ^^^^^ [INFO] [stdout] 50 | Dot, // Dot '.' for member access [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | OpenBracket, // Opening square bracket '[' for arrays [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 56 | CloseBracket, // Closing square bracket ']' for arrays [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | EOF, // End of file marker [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/fikra_entities.rs:72:5 [INFO] [stdout] | [INFO] [stdout] 71 | pub enum TokenValue { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 72 | Int8(i8), [INFO] [stdout] | ^^^^ [INFO] [stdout] 73 | Int16(i16), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 74 | Int32(i32), [INFO] [stdout] 75 | Int64(i64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 76 | UInt8(u8), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 77 | UInt16(u16), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 78 | UInt32(u32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 79 | UInt64(u64), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 80 | Float32(f32), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 81 | Float64(f64), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 82 | Boolean(bool), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TokenValue` 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 function `new` is never used [INFO] [stdout] --> src/fikra_entities.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl Token { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 102 | pub fn new(_type: TokenType, value: Option, line: usize, column: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `evaluation_order` and `is_binary_op` are never used [INFO] [stdout] --> src/fikra_entities.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 108 | impl TokenType { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn evaluation_order(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn is_binary_op(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `value` is never used [INFO] [stdout] --> src/fikra_entities.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl Precedence { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 143 | // A method to get the numeric precedence value [INFO] [stdout] 144 | pub fn value(&self) -> i32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `new_expr` and `new_stmt` are never used [INFO] [stdout] --> src/fikra_parser/node.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 93 | impl<'arena> AstArena<'arena> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn new_expr(&'arena self, variant: ExprVar<'arena>) -> &'arena NodeExpr<'arena> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn new_stmt(&'arena self, variant: StmtVariant<'arena>) -> &'arena NodeStmt<'arena> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseError` is never used [INFO] [stdout] --> src/fikra_parser/node.rs:114:10 [INFO] [stdout] | [INFO] [stdout] 114 | pub enum ParseError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `UnexpectedToken`, `UnexpectedEndOfInput`, and `InvalidExpression` are never constructed [INFO] [stdout] --> src/fikra_errors.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum ParseError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 7 | UnexpectedToken(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 8 | UnexpectedEndOfInput, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | InvalidStatement, [INFO] [stdout] 10 | InvalidExpression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` 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 `InvalidReturnValue` and `IdentifierAlreadyUsed` are never constructed [INFO] [stdout] --> src/fikra_errors.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum GeneratorError { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 18 | InvalidReturnValue, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | IdentifierAlreadyUsed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeneratorError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s [INFO] running `Command { std: "docker" "inspect" "cf3671ed92dc569b809e377a9cbfd4c71e10624c5c00ea935a2e8ad6e2fe09bf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf3671ed92dc569b809e377a9cbfd4c71e10624c5c00ea935a2e8ad6e2fe09bf", kill_on_drop: false }` [INFO] [stdout] cf3671ed92dc569b809e377a9cbfd4c71e10624c5c00ea935a2e8ad6e2fe09bf