[INFO] cloning repository https://github.com/wongjiahau/system-ct [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wongjiahau/system-ct" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwongjiahau%2Fsystem-ct", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwongjiahau%2Fsystem-ct'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3ab19acf215d93de79a087d8684b8769659c2eb9 [INFO] checking wongjiahau/system-ct against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwongjiahau%2Fsystem-ct" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wongjiahau/system-ct 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/wongjiahau/system-ct [INFO] finished tweaking git repo https://github.com/wongjiahau/system-ct [INFO] tweaked toml for git repo https://github.com/wongjiahau/system-ct written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/wongjiahau/system-ct 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] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded either v1.7.0 [INFO] [stderr] Downloaded archery v0.4.0 [INFO] [stderr] Downloaded rpds v0.11.0 [INFO] [stderr] Downloaded array_tool v1.0.3 [INFO] [stderr] Downloaded itertools v0.10.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 1ea329c36e68b06677076520cf52171a98a82897942bb92c9733504eb871d3dd [INFO] running `Command { std: "docker" "start" "-a" "1ea329c36e68b06677076520cf52171a98a82897942bb92c9733504eb871d3dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1ea329c36e68b06677076520cf52171a98a82897942bb92c9733504eb871d3dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ea329c36e68b06677076520cf52171a98a82897942bb92c9733504eb871d3dd", kill_on_drop: false }` [INFO] [stdout] 1ea329c36e68b06677076520cf52171a98a82897942bb92c9733504eb871d3dd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 247f53402f640762173d47c0962d7043b3cb46079e60b5afe510eb651069abaf [INFO] running `Command { std: "docker" "start" "-a" "247f53402f640762173d47c0962d7043b3cb46079e60b5afe510eb651069abaf", kill_on_drop: false }` [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking either v1.7.0 [INFO] [stderr] Checking array_tool v1.0.3 [INFO] [stderr] Checking archery v0.4.0 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking rpds v0.11.0 [INFO] [stderr] Checking system-ct v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `borrow::Borrow` and `fmt::format` [INFO] [stdout] --> src/infer.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{borrow::Borrow, fmt::format, ops}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `State` [INFO] [stdout] --> src/main.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::infer::{ppc, State, Term, TypingEnvironment}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::Borrow` and `fmt::format` [INFO] [stdout] --> src/infer.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{borrow::Borrow, fmt::format, ops}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `State` [INFO] [stdout] --> src/main.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::infer::{ppc, State, Term, TypingEnvironment}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/infer.rs:369:39 [INFO] [stdout] | [INFO] [stdout] 369 | TypeKind::TypeConstructor(c) => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/infer.rs:369:39 [INFO] [stdout] | [INFO] [stdout] 369 | TypeKind::TypeConstructor(c) => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Type` is more private than the item `InferError::CannotBeOverloaded::r#type` [INFO] [stdout] --> src/infer.rs:1352:9 [INFO] [stdout] | [INFO] [stdout] 1352 | r#type: Type, [INFO] [stdout] | ^^^^^^^^^^^^ field `InferError::CannotBeOverloaded::r#type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Type` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/infer.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | struct Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Type` is more private than the item `InferError::CannotBeOverloaded::existing_types` [INFO] [stdout] --> src/infer.rs:1353:9 [INFO] [stdout] | [INFO] [stdout] 1353 | existing_types: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ field `InferError::CannotBeOverloaded::existing_types` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Type` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/infer.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | struct Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/infer.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Int(isize), [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Term` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 | Int(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Bool`, `Var`, `Lambda`, `Application`, and `Let` are never constructed [INFO] [stdout] --> src/infer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Term { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 8 | Int(isize), [INFO] [stdout] 9 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | /// x [INFO] [stdout] 12 | Var { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Lambda { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | Application { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Let { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Term` 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: function `var` is never used [INFO] [stdout] --> src/infer.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn var(name: &str) -> Term { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `app` is never used [INFO] [stdout] --> src/infer.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn app(function: Term, argument: Term) -> Term { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_app` is never used [INFO] [stdout] --> src/infer.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn binary_app(argument1: Term, function: Term, argument2: Term) -> Term { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_simple_type` is never used [INFO] [stdout] --> src/infer.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 184 | impl Type { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 238 | fn new_simple_type(simple_type: SimpleType) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print`, `alpha_conversion`, and `applied_by` are never used [INFO] [stdout] --> src/infer.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 249 | impl ConstrainedType { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 269 | fn print(&self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn alpha_conversion(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn applied_by(&self, substitutions: &Substitutions) -> ConstrainedType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_type` is never used [INFO] [stdout] --> src/infer.rs:398:8 [INFO] [stdout] | [INFO] [stdout] 319 | impl SimpleType { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 398 | fn as_type(self) -> Type { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/infer.rs:479:8 [INFO] [stdout] | [INFO] [stdout] 478 | impl TypingEnvElement { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 479 | fn new(name: String, r#type: Type) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_vector` is never used [INFO] [stdout] --> src/infer.rs:1228:8 [INFO] [stdout] | [INFO] [stdout] 1227 | impl Substitutions { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 1228 | fn from_vector(substitutions: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `character` is never used [INFO] [stdout] --> src/infer.rs:1606:4 [INFO] [stdout] | [INFO] [stdout] 1606 | fn character() -> SimpleType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ppc(Term::Int(0), &TypingEnvironment::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 6 | let _ = ppc(Term::Int(0), &TypingEnvironment::new()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/infer.rs:640:5 [INFO] [stdout] | [INFO] [stdout] 640 | A: &TypingEnvironment, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/infer.rs:648:5 [INFO] [stdout] | [INFO] [stdout] 648 | A: &TypingEnvironment, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Type` instead of cloning the inner type [INFO] [stdout] --> src/infer.rs:703:43 [INFO] [stdout] | [INFO] [stdout] 703 | ... r#type: scheme.clone().clone(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_prime` should have a snake case name [INFO] [stdout] --> src/infer.rs:914:17 [INFO] [stdout] | [INFO] [stdout] 914 | let A_prime = A.add_entry( [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/infer.rs:993:5 [INFO] [stdout] | [INFO] [stdout] 993 | T: Vec, [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Unify` should have a snake case name [INFO] [stdout] --> src/infer.rs:1374:4 [INFO] [stdout] | [INFO] [stdout] 1374 | fn Unify( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `unify` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `infer::Type` is more private than the item `infer::InferError::CannotBeOverloaded::r#type` [INFO] [stdout] --> src/infer.rs:1352:9 [INFO] [stdout] | [INFO] [stdout] 1352 | r#type: Type, [INFO] [stdout] | ^^^^^^^^^^^^ field `infer::InferError::CannotBeOverloaded::r#type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `infer::Type` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/infer.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | struct Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `infer::Type` is more private than the item `infer::InferError::CannotBeOverloaded::existing_types` [INFO] [stdout] --> src/infer.rs:1353:9 [INFO] [stdout] | [INFO] [stdout] 1353 | existing_types: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ field `infer::InferError::CannotBeOverloaded::existing_types` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `infer::Type` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/infer.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | struct Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/infer.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Int(isize), [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Term` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 | Int(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/infer.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | Float(f64), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Term` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 | Float(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/infer.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Term` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 | Bool(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ppc(Term::Int(0), &TypingEnvironment::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 6 | let _ = ppc(Term::Int(0), &TypingEnvironment::new()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/infer.rs:640:5 [INFO] [stdout] | [INFO] [stdout] 640 | A: &TypingEnvironment, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/infer.rs:648:5 [INFO] [stdout] | [INFO] [stdout] 648 | A: &TypingEnvironment, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&infer::Type` instead of cloning the inner type [INFO] [stdout] --> src/infer.rs:703:43 [INFO] [stdout] | [INFO] [stdout] 703 | ... r#type: scheme.clone().clone(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_prime` should have a snake case name [INFO] [stdout] --> src/infer.rs:914:17 [INFO] [stdout] | [INFO] [stdout] 914 | let A_prime = A.add_entry( [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/infer.rs:993:5 [INFO] [stdout] | [INFO] [stdout] 993 | T: Vec, [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `Unify` should have a snake case name [INFO] [stdout] --> src/infer.rs:1374:4 [INFO] [stdout] | [INFO] [stdout] 1374 | fn Unify( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `unify` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.17s [INFO] running `Command { std: "docker" "inspect" "247f53402f640762173d47c0962d7043b3cb46079e60b5afe510eb651069abaf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "247f53402f640762173d47c0962d7043b3cb46079e60b5afe510eb651069abaf", kill_on_drop: false }` [INFO] [stdout] 247f53402f640762173d47c0962d7043b3cb46079e60b5afe510eb651069abaf [INFO] checking wongjiahau/system-ct 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%2Fwongjiahau%2Fsystem-ct" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wongjiahau/system-ct 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/wongjiahau/system-ct [INFO] finished tweaking git repo https://github.com/wongjiahau/system-ct [INFO] tweaked toml for git repo https://github.com/wongjiahau/system-ct written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/wongjiahau/system-ct 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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] bcd041bf2e856e4d32b7c47f318e1f84305fee52e5e8a7dbcace591c316f3755 [INFO] running `Command { std: "docker" "start" "-a" "bcd041bf2e856e4d32b7c47f318e1f84305fee52e5e8a7dbcace591c316f3755", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bcd041bf2e856e4d32b7c47f318e1f84305fee52e5e8a7dbcace591c316f3755", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bcd041bf2e856e4d32b7c47f318e1f84305fee52e5e8a7dbcace591c316f3755", kill_on_drop: false }` [INFO] [stdout] bcd041bf2e856e4d32b7c47f318e1f84305fee52e5e8a7dbcace591c316f3755 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] ff9e0c63fe2e393a2a8bbd3f5bbc8407276ded7c7bda51a04d26ca0caa4ab44d [INFO] running `Command { std: "docker" "start" "-a" "ff9e0c63fe2e393a2a8bbd3f5bbc8407276ded7c7bda51a04d26ca0caa4ab44d", kill_on_drop: false }` [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking either v1.7.0 [INFO] [stderr] Checking array_tool v1.0.3 [INFO] [stderr] Checking archery v0.4.0 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking rpds v0.11.0 [INFO] [stderr] Checking system-ct v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `borrow::Borrow` and `fmt::format` [INFO] [stdout] --> src/infer.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{borrow::Borrow, fmt::format, ops}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `State` [INFO] [stdout] --> src/main.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::infer::{ppc, State, Term, TypingEnvironment}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `borrow::Borrow` and `fmt::format` [INFO] [stdout] --> src/infer.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{borrow::Borrow, fmt::format, ops}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `State` [INFO] [stdout] --> src/main.rs:3:25 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::infer::{ppc, State, Term, TypingEnvironment}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/infer.rs:369:39 [INFO] [stdout] | [INFO] [stdout] 369 | TypeKind::TypeConstructor(c) => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/infer.rs:369:39 [INFO] [stdout] | [INFO] [stdout] 369 | TypeKind::TypeConstructor(c) => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Type` is more private than the item `InferError::CannotBeOverloaded::r#type` [INFO] [stdout] --> src/infer.rs:1352:9 [INFO] [stdout] | [INFO] [stdout] 1352 | r#type: Type, [INFO] [stdout] | ^^^^^^^^^^^^ field `InferError::CannotBeOverloaded::r#type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Type` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/infer.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | struct Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Type` is more private than the item `InferError::CannotBeOverloaded::existing_types` [INFO] [stdout] --> src/infer.rs:1353:9 [INFO] [stdout] | [INFO] [stdout] 1353 | existing_types: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ field `InferError::CannotBeOverloaded::existing_types` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Type` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/infer.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | struct Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/infer.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Int(isize), [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Term` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 | Int(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Float`, `Bool`, `Var`, `Lambda`, `Application`, and `Let` are never constructed [INFO] [stdout] --> src/infer.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Term { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 8 | Int(isize), [INFO] [stdout] 9 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | /// x [INFO] [stdout] 12 | Var { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | Lambda { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | Application { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | Let { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Term` 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: function `var` is never used [INFO] [stdout] --> src/infer.rs:33:4 [INFO] [stdout] | [INFO] [stdout] 33 | fn var(name: &str) -> Term { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `app` is never used [INFO] [stdout] --> src/infer.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn app(function: Term, argument: Term) -> Term { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `binary_app` is never used [INFO] [stdout] --> src/infer.rs:46:4 [INFO] [stdout] | [INFO] [stdout] 46 | fn binary_app(argument1: Term, function: Term, argument2: Term) -> Term { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new_simple_type` is never used [INFO] [stdout] --> src/infer.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 184 | impl Type { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 238 | fn new_simple_type(simple_type: SimpleType) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `print`, `alpha_conversion`, and `applied_by` are never used [INFO] [stdout] --> src/infer.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 249 | impl ConstrainedType { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 269 | fn print(&self) -> String { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn alpha_conversion(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn applied_by(&self, substitutions: &Substitutions) -> ConstrainedType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_type` is never used [INFO] [stdout] --> src/infer.rs:398:8 [INFO] [stdout] | [INFO] [stdout] 319 | impl SimpleType { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 398 | fn as_type(self) -> Type { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/infer.rs:479:8 [INFO] [stdout] | [INFO] [stdout] 478 | impl TypingEnvElement { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 479 | fn new(name: String, r#type: Type) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_vector` is never used [INFO] [stdout] --> src/infer.rs:1228:8 [INFO] [stdout] | [INFO] [stdout] 1227 | impl Substitutions { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 1228 | fn from_vector(substitutions: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `character` is never used [INFO] [stdout] --> src/infer.rs:1606:4 [INFO] [stdout] | [INFO] [stdout] 1606 | fn character() -> SimpleType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ppc(Term::Int(0), &TypingEnvironment::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 6 | let _ = ppc(Term::Int(0), &TypingEnvironment::new()); [INFO] [stdout] | +++++++ [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/infer.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 39 | fn app(function: Term, argument: Term) -> Term { [INFO] [stdout] | -------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 40 | Term::Application { [INFO] [stdout] 41 | function: Box::new(function), [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/infer.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 39 | fn app(function: Term, argument: Term) -> Term { [INFO] [stdout] | -------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 42 | argument: Box::new(argument), [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/infer.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | fn binary_app(argument1: Term, function: Term, argument2: Term) -> Term { [INFO] [stdout] | --------------- -------------- --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] 47 | app(app(function, argument1), argument2) [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/infer.rs:466:23 [INFO] [stdout] | [INFO] [stdout] 464 | fn add_entry(&self, name: String, entry: TypingEntry) -> TypingEnvironment { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 465 | TypingEnvironment { [INFO] [stdout] 466 | elements: self.elements.insert(TypingEnvElement { name, entry }), [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: variable `A` should have a snake case name [INFO] [stdout] --> src/infer.rs:640:5 [INFO] [stdout] | [INFO] [stdout] 640 | A: &TypingEnvironment, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/infer.rs:648:5 [INFO] [stdout] | [INFO] [stdout] 648 | A: &TypingEnvironment, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Type` instead of cloning the inner type [INFO] [stdout] --> src/infer.rs:703:43 [INFO] [stdout] | [INFO] [stdout] 703 | ... r#type: scheme.clone().clone(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_prime` should have a snake case name [INFO] [stdout] --> src/infer.rs:914:17 [INFO] [stdout] | [INFO] [stdout] 914 | let A_prime = A.add_entry( [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/infer.rs:993:5 [INFO] [stdout] | [INFO] [stdout] 993 | T: Vec, [INFO] [stdout] | ^ help: convert the identifier to snake case: `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/infer.rs:1207:21 [INFO] [stdout] | [INFO] [stdout] 1202 | .flat_map(|si| { [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1203 | let sijs = sat( [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1207 | / sijs.into_iter() [INFO] [stdout] 1208 | | .map(|sij| sij.compose(&si)) [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: function `Unify` should have a snake case name [INFO] [stdout] --> src/infer.rs:1374:4 [INFO] [stdout] | [INFO] [stdout] 1374 | fn Unify( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `unify` [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/infer.rs:1667:51 [INFO] [stdout] | [INFO] [stdout] 1667 | |result, entry| result.union(&entry.context.substitute_type(&name, &x_prime)), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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/infer.rs:2658:23 [INFO] [stdout] | [INFO] [stdout] 2657 | let xs: HashSet = HashSet::from_iter(self.0.clone().into_iter()); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 2658 | xs.is_subset(&HashSet::from_iter(v.0.clone().into_iter())) [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 7 previous errors; 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `system-ct` (bin "system-ct") due to 8 previous errors; 23 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: type `infer::Type` is more private than the item `infer::InferError::CannotBeOverloaded::r#type` [INFO] [stdout] --> src/infer.rs:1352:9 [INFO] [stdout] | [INFO] [stdout] 1352 | r#type: Type, [INFO] [stdout] | ^^^^^^^^^^^^ field `infer::InferError::CannotBeOverloaded::r#type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `infer::Type` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/infer.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | struct Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `infer::Type` is more private than the item `infer::InferError::CannotBeOverloaded::existing_types` [INFO] [stdout] --> src/infer.rs:1353:9 [INFO] [stdout] | [INFO] [stdout] 1353 | existing_types: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ field `infer::InferError::CannotBeOverloaded::existing_types` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `infer::Type` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/infer.rs:178:1 [INFO] [stdout] | [INFO] [stdout] 178 | struct Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/infer.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | Int(isize), [INFO] [stdout] | --- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Term` 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] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 | Int(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/infer.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | Float(f64), [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Term` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 | Float(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/infer.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | Bool(bool), [INFO] [stdout] | ---- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Term` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 | Bool(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ppc(Term::Int(0), &TypingEnvironment::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 6 | let _ = ppc(Term::Int(0), &TypingEnvironment::new()); [INFO] [stdout] | +++++++ [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/infer.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 39 | fn app(function: Term, argument: Term) -> Term { [INFO] [stdout] | -------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 40 | Term::Application { [INFO] [stdout] 41 | function: Box::new(function), [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/infer.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 39 | fn app(function: Term, argument: Term) -> Term { [INFO] [stdout] | -------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 42 | argument: Box::new(argument), [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/infer.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 46 | fn binary_app(argument1: Term, function: Term, argument2: Term) -> Term { [INFO] [stdout] | --------------- -------------- --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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] 47 | app(app(function, argument1), argument2) [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/infer.rs:466:23 [INFO] [stdout] | [INFO] [stdout] 464 | fn add_entry(&self, name: String, entry: TypingEntry) -> TypingEnvironment { [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 465 | TypingEnvironment { [INFO] [stdout] 466 | elements: self.elements.insert(TypingEnvElement { name, entry }), [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: variable `A` should have a snake case name [INFO] [stdout] --> src/infer.rs:640:5 [INFO] [stdout] | [INFO] [stdout] 640 | A: &TypingEnvironment, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A` should have a snake case name [INFO] [stdout] --> src/infer.rs:648:5 [INFO] [stdout] | [INFO] [stdout] 648 | A: &TypingEnvironment, [INFO] [stdout] | ^ help: convert the identifier to snake case: `a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&infer::Type` instead of cloning the inner type [INFO] [stdout] --> src/infer.rs:703:43 [INFO] [stdout] | [INFO] [stdout] 703 | ... r#type: scheme.clone().clone(), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `A_prime` should have a snake case name [INFO] [stdout] --> src/infer.rs:914:17 [INFO] [stdout] | [INFO] [stdout] 914 | let A_prime = A.add_entry( [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `a_prime` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/infer.rs:993:5 [INFO] [stdout] | [INFO] [stdout] 993 | T: Vec, [INFO] [stdout] | ^ help: convert the identifier to snake case: `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/infer.rs:1207:21 [INFO] [stdout] | [INFO] [stdout] 1202 | .flat_map(|si| { [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1203 | let sijs = sat( [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1207 | / sijs.into_iter() [INFO] [stdout] 1208 | | .map(|sij| sij.compose(&si)) [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: function `Unify` should have a snake case name [INFO] [stdout] --> src/infer.rs:1374:4 [INFO] [stdout] | [INFO] [stdout] 1374 | fn Unify( [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `unify` [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/infer.rs:1667:51 [INFO] [stdout] | [INFO] [stdout] 1667 | |result, entry| result.union(&entry.context.substitute_type(&name, &x_prime)), [INFO] [stdout] | ------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [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/infer.rs:2658:23 [INFO] [stdout] | [INFO] [stdout] 2657 | let xs: HashSet = HashSet::from_iter(self.0.clone().into_iter()); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 2658 | xs.is_subset(&HashSet::from_iter(v.0.clone().into_iter())) [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/infer.rs:2136:13 [INFO] [stdout] | [INFO] [stdout] 2117 | let term = Term::Let { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2124 | let env = TypingEnvironment { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2136 | ppc(term, &env).unwrap().0, [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/infer.rs:2248:13 [INFO] [stdout] | [INFO] [stdout] 2213 | let env = TypingEnvironment { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2224 | let term = Term::Lambda { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2248 | ppc(term, &env).unwrap().0.alpha_conversion().print(), [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/infer.rs:2557:20 [INFO] [stdout] | [INFO] [stdout] 2493 | let env = TypingEnvironment { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2526 | let term1 = binary_app( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2546 | let term2 = binary_app( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2557 | assert_eq!(ppc(term2, &env), Err(InferError::Ambiguous)) [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/infer.rs:2557:38 [INFO] [stdout] | [INFO] [stdout] 2493 | let env = TypingEnvironment { [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2526 | let term1 = binary_app( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2546 | let term2 = binary_app( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 2557 | assert_eq!(ppc(term2, &env), Err(InferError::Ambiguous)) [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 11 previous errors; 15 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `system-ct` (bin "system-ct" test) due to 12 previous errors; 15 warnings emitted [INFO] running `Command { std: "docker" "inspect" "ff9e0c63fe2e393a2a8bbd3f5bbc8407276ded7c7bda51a04d26ca0caa4ab44d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff9e0c63fe2e393a2a8bbd3f5bbc8407276ded7c7bda51a04d26ca0caa4ab44d", kill_on_drop: false }` [INFO] [stdout] ff9e0c63fe2e393a2a8bbd3f5bbc8407276ded7c7bda51a04d26ca0caa4ab44d