[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] testing dylanbraithwaite/cubical against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdylanbraithwaite%2Fcubical" "/workspace/builds/worker-108/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-108/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dylanbraithwaite/cubical on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "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-108/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: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d2252d85299aa6dc5a3264c60b466c69b1d6d2b29fd48998ff3348ce012b0bee
[INFO] running `Command { std: "docker" "start" "-a" "d2252d85299aa6dc5a3264c60b466c69b1d6d2b29fd48998ff3348ce012b0bee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2252d85299aa6dc5a3264c60b466c69b1d6d2b29fd48998ff3348ce012b0bee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2252d85299aa6dc5a3264c60b466c69b1d6d2b29fd48998ff3348ce012b0bee", kill_on_drop: false }`
[INFO] [stdout] d2252d85299aa6dc5a3264c60b466c69b1d6d2b29fd48998ff3348ce012b0bee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a82e6672663dc25f019adfcc08a89dd5e922339109564e4d46e1ba3f7f498ece
[INFO] running `Command { std: "docker" "start" "-a" "a82e6672663dc25f019adfcc08a89dd5e922339109564e4d46e1ba3f7f498ece", kill_on_drop: false }`
[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: associated function is never used: `new`
[INFO] [stdout]   --> src/ast/terms/glueing/glue_type.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(faces: FaceSystem, space: Term) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ast/terms/glueing/glue.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(faces: FaceSystem, term: Term) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ast/terms/glueing/unglue.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(faces: FaceSystem, term: Term) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `GlueType`
[INFO] [stdout]   --> src/ast/expr.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     GlueType(GlueType),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Contr`
[INFO] [stdout]   --> src/ast/expr.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Contr(ContrElim),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Equiv`
[INFO] [stdout]   --> src/ast/expr.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Equiv(EquivElim),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Pres`
[INFO] [stdout]   --> src/ast/expr.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Pres(Pres),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Glue`
[INFO] [stdout]   --> src/ast/expr.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Glue(Glue),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Unglue`
[INFO] [stdout]   --> src/ast/expr.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Unglue(Unglue),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `transp`
[INFO] [stdout]    --> src/ast/expr.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn transp(space: Term, witness: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `contr_prop`
[INFO] [stdout]    --> src/ast/expr.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn contr_prop(space: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `contr_elim`
[INFO] [stdout]    --> src/ast/expr.rs:303:12
[INFO] [stdout]     |
[INFO] [stdout] 303 |     pub fn contr_elim(proof: Term, system: FaceSystem) -> Expr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `sigma`
[INFO] [stdout]    --> src/ast/expr.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pub fn sigma(left_type: Term, right_type: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pres`
[INFO] [stdout]    --> src/ast/expr.rs:323:12
[INFO] [stdout]     |
[INFO] [stdout] 323 |     pub fn pres(function: Term, face_system: FaceSystem, witness: Term) -> Expr {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `equiv_prop_inner`
[INFO] [stdout]    --> src/ast/expr.rs:330:8
[INFO] [stdout]     |
[INFO] [stdout] 330 |     fn equiv_prop_inner(source: Term, target:Term, func: Term) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `equiv_prop`
[INFO] [stdout]    --> src/ast/expr.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn equiv_prop(source: Term, target: Term, func: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `equiv_type`
[INFO] [stdout]    --> src/ast/expr.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 358 |     pub fn equiv_type(source: Term, target: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `equiv_elim`
[INFO] [stdout]    --> src/ast/expr.rs:370:12
[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: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 4.34s
[INFO] running `Command { std: "docker" "inspect" "a82e6672663dc25f019adfcc08a89dd5e922339109564e4d46e1ba3f7f498ece", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a82e6672663dc25f019adfcc08a89dd5e922339109564e4d46e1ba3f7f498ece", kill_on_drop: false }`
[INFO] [stdout] a82e6672663dc25f019adfcc08a89dd5e922339109564e4d46e1ba3f7f498ece
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 15b22b7eef1413afec1539152508defb6f6739b388b167985ef68dc6fa320233
[INFO] running `Command { std: "docker" "start" "-a" "15b22b7eef1413afec1539152508defb6f6739b388b167985ef68dc6fa320233", 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: associated function is never used: `new`
[INFO] [stdout]   --> src/ast/terms/glueing/glue_type.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(faces: FaceSystem, space: Term) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ast/terms/glueing/glue.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(faces: FaceSystem, term: Term) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/ast/terms/glueing/unglue.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(faces: FaceSystem, term: Term) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `GlueType`
[INFO] [stdout]   --> src/ast/expr.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     GlueType(GlueType),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Contr`
[INFO] [stdout]   --> src/ast/expr.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     Contr(ContrElim),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Equiv`
[INFO] [stdout]   --> src/ast/expr.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     Equiv(EquivElim),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Pres`
[INFO] [stdout]   --> src/ast/expr.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Pres(Pres),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Glue`
[INFO] [stdout]   --> src/ast/expr.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Glue(Glue),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Unglue`
[INFO] [stdout]   --> src/ast/expr.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     Unglue(Unglue),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `transp`
[INFO] [stdout]    --> src/ast/expr.rs:281:12
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn transp(space: Term, witness: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `contr_prop`
[INFO] [stdout]    --> src/ast/expr.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn contr_prop(space: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `contr_elim`
[INFO] [stdout]    --> src/ast/expr.rs:303:12
[INFO] [stdout]     |
[INFO] [stdout] 303 |     pub fn contr_elim(proof: Term, system: FaceSystem) -> Expr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `sigma`
[INFO] [stdout]    --> src/ast/expr.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pub fn sigma(left_type: Term, right_type: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pres`
[INFO] [stdout]    --> src/ast/expr.rs:323:12
[INFO] [stdout]     |
[INFO] [stdout] 323 |     pub fn pres(function: Term, face_system: FaceSystem, witness: Term) -> Expr {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `equiv_prop_inner`
[INFO] [stdout]    --> src/ast/expr.rs:330:8
[INFO] [stdout]     |
[INFO] [stdout] 330 |     fn equiv_prop_inner(source: Term, target:Term, func: Term) -> Expr {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `equiv_prop`
[INFO] [stdout]    --> src/ast/expr.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub fn equiv_prop(source: Term, target: Term, func: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `equiv_type`
[INFO] [stdout]    --> src/ast/expr.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 358 |     pub fn equiv_type(source: Term, target: Term) -> Expr {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `equiv_elim`
[INFO] [stdout]    --> src/ast/expr.rs:370:12
[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: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.61s
[INFO] running `Command { std: "docker" "inspect" "15b22b7eef1413afec1539152508defb6f6739b388b167985ef68dc6fa320233", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15b22b7eef1413afec1539152508defb6f6739b388b167985ef68dc6fa320233", kill_on_drop: false }`
[INFO] [stdout] 15b22b7eef1413afec1539152508defb6f6739b388b167985ef68dc6fa320233
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-108/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=warn" "-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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fb80e6d7799e39622019cd2c4786f61fb88da316623d71aac9b8a264c51c8cf2
[INFO] running `Command { std: "docker" "start" "-a" "fb80e6d7799e39622019cd2c4786f61fb88da316623d71aac9b8a264c51c8cf2", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/ast/terms/glueing/glue_type.rs:32:24
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn normalise(self, ctx: &Context) -> Self {
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> src/ast/terms/glueing/glue_type.rs:40:30
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn substitute_expr(self, expr: Expr, var: usize) -> Self {
[INFO] [stderr]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]   --> src/ast/terms/glueing/glue_type.rs:40:42
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn substitute_expr(self, expr: Expr, var: usize) -> Self {
[INFO] [stderr]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> src/ast/terms/glueing/glue_type.rs:46:34
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self {
[INFO] [stderr]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]   --> src/ast/terms/glueing/glue_type.rs:46:53
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self {
[INFO] [stderr]    |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]   --> src/ast/terms/glueing/glue_type.rs:52:40
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn increment_indices_from_by(self, start: usize, amount: usize) -> Self {
[INFO] [stderr]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `amount`
[INFO] [stderr]   --> src/ast/terms/glueing/glue_type.rs:52:54
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn increment_indices_from_by(self, start: usize, amount: usize) -> Self {
[INFO] [stderr]    |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/ast/terms/glueing/glue.rs:32:24
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn normalise(self, ctx: &Context) -> Self {
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> src/ast/terms/glueing/glue.rs:40:30
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn substitute_expr(self, expr: Expr, var: usize) -> Self {
[INFO] [stderr]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]   --> src/ast/terms/glueing/glue.rs:40:42
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn substitute_expr(self, expr: Expr, var: usize) -> Self {
[INFO] [stderr]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> src/ast/terms/glueing/glue.rs:46:34
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self {
[INFO] [stderr]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]   --> src/ast/terms/glueing/glue.rs:46:53
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self {
[INFO] [stderr]    |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]   --> src/ast/terms/glueing/glue.rs:52:40
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn increment_indices_from_by(self, start: usize, amount: usize) -> Self {
[INFO] [stderr]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `amount`
[INFO] [stderr]   --> src/ast/terms/glueing/glue.rs:52:54
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn increment_indices_from_by(self, start: usize, amount: usize) -> Self {
[INFO] [stderr]    |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/ast/terms/glueing/unglue.rs:32:24
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn normalise(self, ctx: &Context) -> Self {
[INFO] [stderr]    |                        ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> src/ast/terms/glueing/unglue.rs:40:30
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn substitute_expr(self, expr: Expr, var: usize) -> Self {
[INFO] [stderr]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]   --> src/ast/terms/glueing/unglue.rs:40:42
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn substitute_expr(self, expr: Expr, var: usize) -> Self {
[INFO] [stderr]    |                                          ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expr`
[INFO] [stderr]   --> src/ast/terms/glueing/unglue.rs:46:34
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self {
[INFO] [stderr]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `var`
[INFO] [stderr]   --> src/ast/terms/glueing/unglue.rs:46:53
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn substitute_interval(self, expr: IntervalDnf, var: usize) -> Self {
[INFO] [stderr]    |                                                     ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]   --> src/ast/terms/glueing/unglue.rs:52:40
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn increment_indices_from_by(self, start: usize, amount: usize) -> Self {
[INFO] [stderr]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `amount`
[INFO] [stderr]   --> src/ast/terms/glueing/unglue.rs:52:54
[INFO] [stderr]    |
[INFO] [stderr] 52 |     fn increment_indices_from_by(self, start: usize, amount: usize) -> Self {
[INFO] [stderr]    |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_amount`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/ast/terms/glueing/glue_type.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub fn new(faces: FaceSystem, space: Term) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/ast/terms/glueing/glue.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub fn new(faces: FaceSystem, term: Term) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/ast/terms/glueing/unglue.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub fn new(faces: FaceSystem, term: Term) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `GlueType`
[INFO] [stderr]   --> src/ast/expr.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     GlueType(GlueType),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Contr`
[INFO] [stderr]   --> src/ast/expr.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |     Contr(ContrElim),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Equiv`
[INFO] [stderr]   --> src/ast/expr.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 |     Equiv(EquivElim),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Pres`
[INFO] [stderr]   --> src/ast/expr.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     Pres(Pres),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Glue`
[INFO] [stderr]   --> src/ast/expr.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     Glue(Glue),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Unglue`
[INFO] [stderr]   --> src/ast/expr.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     Unglue(Unglue),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `transp`
[INFO] [stderr]    --> src/ast/expr.rs:281:12
[INFO] [stderr]     |
[INFO] [stderr] 281 |     pub fn transp(space: Term, witness: Term) -> Expr {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `contr_prop`
[INFO] [stderr]    --> src/ast/expr.rs:289:12
[INFO] [stderr]     |
[INFO] [stderr] 289 |     pub fn contr_prop(space: Term) -> Expr {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `contr_elim`
[INFO] [stderr]    --> src/ast/expr.rs:303:12
[INFO] [stderr]     |
[INFO] [stderr] 303 |     pub fn contr_elim(proof: Term, system: FaceSystem) -> Expr {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `sigma`
[INFO] [stderr]    --> src/ast/expr.rs:307:12
[INFO] [stderr]     |
[INFO] [stderr] 307 |     pub fn sigma(left_type: Term, right_type: Term) -> Expr {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `pres`
[INFO] [stderr]    --> src/ast/expr.rs:323:12
[INFO] [stderr]     |
[INFO] [stderr] 323 |     pub fn pres(function: Term, face_system: FaceSystem, witness: Term) -> Expr {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `equiv_prop_inner`
[INFO] [stderr]    --> src/ast/expr.rs:330:8
[INFO] [stderr]     |
[INFO] [stderr] 330 |     fn equiv_prop_inner(source: Term, target:Term, func: Term) -> Expr {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `equiv_prop`
[INFO] [stderr]    --> src/ast/expr.rs:350:12
[INFO] [stderr]     |
[INFO] [stderr] 350 |     pub fn equiv_prop(source: Term, target: Term, func: Term) -> Expr {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `equiv_type`
[INFO] [stderr]    --> src/ast/expr.rs:358:12
[INFO] [stderr]     |
[INFO] [stderr] 358 |     pub fn equiv_type(source: Term, target: Term) -> Expr {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `equiv_elim`
[INFO] [stderr]    --> src/ast/expr.rs:370:12
[INFO] [stderr]     |
[INFO] [stderr] 370 |     pub fn equiv_elim(equiv: Term, system: FaceSystem, witness: Term) -> Expr {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: 39 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.65s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/cubical-e5278039174db959)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test interval::test_normalise_interval_to_zero ... ok
[INFO] [stdout] test syntax::test::test_parse_path ... ok
[INFO] [stdout] test syntax::test::test_parse_pi ... ok
[INFO] [stdout] test syntax::test::test_parse_interval_formula ... ok
[INFO] [stdout] test syntax::test::test_lambda_right_assoc ... ok
[INFO] [stdout] test syntax::test::test_parse_comp ... ok
[INFO] [stdout] test syntax::test::test_parse_lambda ... ok
[INFO] [stdout] test syntax::test::test_parenthesized_app ... ok
[INFO] [stdout] test syntax::test::test_parse_system ... ok
[INFO] [stdout] test syntax::test::test_parse_path_bind ... ok
[INFO] [stdout] test syntax::test::test_app_left_assoc ... ok
[INFO] [stdout] test ast::terms::paths::path_app::test_normalise_path_app_to_endpoints ... ok
[INFO] [stdout] test ast::terms::face_systems::composition::test_normalise_composition_unit ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- ast::terms::face_systems::composition::test_normalise_composition_unit stdout ----
[INFO] [stdout] thread 'ast::terms::face_systems::composition::test_normalise_composition_unit' panicked at 'assertion failed: `(left == right)`
[INFO] [stdout]   left: `Var(Var { debruijn_index: 0 })`,
[INFO] [stdout]  right: `Var(Var { debruijn_index: 1 })`', src/ast/terms/face_systems/composition.rs:93:5
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55eeda2320d0 - std::backtrace_rs::backtrace::libunwind::trace::h34055254b57d8e79
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
[INFO] [stdout]    1:     0x55eeda2320d0 - std::backtrace_rs::backtrace::trace_unsynchronized::h8f1e3fbd9afff6ec
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55eeda2320d0 - std::sys_common::backtrace::_print_fmt::h3a99a796b770c360
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55eeda2320d0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h32d1f94a80615d18
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:46:22
[INFO] [stdout]    4:     0x55eeda25490c - core::fmt::write::h306731c068f7162c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/fmt/mod.rs:1110:17
[INFO] [stdout]    5:     0x55eeda22eff5 - std::io::Write::write_fmt::h87f19b0a2cd190bc
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/io/mod.rs:1588:15
[INFO] [stdout]    6:     0x55eeda23423b - std::sys_common::backtrace::_print::h5abaa2601a852287
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:49:5
[INFO] [stdout]    7:     0x55eeda23423b - std::sys_common::backtrace::print::h8d81445442bb638f
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:36:9
[INFO] [stdout]    8:     0x55eeda23423b - std::panicking::default_hook::{{closure}}::hcfe804496a9fa747
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:208:50
[INFO] [stdout]    9:     0x55eeda233d4c - std::panicking::default_hook::hbea8e3ccf2ba8901
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:222:9
[INFO] [stdout]   10:     0x55eeda234904 - std::panicking::rust_panic_with_hook::h7ee9e1a2d0f8975a
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:622:17
[INFO] [stdout]   11:     0x55eeda2343e7 - std::panicking::begin_panic_handler::{{closure}}::h8ab3b4491718b2c7
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:519:13
[INFO] [stdout]   12:     0x55eeda2325cc - std::sys_common::backtrace::__rust_end_short_backtrace::hd489062ffa586a9f
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:141:18
[INFO] [stdout]   13:     0x55eeda234349 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:515:5
[INFO] [stdout]   14:     0x55eeda161651 - core::panicking::panic_fmt::hca6330e3e14086b4
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:92:14
[INFO] [stdout]   15:     0x55eeda2531f8 - core::panicking::assert_failed_inner::h33b45280069a80ed
[INFO] [stdout]   16:     0x55eeda1a36aa - core::panicking::assert_failed::h7354c751be511ce9
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:117:5
[INFO] [stdout]   17:     0x55eeda1de5eb - cubical::ast::terms::face_systems::composition::test_normalise_composition_unit::he4b41c4cfd7402a8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ast/terms/face_systems/composition.rs:93:5
[INFO] [stdout]   18:     0x55eeda1ddd0a - cubical::ast::terms::face_systems::composition::test_normalise_composition_unit::{{closure}}::h17dacd44eaebb673
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ast/terms/face_systems/composition.rs:66:1
[INFO] [stdout]   19:     0x55eeda17730e - core::ops::function::FnOnce::call_once::hecce6f1f348248a8
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   20:     0x55eeda206ad3 - core::ops::function::FnOnce::call_once::h152e7e439ff59e19
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   21:     0x55eeda206ad3 - test::__rust_begin_short_backtrace::h0908f3b1fdbb72ab
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:577:5
[INFO] [stdout]   22:     0x55eeda205590 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf6d2a51e5587546c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   23:     0x55eeda205590 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8af660f3a89ef593
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
[INFO] [stdout]   24:     0x55eeda205590 - std::panicking::try::do_call::hd36aef60f84b6d36
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
[INFO] [stdout]   25:     0x55eeda205590 - std::panicking::try::h9932b4480e69817c
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
[INFO] [stdout]   26:     0x55eeda205590 - std::panic::catch_unwind::h6aa177099cfff5f8
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
[INFO] [stdout]   27:     0x55eeda205590 - test::run_test_in_process::h5884d6f2d99e20c3
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:600:18
[INFO] [stdout]   28:     0x55eeda205590 - test::run_test::run_test_inner::{{closure}}::h6fdc58c6d5f5b6e3
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:492:39
[INFO] [stdout]   29:     0x55eeda1dec42 - test::run_test::run_test_inner::{{closure}}::h408365d67a78ade8
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/test/src/lib.rs:519:37
[INFO] [stdout]   30:     0x55eeda1dec42 - std::sys_common::backtrace::__rust_begin_short_backtrace::hb560b77c4f701523
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys_common/backtrace.rs:125:18
[INFO] [stdout]   31:     0x55eeda1e27f8 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hf2e7831dad93c597
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/thread/mod.rs:481:17
[INFO] [stdout]   32:     0x55eeda1e27f8 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd2e08783d8be4d02
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
[INFO] [stdout]   33:     0x55eeda1e27f8 - std::panicking::try::do_call::h062597b7acfd6b82
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
[INFO] [stdout]   34:     0x55eeda1e27f8 - std::panicking::try::h0d7b79db04c14552
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
[INFO] [stdout]   35:     0x55eeda1e27f8 - std::panic::catch_unwind::hb01a0b5e7c8cd43b
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
[INFO] [stdout]   36:     0x55eeda1e27f8 - std::thread::Builder::spawn_unchecked::{{closure}}::h5bde48cc887e0d1e
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/thread/mod.rs:480:30
[INFO] [stdout]   37:     0x55eeda1e27f8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h745ea30807a29e55
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/ops/function.rs:227:5
[INFO] [stdout]   38:     0x55eeda2393c7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7ece6cfefaff1005
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   39:     0x55eeda2393c7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hb8b48e55c21f193e
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/alloc/src/boxed.rs:1575:9
[INFO] [stdout]   40:     0x55eeda2393c7 - std::sys::unix::thread::Thread::new::thread_start::h8c7c4450dba62914
[INFO] [stdout]                                at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/sys/unix/thread.rs:71:17
[INFO] [stdout]   41:     0x7fee97e2c609 - start_thread
[INFO] [stdout]   42:     0x7fee97bfe293 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     ast::terms::face_systems::composition::test_normalise_composition_unit
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 12 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass '--bin cubical'
[INFO] running `Command { std: "docker" "inspect" "fb80e6d7799e39622019cd2c4786f61fb88da316623d71aac9b8a264c51c8cf2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb80e6d7799e39622019cd2c4786f61fb88da316623d71aac9b8a264c51c8cf2", kill_on_drop: false }`
[INFO] [stdout] fb80e6d7799e39622019cd2c4786f61fb88da316623d71aac9b8a264c51c8cf2
