[INFO] cloning repository https://github.com/onyx-language/onyx [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/onyx-language/onyx" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fonyx-language%2Fonyx", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fonyx-language%2Fonyx'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c73f5e7b93ceb92570027bcd9d66d03125a20f1c [INFO] checking onyx-language/onyx against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fonyx-language%2Fonyx" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/onyx-language/onyx on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/onyx-language/onyx [INFO] finished tweaking git repo https://github.com/onyx-language/onyx [INFO] tweaked toml for git repo https://github.com/onyx-language/onyx written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/onyx-language/onyx 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 07a7b20a091fe98763ea2b893cb4d4bd4a7470aa6bccf0cf9cbccc9b0ce6ee14 [INFO] running `Command { std: "docker" "start" "-a" "07a7b20a091fe98763ea2b893cb4d4bd4a7470aa6bccf0cf9cbccc9b0ce6ee14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "07a7b20a091fe98763ea2b893cb4d4bd4a7470aa6bccf0cf9cbccc9b0ce6ee14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07a7b20a091fe98763ea2b893cb4d4bd4a7470aa6bccf0cf9cbccc9b0ce6ee14", kill_on_drop: false }` [INFO] [stdout] 07a7b20a091fe98763ea2b893cb4d4bd4a7470aa6bccf0cf9cbccc9b0ce6ee14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ef83899afd0ab3ca25e421b08480e098facd8da35451495a3440be56a2280705 [INFO] running `Command { std: "docker" "start" "-a" "ef83899afd0ab3ca25e421b08480e098facd8da35451495a3440be56a2280705", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking onyx v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `typechecker::CheckedExpression` [INFO] [stdout] --> src/parser.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | error::OnyxError, typechecker::CheckedExpression [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/typechecker.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, fmt::format}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `typechecker::CheckedExpression` [INFO] [stdout] --> src/parser.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | error::OnyxError, typechecker::CheckedExpression [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/typechecker.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, fmt::format}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/typechecker.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/typechecker.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 259 | ParsedFirstClassStatement::Function(function) => { [INFO] [stdout] | --------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 287 | ParsedFirstClassStatement::Enum(enum_) => { [INFO] [stdout] | -------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 319 | ParsedFirstClassStatement::Class(class) => { [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 392 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/typechecker.rs:263:25 [INFO] [stdout] | [INFO] [stdout] 263 | let mut checked_parameter: CheckedParameter = CheckedParameter { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:568:41 [INFO] [stdout] | [INFO] [stdout] 568 | CheckedExpression::Integer8(integer, _) => Ok(Type::I8), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:569:42 [INFO] [stdout] | [INFO] [stdout] 569 | CheckedExpression::Integer16(integer, _) => Ok(Type::I16), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:570:42 [INFO] [stdout] | [INFO] [stdout] 570 | CheckedExpression::Integer32(integer, _) => Ok(Type::I32), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:571:42 [INFO] [stdout] | [INFO] [stdout] 571 | CheckedExpression::Integer64(integer, _) => Ok(Type::I64), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:572:49 [INFO] [stdout] | [INFO] [stdout] 572 | CheckedExpression::UnsignedInteger8(integer, _) => Ok(Type::U8), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:573:50 [INFO] [stdout] | [INFO] [stdout] 573 | CheckedExpression::UnsignedInteger16(integer, _) => Ok(Type::U16), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:574:50 [INFO] [stdout] | [INFO] [stdout] 574 | CheckedExpression::UnsignedInteger32(integer, _) => Ok(Type::U32), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:575:50 [INFO] [stdout] | [INFO] [stdout] 575 | CheckedExpression::UnsignedInteger64(integer, _) => Ok(Type::U64), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/typechecker.rs:576:40 [INFO] [stdout] | [INFO] [stdout] 576 | CheckedExpression::Float32(float, _) => Ok(Type::F32), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/typechecker.rs:577:40 [INFO] [stdout] | [INFO] [stdout] 577 | CheckedExpression::Float64(float, _) => Ok(Type::F64), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `character` [INFO] [stdout] --> src/typechecker.rs:578:37 [INFO] [stdout] | [INFO] [stdout] 578 | CheckedExpression::Char(character, _) => Ok(Type::Char), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boolean` [INFO] [stdout] --> src/typechecker.rs:579:37 [INFO] [stdout] | [INFO] [stdout] 579 | CheckedExpression::Bool(boolean, _) => Ok(Type::Bool), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> src/typechecker.rs:580:39 [INFO] [stdout] | [INFO] [stdout] 580 | CheckedExpression::String(string, _) => Ok(Type::Array(Box::new(Type::Char))), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/typechecker.rs:581:39 [INFO] [stdout] | [INFO] [stdout] 581 | CheckedExpression::Sizeof(t, _) => Ok(Type::Usize), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:103:26 [INFO] [stdout] | [INFO] [stdout] 103 | for (i, variant) in enum_.variants.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen.rs:105:55 [INFO] [stdout] | [INFO] [stdout] 105 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `types` [INFO] [stdout] --> src/codegen.rs:105:64 [INFO] [stdout] | [INFO] [stdout] 105 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:119:50 [INFO] [stdout] | [INFO] [stdout] 119 | ... for (i, parameter) in enum_.generic_parameters.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:137:38 [INFO] [stdout] | [INFO] [stdout] 137 | ... for (i, field) in fields.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen.rs:165:55 [INFO] [stdout] | [INFO] [stdout] 165 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/codegen.rs:506:33 [INFO] [stdout] | [INFO] [stdout] 506 | fn codegen_block(&mut self, block: CheckedBlock) -> Result<(), OnyxError> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RustCodegen` [INFO] [stdout] --> src/main.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | codegen::{ CppCodegen, RustCodegen }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RustCodegen` [INFO] [stdout] --> src/main.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | codegen::{ CppCodegen, RustCodegen }, [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/typechecker.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/typechecker.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 259 | ParsedFirstClassStatement::Function(function) => { [INFO] [stdout] | --------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 287 | ParsedFirstClassStatement::Enum(enum_) => { [INFO] [stdout] | -------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 319 | ParsedFirstClassStatement::Class(class) => { [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 392 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/typechecker.rs:263:25 [INFO] [stdout] | [INFO] [stdout] 263 | let mut checked_parameter: CheckedParameter = CheckedParameter { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:568:41 [INFO] [stdout] | [INFO] [stdout] 568 | CheckedExpression::Integer8(integer, _) => Ok(Type::I8), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:569:42 [INFO] [stdout] | [INFO] [stdout] 569 | CheckedExpression::Integer16(integer, _) => Ok(Type::I16), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:570:42 [INFO] [stdout] | [INFO] [stdout] 570 | CheckedExpression::Integer32(integer, _) => Ok(Type::I32), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:571:42 [INFO] [stdout] | [INFO] [stdout] 571 | CheckedExpression::Integer64(integer, _) => Ok(Type::I64), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:572:49 [INFO] [stdout] | [INFO] [stdout] 572 | CheckedExpression::UnsignedInteger8(integer, _) => Ok(Type::U8), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:573:50 [INFO] [stdout] | [INFO] [stdout] 573 | CheckedExpression::UnsignedInteger16(integer, _) => Ok(Type::U16), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:574:50 [INFO] [stdout] | [INFO] [stdout] 574 | CheckedExpression::UnsignedInteger32(integer, _) => Ok(Type::U32), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:575:50 [INFO] [stdout] | [INFO] [stdout] 575 | CheckedExpression::UnsignedInteger64(integer, _) => Ok(Type::U64), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/typechecker.rs:576:40 [INFO] [stdout] | [INFO] [stdout] 576 | CheckedExpression::Float32(float, _) => Ok(Type::F32), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/typechecker.rs:577:40 [INFO] [stdout] | [INFO] [stdout] 577 | CheckedExpression::Float64(float, _) => Ok(Type::F64), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `character` [INFO] [stdout] --> src/typechecker.rs:578:37 [INFO] [stdout] | [INFO] [stdout] 578 | CheckedExpression::Char(character, _) => Ok(Type::Char), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boolean` [INFO] [stdout] --> src/typechecker.rs:579:37 [INFO] [stdout] | [INFO] [stdout] 579 | CheckedExpression::Bool(boolean, _) => Ok(Type::Bool), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> src/typechecker.rs:580:39 [INFO] [stdout] | [INFO] [stdout] 580 | CheckedExpression::String(string, _) => Ok(Type::Array(Box::new(Type::Char))), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/typechecker.rs:581:39 [INFO] [stdout] | [INFO] [stdout] 581 | CheckedExpression::Sizeof(t, _) => Ok(Type::Usize), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:103:26 [INFO] [stdout] | [INFO] [stdout] 103 | for (i, variant) in enum_.variants.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen.rs:105:55 [INFO] [stdout] | [INFO] [stdout] 105 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `types` [INFO] [stdout] --> src/codegen.rs:105:64 [INFO] [stdout] | [INFO] [stdout] 105 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:119:50 [INFO] [stdout] | [INFO] [stdout] 119 | ... for (i, parameter) in enum_.generic_parameters.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:137:38 [INFO] [stdout] | [INFO] [stdout] 137 | ... for (i, field) in fields.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen.rs:165:55 [INFO] [stdout] | [INFO] [stdout] 165 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/codegen.rs:506:33 [INFO] [stdout] | [INFO] [stdout] 506 | fn codegen_block(&mut self, block: CheckedBlock) -> Result<(), OnyxError> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.01s [INFO] running `Command { std: "docker" "inspect" "ef83899afd0ab3ca25e421b08480e098facd8da35451495a3440be56a2280705", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ef83899afd0ab3ca25e421b08480e098facd8da35451495a3440be56a2280705", kill_on_drop: false }` [INFO] [stdout] ef83899afd0ab3ca25e421b08480e098facd8da35451495a3440be56a2280705 [INFO] checking onyx-language/onyx against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fonyx-language%2Fonyx" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/onyx-language/onyx on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/onyx-language/onyx [INFO] finished tweaking git repo https://github.com/onyx-language/onyx [INFO] tweaked toml for git repo https://github.com/onyx-language/onyx written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/onyx-language/onyx 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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0c9b9a2675f46cd671a53c83ac2bedef5d13d0286971753356e1f3c3c118e621 [INFO] running `Command { std: "docker" "start" "-a" "0c9b9a2675f46cd671a53c83ac2bedef5d13d0286971753356e1f3c3c118e621", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0c9b9a2675f46cd671a53c83ac2bedef5d13d0286971753356e1f3c3c118e621", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c9b9a2675f46cd671a53c83ac2bedef5d13d0286971753356e1f3c3c118e621", kill_on_drop: false }` [INFO] [stdout] 0c9b9a2675f46cd671a53c83ac2bedef5d13d0286971753356e1f3c3c118e621 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d658819a46a5490a11d79477c38be5559c48b7adee8c74f4d9daa7dc32a4aa6a [INFO] running `Command { std: "docker" "start" "-a" "d658819a46a5490a11d79477c38be5559c48b7adee8c74f4d9daa7dc32a4aa6a", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking onyx v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `typechecker::CheckedExpression` [INFO] [stdout] --> src/parser.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | error::OnyxError, typechecker::CheckedExpression [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/typechecker.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, fmt::format}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `typechecker::CheckedExpression` [INFO] [stdout] --> src/parser.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | error::OnyxError, typechecker::CheckedExpression [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::format` [INFO] [stdout] --> src/typechecker.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, fmt::format}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/typechecker.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/typechecker.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 259 | ParsedFirstClassStatement::Function(function) => { [INFO] [stdout] | --------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 287 | ParsedFirstClassStatement::Enum(enum_) => { [INFO] [stdout] | -------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 319 | ParsedFirstClassStatement::Class(class) => { [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 392 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/typechecker.rs:263:25 [INFO] [stdout] | [INFO] [stdout] 263 | let mut checked_parameter: CheckedParameter = CheckedParameter { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:568:41 [INFO] [stdout] | [INFO] [stdout] 568 | CheckedExpression::Integer8(integer, _) => Ok(Type::I8), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:569:42 [INFO] [stdout] | [INFO] [stdout] 569 | CheckedExpression::Integer16(integer, _) => Ok(Type::I16), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:570:42 [INFO] [stdout] | [INFO] [stdout] 570 | CheckedExpression::Integer32(integer, _) => Ok(Type::I32), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:571:42 [INFO] [stdout] | [INFO] [stdout] 571 | CheckedExpression::Integer64(integer, _) => Ok(Type::I64), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:572:49 [INFO] [stdout] | [INFO] [stdout] 572 | CheckedExpression::UnsignedInteger8(integer, _) => Ok(Type::U8), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:573:50 [INFO] [stdout] | [INFO] [stdout] 573 | CheckedExpression::UnsignedInteger16(integer, _) => Ok(Type::U16), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:574:50 [INFO] [stdout] | [INFO] [stdout] 574 | CheckedExpression::UnsignedInteger32(integer, _) => Ok(Type::U32), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:575:50 [INFO] [stdout] | [INFO] [stdout] 575 | CheckedExpression::UnsignedInteger64(integer, _) => Ok(Type::U64), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/typechecker.rs:576:40 [INFO] [stdout] | [INFO] [stdout] 576 | CheckedExpression::Float32(float, _) => Ok(Type::F32), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/typechecker.rs:577:40 [INFO] [stdout] | [INFO] [stdout] 577 | CheckedExpression::Float64(float, _) => Ok(Type::F64), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `character` [INFO] [stdout] --> src/typechecker.rs:578:37 [INFO] [stdout] | [INFO] [stdout] 578 | CheckedExpression::Char(character, _) => Ok(Type::Char), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boolean` [INFO] [stdout] --> src/typechecker.rs:579:37 [INFO] [stdout] | [INFO] [stdout] 579 | CheckedExpression::Bool(boolean, _) => Ok(Type::Bool), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> src/typechecker.rs:580:39 [INFO] [stdout] | [INFO] [stdout] 580 | CheckedExpression::String(string, _) => Ok(Type::Array(Box::new(Type::Char))), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/typechecker.rs:581:39 [INFO] [stdout] | [INFO] [stdout] 581 | CheckedExpression::Sizeof(t, _) => Ok(Type::Usize), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:103:26 [INFO] [stdout] | [INFO] [stdout] 103 | for (i, variant) in enum_.variants.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen.rs:105:55 [INFO] [stdout] | [INFO] [stdout] 105 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `types` [INFO] [stdout] --> src/codegen.rs:105:64 [INFO] [stdout] | [INFO] [stdout] 105 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:119:50 [INFO] [stdout] | [INFO] [stdout] 119 | ... for (i, parameter) in enum_.generic_parameters.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:137:38 [INFO] [stdout] | [INFO] [stdout] 137 | ... for (i, field) in fields.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen.rs:165:55 [INFO] [stdout] | [INFO] [stdout] 165 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/typechecker.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/typechecker.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 259 | ParsedFirstClassStatement::Function(function) => { [INFO] [stdout] | --------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 287 | ParsedFirstClassStatement::Enum(enum_) => { [INFO] [stdout] | -------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 319 | ParsedFirstClassStatement::Class(class) => { [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 392 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/codegen.rs:506:33 [INFO] [stdout] | [INFO] [stdout] 506 | fn codegen_block(&mut self, block: CheckedBlock) -> Result<(), OnyxError> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/typechecker.rs:263:25 [INFO] [stdout] | [INFO] [stdout] 263 | let mut checked_parameter: CheckedParameter = CheckedParameter { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:568:41 [INFO] [stdout] | [INFO] [stdout] 568 | CheckedExpression::Integer8(integer, _) => Ok(Type::I8), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:569:42 [INFO] [stdout] | [INFO] [stdout] 569 | CheckedExpression::Integer16(integer, _) => Ok(Type::I16), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:570:42 [INFO] [stdout] | [INFO] [stdout] 570 | CheckedExpression::Integer32(integer, _) => Ok(Type::I32), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:571:42 [INFO] [stdout] | [INFO] [stdout] 571 | CheckedExpression::Integer64(integer, _) => Ok(Type::I64), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:572:49 [INFO] [stdout] | [INFO] [stdout] 572 | CheckedExpression::UnsignedInteger8(integer, _) => Ok(Type::U8), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:573:50 [INFO] [stdout] | [INFO] [stdout] 573 | CheckedExpression::UnsignedInteger16(integer, _) => Ok(Type::U16), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:574:50 [INFO] [stdout] | [INFO] [stdout] 574 | CheckedExpression::UnsignedInteger32(integer, _) => Ok(Type::U32), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `integer` [INFO] [stdout] --> src/typechecker.rs:575:50 [INFO] [stdout] | [INFO] [stdout] 575 | CheckedExpression::UnsignedInteger64(integer, _) => Ok(Type::U64), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_integer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/typechecker.rs:576:40 [INFO] [stdout] | [INFO] [stdout] 576 | CheckedExpression::Float32(float, _) => Ok(Type::F32), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `float` [INFO] [stdout] --> src/typechecker.rs:577:40 [INFO] [stdout] | [INFO] [stdout] 577 | CheckedExpression::Float64(float, _) => Ok(Type::F64), [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_float` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `character` [INFO] [stdout] --> src/typechecker.rs:578:37 [INFO] [stdout] | [INFO] [stdout] 578 | CheckedExpression::Char(character, _) => Ok(Type::Char), [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boolean` [INFO] [stdout] --> src/typechecker.rs:579:37 [INFO] [stdout] | [INFO] [stdout] 579 | CheckedExpression::Bool(boolean, _) => Ok(Type::Bool), [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boolean` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `string` [INFO] [stdout] --> src/typechecker.rs:580:39 [INFO] [stdout] | [INFO] [stdout] 580 | CheckedExpression::String(string, _) => Ok(Type::Array(Box::new(Type::Char))), [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/typechecker.rs:581:39 [INFO] [stdout] | [INFO] [stdout] 581 | CheckedExpression::Sizeof(t, _) => Ok(Type::Usize), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/error.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 125 | fn from(error: std::io::Error) -> Self { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 126 | OnyxError::IOError(std::rc::Rc::new(error)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:300:12 [INFO] [stdout] | [INFO] [stdout] 292 | let mut variants: Vec = vec![]; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 300 | Ok(ParsedFirstClassStatement::Enum(ParsedEnum { [INFO] [stdout] | ____________^ [INFO] [stdout] 301 | | name, [INFO] [stdout] 302 | | generic_parameters, [INFO] [stdout] 303 | | variants, [INFO] [stdout] 304 | | is_boxed, [INFO] [stdout] 305 | | span: current_token.span(), [INFO] [stdout] 306 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:364:12 [INFO] [stdout] | [INFO] [stdout] 314 | let mut parameters: Vec = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 338 | let mut return_type: ParsedType = ParsedType::Empty(self.span()); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 343 | let mut body: ParsedBody = ParsedBody::Empty; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 364 | Ok(ParsedFirstClassStatement::Function(ParsedFunction { [INFO] [stdout] | ____________^ [INFO] [stdout] 365 | | name, [INFO] [stdout] 366 | | name_span, [INFO] [stdout] 367 | | generic_parameters, [INFO] [stdout] ... | [INFO] [stdout] 370 | | body [INFO] [stdout] 371 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `onyx` (lib test) due to 13 previous errors; 25 warnings emitted [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:448:12 [INFO] [stdout] | [INFO] [stdout] 386 | let mut fields: Vec = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 387 | let mut methods: Vec = vec![]; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 448 | Ok(ParsedFirstClassStatement::Class(ParsedClass { [INFO] [stdout] | ____________^ [INFO] [stdout] 449 | | name, [INFO] [stdout] 450 | | name_span, [INFO] [stdout] 451 | | generic_parameters, [INFO] [stdout] ... | [INFO] [stdout] 455 | | methods [INFO] [stdout] 456 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:497:12 [INFO] [stdout] | [INFO] [stdout] 487 | let mut parameter_type: ParsedType = ParsedType::Empty(name_span.clone()); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 492 | let mut initializer: Option = None; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 497 | Ok(ParsedParameter { [INFO] [stdout] | ____________^ [INFO] [stdout] 498 | | name, [INFO] [stdout] 499 | | name_span, [INFO] [stdout] 500 | | parameter_type, [INFO] [stdout] 501 | | initializer, [INFO] [stdout] 502 | | is_named [INFO] [stdout] 503 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:571:12 [INFO] [stdout] | [INFO] [stdout] 560 | let mut var_type: ParsedType = ParsedType::Empty(self.span()); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 565 | let mut expression: Option = None; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 571 | Ok(ParsedStatement::VariableDeclaration(ParsedVariableDeclaration { [INFO] [stdout] | ____________^ [INFO] [stdout] 572 | | name, [INFO] [stdout] 573 | | var_type, [INFO] [stdout] 574 | | initializer: expression, [INFO] [stdout] 575 | | mutable, [INFO] [stdout] 576 | | span: current_token.span(), [INFO] [stdout] 577 | | })) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:587:12 [INFO] [stdout] | [INFO] [stdout] 582 | let mut expression: Option = None; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 587 | Ok(ParsedStatement::Return(expression, span)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 592 | let body: ParsedBody; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 610 | Ok(ParsedStatement::Defer(body, span)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typechecker.rs:231:18 [INFO] [stdout] | [INFO] [stdout] 227 | let mut scopes: HashMap = HashMap::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 228 | scopes.insert(0, Scope::new(None)); [INFO] [stdout] 229 | let current_scope: Scope = scopes.get(&(0 as usize)).unwrap().clone(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 230 | Self { [INFO] [stdout] 231 | ast: ast.clone(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:103:26 [INFO] [stdout] | [INFO] [stdout] 103 | for (i, variant) in enum_.variants.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typechecker.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 239 | let mut statements: Vec = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 240 | let mut errors: Vec = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 255 | Ok(CheckedAST { statements }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen.rs:105:55 [INFO] [stdout] | [INFO] [stdout] 105 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `types` [INFO] [stdout] --> src/codegen.rs:105:64 [INFO] [stdout] | [INFO] [stdout] 105 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:119:50 [INFO] [stdout] | [INFO] [stdout] 119 | ... for (i, parameter) in enum_.generic_parameters.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/codegen.rs:137:38 [INFO] [stdout] | [INFO] [stdout] 137 | ... for (i, field) in fields.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typechecker.rs:567:15 [INFO] [stdout] | [INFO] [stdout] 566 | fn get_expected_type_from_checked_expression(&mut self, expression: CheckedExpression) -> Result { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 567 | match expression.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen.rs:165:55 [INFO] [stdout] | [INFO] [stdout] 165 | ... CheckedEnumVariant::Tuple(name, _, types) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/codegen.rs:585:15 [INFO] [stdout] | [INFO] [stdout] 584 | fn codegen_type_to_string(&mut self, t: Type) -> Result { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 585 | match t.clone() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 12 previous errors; 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/codegen.rs:506:33 [INFO] [stdout] | [INFO] [stdout] 506 | fn codegen_block(&mut self, block: CheckedBlock) -> Result<(), OnyxError> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/error.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 125 | fn from(error: std::io::Error) -> Self { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 126 | OnyxError::IOError(std::rc::Rc::new(error)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:300:12 [INFO] [stdout] | [INFO] [stdout] 292 | let mut variants: Vec = vec![]; [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 300 | Ok(ParsedFirstClassStatement::Enum(ParsedEnum { [INFO] [stdout] | ____________^ [INFO] [stdout] 301 | | name, [INFO] [stdout] 302 | | generic_parameters, [INFO] [stdout] 303 | | variants, [INFO] [stdout] 304 | | is_boxed, [INFO] [stdout] 305 | | span: current_token.span(), [INFO] [stdout] 306 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:364:12 [INFO] [stdout] | [INFO] [stdout] 314 | let mut parameters: Vec = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 338 | let mut return_type: ParsedType = ParsedType::Empty(self.span()); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 343 | let mut body: ParsedBody = ParsedBody::Empty; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 364 | Ok(ParsedFirstClassStatement::Function(ParsedFunction { [INFO] [stdout] | ____________^ [INFO] [stdout] 365 | | name, [INFO] [stdout] 366 | | name_span, [INFO] [stdout] 367 | | generic_parameters, [INFO] [stdout] ... | [INFO] [stdout] 370 | | body [INFO] [stdout] 371 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:448:12 [INFO] [stdout] | [INFO] [stdout] 386 | let mut fields: Vec = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 387 | let mut methods: Vec = vec![]; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 448 | Ok(ParsedFirstClassStatement::Class(ParsedClass { [INFO] [stdout] | ____________^ [INFO] [stdout] 449 | | name, [INFO] [stdout] 450 | | name_span, [INFO] [stdout] 451 | | generic_parameters, [INFO] [stdout] ... | [INFO] [stdout] 455 | | methods [INFO] [stdout] 456 | | })) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:497:12 [INFO] [stdout] | [INFO] [stdout] 487 | let mut parameter_type: ParsedType = ParsedType::Empty(name_span.clone()); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 492 | let mut initializer: Option = None; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 497 | Ok(ParsedParameter { [INFO] [stdout] | ____________^ [INFO] [stdout] 498 | | name, [INFO] [stdout] 499 | | name_span, [INFO] [stdout] 500 | | parameter_type, [INFO] [stdout] 501 | | initializer, [INFO] [stdout] 502 | | is_named [INFO] [stdout] 503 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:571:12 [INFO] [stdout] | [INFO] [stdout] 560 | let mut var_type: ParsedType = ParsedType::Empty(self.span()); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 565 | let mut expression: Option = None; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 571 | Ok(ParsedStatement::VariableDeclaration(ParsedVariableDeclaration { [INFO] [stdout] | ____________^ [INFO] [stdout] 572 | | name, [INFO] [stdout] 573 | | var_type, [INFO] [stdout] 574 | | initializer: expression, [INFO] [stdout] 575 | | mutable, [INFO] [stdout] 576 | | span: current_token.span(), [INFO] [stdout] 577 | | })) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |__________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:587:12 [INFO] [stdout] | [INFO] [stdout] 582 | let mut expression: Option = None; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 587 | Ok(ParsedStatement::Return(expression, span)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 592 | let body: ParsedBody; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 610 | Ok(ParsedStatement::Defer(body, span)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typechecker.rs:231:18 [INFO] [stdout] | [INFO] [stdout] 227 | let mut scopes: HashMap = HashMap::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 228 | scopes.insert(0, Scope::new(None)); [INFO] [stdout] 229 | let current_scope: Scope = scopes.get(&(0 as usize)).unwrap().clone(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 230 | Self { [INFO] [stdout] 231 | ast: ast.clone(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typechecker.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 239 | let mut statements: Vec = vec![]; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 240 | let mut errors: Vec = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 255 | Ok(CheckedAST { statements }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typechecker.rs:567:15 [INFO] [stdout] | [INFO] [stdout] 566 | fn get_expected_type_from_checked_expression(&mut self, expression: CheckedExpression) -> Result { [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 567 | match expression.clone() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/codegen.rs:585:15 [INFO] [stdout] | [INFO] [stdout] 584 | fn codegen_type_to_string(&mut self, t: Type) -> Result { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 585 | match t.clone() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 12 previous errors; 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `onyx` (lib) due to 13 previous errors; 25 warnings emitted [INFO] running `Command { std: "docker" "inspect" "d658819a46a5490a11d79477c38be5559c48b7adee8c74f4d9daa7dc32a4aa6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d658819a46a5490a11d79477c38be5559c48b7adee8c74f4d9daa7dc32a4aa6a", kill_on_drop: false }` [INFO] [stdout] d658819a46a5490a11d79477c38be5559c48b7adee8c74f4d9daa7dc32a4aa6a