[INFO] cloning repository https://github.com/dylanbraithwaite/cubical [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dylanbraithwaite/cubical" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdylanbraithwaite%2Fcubical", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdylanbraithwaite%2Fcubical'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 50cc6aae7ede9dbef9753fda2ca289359298a3cb [INFO] building dylanbraithwaite/cubical against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdylanbraithwaite%2Fcubical" "/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/dylanbraithwaite/cubical on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dylanbraithwaite/cubical [INFO] finished tweaking git repo https://github.com/dylanbraithwaite/cubical [INFO] tweaked toml for git repo https://github.com/dylanbraithwaite/cubical written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/dylanbraithwaite/cubical already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cons-list v0.0.3 [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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 29bf8bc551ad2622fefb00e6578906b0cd7a6d535584dfe77529c8709bb6fad6 [INFO] running `Command { std: "docker" "start" "-a" "29bf8bc551ad2622fefb00e6578906b0cd7a6d535584dfe77529c8709bb6fad6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "29bf8bc551ad2622fefb00e6578906b0cd7a6d535584dfe77529c8709bb6fad6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29bf8bc551ad2622fefb00e6578906b0cd7a6d535584dfe77529c8709bb6fad6", kill_on_drop: false }` [INFO] [stdout] 29bf8bc551ad2622fefb00e6578906b0cd7a6d535584dfe77529c8709bb6fad6 [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 -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7ecdaaece544005a32a6c09f925f260c7c0380cfd13b0e12915a1d452a9872f5 [INFO] running `Command { std: "docker" "start" "-a" "7ecdaaece544005a32a6c09f925f260c7c0380cfd13b0e12915a1d452a9872f5", kill_on_drop: false }` [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling cons-list v0.0.3 [INFO] [stderr] Compiling itertools v0.10.0 [INFO] [stderr] Compiling cubical v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | fn normalise(self, ctx: &Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:40:30 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:40:42 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:52:54 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | fn normalise(self, ctx: &Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:40:30 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:40:42 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:52:54 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | fn normalise(self, ctx: &Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:40:30 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:40:42 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:52:54 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expected`, `actual`, and `current_expr` are never read [INFO] [stdout] --> src/syntax/parser.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 43 | UnexpectedToken { [INFO] [stdout] | --------------- fields in this variant [INFO] [stdout] 44 | expected: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 45 | actual: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 46 | current_expr: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl GlueType { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(faces: FaceSystem, space: Term) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Glue { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(faces: FaceSystem, term: Term) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Unglue { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(faces: FaceSystem, term: Term) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `GlueType`, `Contr`, `Equiv`, `Pres`, `Glue`, and `Unglue` are never constructed [INFO] [stdout] --> src/ast/expr.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | GlueType(GlueType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | Contr(ContrElim), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 32 | Equiv(EquivElim), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | Pres(Pres), [INFO] [stdout] | ^^^^ [INFO] [stdout] 34 | Glue(Glue), [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | Unglue(Unglue), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/ast/expr.rs:281:12 [INFO] [stdout] | [INFO] [stdout] 222 | impl Expr { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn transp(space: Term, witness: Term) -> Expr { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn contr_prop(space: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn contr_elim(proof: Term, system: FaceSystem) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn sigma(left_type: Term, right_type: Term) -> Expr { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn pres(function: Term, face_system: FaceSystem, witness: Term) -> Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | fn equiv_prop_inner(source: Term, target:Term, func: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn equiv_prop(source: Term, target: Term, func: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 358 | pub fn equiv_type(source: Term, target: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn equiv_elim(equiv: Term, system: FaceSystem, witness: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/toplevel/eval.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | Parse(syntax::ParseError), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ReplErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 | Parse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/toplevel/eval.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | Elab(ElaborationErr), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ReplErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 | Elab(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/toplevel/eval.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | TopLevel(toplevel::TopLevelErr), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ReplErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 | TopLevel(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/elaborate.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | UnboundVariable(String), [INFO] [stdout] | --------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ElaborationErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 17 | UnboundVariable(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/elaborate.rs:31:37 [INFO] [stdout] | [INFO] [stdout] 31 | CompositionHasIncompatibleFaces(String), [INFO] [stdout] | ------------------------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ElaborationErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | CompositionHasIncompatibleFaces(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.32s [INFO] running `Command { std: "docker" "inspect" "7ecdaaece544005a32a6c09f925f260c7c0380cfd13b0e12915a1d452a9872f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ecdaaece544005a32a6c09f925f260c7c0380cfd13b0e12915a1d452a9872f5", kill_on_drop: false }` [INFO] [stdout] 7ecdaaece544005a32a6c09f925f260c7c0380cfd13b0e12915a1d452a9872f5 [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 -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ad176603720c6fa687272ea4fba8951dda771e9c778e5499b743d51aa0e12fbe [INFO] running `Command { std: "docker" "start" "-a" "ad176603720c6fa687272ea4fba8951dda771e9c778e5499b743d51aa0e12fbe", kill_on_drop: false }` [INFO] [stderr] Compiling cubical v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | fn normalise(self, ctx: &Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:40:30 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:40:42 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:52:54 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | fn normalise(self, ctx: &Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:40:30 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:40:42 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:52:54 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ctx` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:32:24 [INFO] [stdout] | [INFO] [stdout] 32 | fn normalise(self, ctx: &Context) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ctx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:40:30 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:40:42 [INFO] [stdout] | [INFO] [stdout] 40 | fn substitute_expr(self, expr: Expr, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:46:34 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:46:53 [INFO] [stdout] | [INFO] [stdout] 46 | fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:52:40 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_start` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `amount` [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:52:54 [INFO] [stdout] | [INFO] [stdout] 52 | fn increment_indices_from_by(self, start: usize, amount: usize) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `expected`, `actual`, and `current_expr` are never read [INFO] [stdout] --> src/syntax/parser.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 43 | UnexpectedToken { [INFO] [stdout] | --------------- fields in this variant [INFO] [stdout] 44 | expected: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 45 | actual: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 46 | current_expr: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast/terms/glueing/glue_type.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl GlueType { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(faces: FaceSystem, space: Term) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast/terms/glueing/glue.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Glue { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(faces: FaceSystem, term: Term) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast/terms/glueing/unglue.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Unglue { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 15 | pub fn new(faces: FaceSystem, term: Term) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `GlueType`, `Contr`, `Equiv`, `Pres`, `Glue`, and `Unglue` are never constructed [INFO] [stdout] --> src/ast/expr.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 19 | GlueType(GlueType), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | Contr(ContrElim), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 32 | Equiv(EquivElim), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | Pres(Pres), [INFO] [stdout] | ^^^^ [INFO] [stdout] 34 | Glue(Glue), [INFO] [stdout] | ^^^^ [INFO] [stdout] 35 | Unglue(Unglue), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/ast/expr.rs:281:12 [INFO] [stdout] | [INFO] [stdout] 222 | impl Expr { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn transp(space: Term, witness: Term) -> Expr { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn contr_prop(space: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn contr_elim(proof: Term, system: FaceSystem) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn sigma(left_type: Term, right_type: Term) -> Expr { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn pres(function: Term, face_system: FaceSystem, witness: Term) -> Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | fn equiv_prop_inner(source: Term, target:Term, func: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn equiv_prop(source: Term, target: Term, func: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 358 | pub fn equiv_type(source: Term, target: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn equiv_elim(equiv: Term, system: FaceSystem, witness: Term) -> Expr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/toplevel/eval.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | Parse(syntax::ParseError), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ReplErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 10 | Parse(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/toplevel/eval.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | Elab(ElaborationErr), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ReplErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 | Elab(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/toplevel/eval.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | TopLevel(toplevel::TopLevelErr), [INFO] [stdout] | -------- ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ReplErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 12 | TopLevel(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/elaborate.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | UnboundVariable(String), [INFO] [stdout] | --------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ElaborationErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 17 | UnboundVariable(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/elaborate.rs:31:37 [INFO] [stdout] | [INFO] [stdout] 31 | CompositionHasIncompatibleFaces(String), [INFO] [stdout] | ------------------------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ElaborationErr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 31 | CompositionHasIncompatibleFaces(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.38s [INFO] running `Command { std: "docker" "inspect" "ad176603720c6fa687272ea4fba8951dda771e9c778e5499b743d51aa0e12fbe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad176603720c6fa687272ea4fba8951dda771e9c778e5499b743d51aa0e12fbe", kill_on_drop: false }` [INFO] [stdout] ad176603720c6fa687272ea4fba8951dda771e9c778e5499b743d51aa0e12fbe