[INFO] cloning repository https://github.com/skius/imp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/skius/imp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fskius%2Fimp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fskius%2Fimp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6d9c23c6192b4bb442f8daebf7a3bd37343913dc
[INFO] testing skius/imp against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fskius%2Fimp" "/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/skius/imp on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/skius/imp
[INFO] finished tweaking git repo https://github.com/skius/imp
[INFO] tweaked toml for git repo https://github.com/skius/imp written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/skius/imp 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" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded z3 v0.11.2
[INFO] [stderr]   Downloaded z3-sys v0.7.1
[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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ea5a0488966a71118c28a1250c184c62f487a09a34e7d09b6e27ed2de9b8fa93
[INFO] running `Command { std: "docker" "start" "-a" "ea5a0488966a71118c28a1250c184c62f487a09a34e7d09b6e27ed2de9b8fa93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea5a0488966a71118c28a1250c184c62f487a09a34e7d09b6e27ed2de9b8fa93", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea5a0488966a71118c28a1250c184c62f487a09a34e7d09b6e27ed2de9b8fa93", kill_on_drop: false }`
[INFO] [stdout] ea5a0488966a71118c28a1250c184c62f487a09a34e7d09b6e27ed2de9b8fa93
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 87c20aad20c14de6618ecf1c6b9eccc673cc5c95d11dd21bfb60194e58e9688f
[INFO] running `Command { std: "docker" "start" "-a" "87c20aad20c14de6618ecf1c6b9eccc673cc5c95d11dd21bfb60194e58e9688f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.104
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling glob v0.3.0
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.30
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling clang-sys v1.2.2
[INFO] [stderr]    Compiling indexmap v1.7.0
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling smallvec v1.7.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling libloading v0.7.1
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling bindgen v0.58.1
[INFO] [stderr]    Compiling termcolor v1.1.2
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling lock_api v0.4.5
[INFO] [stderr]    Compiling quote v1.0.10
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling which v3.1.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling shlex v1.1.0
[INFO] [stderr]    Compiling siphasher v0.3.7
[INFO] [stderr]    Compiling cexpr v0.4.0
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling itertools v0.10.1
[INFO] [stderr]    Compiling string_cache v0.8.2
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling lalrpop-util v0.19.6
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling pico-args v0.4.2
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling symbolic_expressions v5.0.3
[INFO] [stderr]    Compiling once_cell v1.8.0
[INFO] [stderr]    Compiling egg v0.6.0
[INFO] [stderr]    Compiling lalrpop v0.19.6
[INFO] [stderr]    Compiling z3-sys v0.7.1
[INFO] [stderr]    Compiling imp v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling z3 v0.11.2
[INFO] [stdout] warning: unused import: `AxStm`
[INFO] [stdout]  --> src/lib.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::{Aexp, AxBlock, AxStm, Bexp, ImpFuncDef, Opcode, Ropcode, Stm};
[INFO] [stdout]   |                                 ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ImpErrorInner`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use error::ImpErrorInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ImpErrorInner::*`
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use error::ImpErrorInner::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/ast.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dynamic`, `Int`
[INFO] [stdout]  --> src/ast.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use z3::ast::{Ast, Dynamic, Int};
[INFO] [stdout]   |                    ^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/ast.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::state::*`
[INFO] [stdout]  --> src/axiomatic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::state::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FuncDecl`
[INFO] [stdout]  --> src/axiomatic.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use z3::{SatResult, FuncDecl, RecFuncDecl, Model};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `forall_const`
[INFO] [stdout]  --> src/axiomatic.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use z3::ast::{forall_const, Ast};
[INFO] [stdout]   |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/axiomatic.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ast`
[INFO] [stdout]  --> src/axiomatic.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use z3::ast::{forall_const, Ast};
[INFO] [stdout]   |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]   --> src/ast.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 97 |             AxStm::While(cond, AxBlock(AssertionChain(inner_pre_chain), inner_rem)) => {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_cond`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_post`
[INFO] [stdout]   --> src/ast.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 let inner_post = inner_rem.last().unwrap().1.0.last().unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_post`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let mut f = funcmap.get(&self.name).unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/axiomatic.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 |     for (name, f) in &funcmap {
[INFO] [stdout]    |                ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_pre_chain`
[INFO] [stdout]    --> src/axiomatic.rs:248:55
[INFO] [stdout]     |
[INFO] [stdout] 248 |             AxStm::While(cond, AxBlock(AssertionChain(inner_pre_chain), inner_rem)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_pre_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/axiomatic.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut solver = z3::Solver::new(&ctx);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_expr`
[INFO] [stdout]    --> src/entailment.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let my_expr: RecExpr<ImpExpr> = "(^ 2 (+ z 1))".parse().unwrap();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_expr`
[INFO] [stdout]    --> src/entailment.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let my_expr: RecExpr<ImpExpr> = "(* (^ 2 z) (^ 2 1))".parse().unwrap();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `untrue_model`
[INFO] [stdout]   --> src/error.rs:82:96
[INFO] [stdout]    |
[INFO] [stdout] 82 |             ImpErrorInner::EntailmentError { entailment_src, entailment_dst, is_unknown: true, untrue_model } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^ help: try ignoring the field: `untrue_model: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains braces
[INFO] [stdout]    --> src/ast.rs:105:112
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...equires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                               ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 105 |                             _ => panic!("{}", "A total correctness proof requires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains braces
[INFO] [stdout]    --> src/ast.rs:108:104
[INFO] [stdout]     |
[INFO] [stdout] 108 | ...equires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                               ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 108 |                     _ => panic!("{}", "A total correctness proof requires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Bexp::Rop`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ast::Bexp::Rop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         axiomatic::verify_block_except_cons_partial(&prog);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let _ = axiomatic::verify_block_except_cons_partial(&prog);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         axiomatic::verify_cons_partial(&cfg, &prog, &funcdefs);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = axiomatic::verify_cons_partial(&cfg, &prog, &funcdefs);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         axiomatic::verify_block_except_cons_total(&prog);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let _ = axiomatic::verify_block_except_cons_total(&prog);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         axiomatic::verify_cons_total(&cfg, &prog, &funcdefs);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let _ = axiomatic::verify_cons_total(&cfg, &prog, &funcdefs);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.50s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.6, nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "87c20aad20c14de6618ecf1c6b9eccc673cc5c95d11dd21bfb60194e58e9688f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87c20aad20c14de6618ecf1c6b9eccc673cc5c95d11dd21bfb60194e58e9688f", kill_on_drop: false }`
[INFO] [stdout] 87c20aad20c14de6618ecf1c6b9eccc673cc5c95d11dd21bfb60194e58e9688f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 910ab2a3da268f4aed5663e213317cf90c6ece89cad5e8ff94f07aa92d0f8d8a
[INFO] running `Command { std: "docker" "start" "-a" "910ab2a3da268f4aed5663e213317cf90c6ece89cad5e8ff94f07aa92d0f8d8a", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `AxStm`
[INFO] [stdout]  --> src/lib.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::{Aexp, AxBlock, AxStm, Bexp, ImpFuncDef, Opcode, Ropcode, Stm};
[INFO] [stdout]   |                                 ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ImpErrorInner`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use error::ImpErrorInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ImpErrorInner::*`
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use error::ImpErrorInner::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/ast.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dynamic`, `Int`
[INFO] [stdout]  --> src/ast.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use z3::ast::{Ast, Dynamic, Int};
[INFO] [stdout]   |                    ^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/ast.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::state::*`
[INFO] [stdout]  --> src/axiomatic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::state::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FuncDecl`
[INFO] [stdout]  --> src/axiomatic.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use z3::{SatResult, FuncDecl, RecFuncDecl, Model};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `forall_const`
[INFO] [stdout]  --> src/axiomatic.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use z3::ast::{forall_const, Ast};
[INFO] [stdout]   |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/axiomatic.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ast`
[INFO] [stdout]  --> src/axiomatic.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use z3::ast::{forall_const, Ast};
[INFO] [stdout]   |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]   --> src/ast.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 97 |             AxStm::While(cond, AxBlock(AssertionChain(inner_pre_chain), inner_rem)) => {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_cond`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_post`
[INFO] [stdout]   --> src/ast.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 let inner_post = inner_rem.last().unwrap().1.0.last().unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_post`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let mut f = funcmap.get(&self.name).unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/axiomatic.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 |     for (name, f) in &funcmap {
[INFO] [stdout]    |                ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_pre_chain`
[INFO] [stdout]    --> src/axiomatic.rs:248:55
[INFO] [stdout]     |
[INFO] [stdout] 248 |             AxStm::While(cond, AxBlock(AssertionChain(inner_pre_chain), inner_rem)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_pre_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/axiomatic.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut solver = z3::Solver::new(&ctx);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_expr`
[INFO] [stdout]    --> src/entailment.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let my_expr: RecExpr<ImpExpr> = "(^ 2 (+ z 1))".parse().unwrap();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_expr`
[INFO] [stdout]    --> src/entailment.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let my_expr: RecExpr<ImpExpr> = "(* (^ 2 z) (^ 2 1))".parse().unwrap();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `untrue_model`
[INFO] [stdout]   --> src/error.rs:82:96
[INFO] [stdout]    |
[INFO] [stdout] 82 |             ImpErrorInner::EntailmentError { entailment_src, entailment_dst, is_unknown: true, untrue_model } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^ help: try ignoring the field: `untrue_model: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains braces
[INFO] [stdout]    --> src/ast.rs:105:112
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...equires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                               ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 105 |                             _ => panic!("{}", "A total correctness proof requires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains braces
[INFO] [stdout]    --> src/ast.rs:108:104
[INFO] [stdout]     |
[INFO] [stdout] 108 | ...equires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                               ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 108 |                     _ => panic!("{}", "A total correctness proof requires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling imp v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ast::Bexp::Rop`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ast::Bexp::Rop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         axiomatic::verify_block_except_cons_partial(&prog);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let _ = axiomatic::verify_block_except_cons_partial(&prog);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         axiomatic::verify_cons_partial(&cfg, &prog, &funcdefs);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = axiomatic::verify_cons_partial(&cfg, &prog, &funcdefs);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         axiomatic::verify_block_except_cons_total(&prog);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let _ = axiomatic::verify_block_except_cons_total(&prog);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |         axiomatic::verify_cons_total(&cfg, &prog, &funcdefs);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let _ = axiomatic::verify_cons_total(&cfg, &prog, &funcdefs);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AxStm`
[INFO] [stdout]  --> src/lib.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ast::{Aexp, AxBlock, AxStm, Bexp, ImpFuncDef, Opcode, Ropcode, Stm};
[INFO] [stdout]   |                                 ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ImpErrorInner`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use error::ImpErrorInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::ImpErrorInner::*`
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use error::ImpErrorInner::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stdout]  --> src/ast.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hint::unreachable_unchecked;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Dynamic`, `Int`
[INFO] [stdout]  --> src/ast.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use z3::ast::{Ast, Dynamic, Int};
[INFO] [stdout]   |                    ^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]  --> src/ast.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::convert::TryInto;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::state::*`
[INFO] [stdout]  --> src/axiomatic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::state::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FuncDecl`
[INFO] [stdout]  --> src/axiomatic.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use z3::{SatResult, FuncDecl, RecFuncDecl, Model};
[INFO] [stdout]   |                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `forall_const`
[INFO] [stdout]  --> src/axiomatic.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use z3::ast::{forall_const, Ast};
[INFO] [stdout]   |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/axiomatic.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ast`
[INFO] [stdout]  --> src/axiomatic.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use z3::ast::{forall_const, Ast};
[INFO] [stdout]   |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cond`
[INFO] [stdout]   --> src/ast.rs:97:26
[INFO] [stdout]    |
[INFO] [stdout] 97 |             AxStm::While(cond, AxBlock(AssertionChain(inner_pre_chain), inner_rem)) => {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_cond`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_post`
[INFO] [stdout]   --> src/ast.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 let inner_post = inner_rem.last().unwrap().1.0.last().unwrap();
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_post`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let mut f = funcmap.get(&self.name).unwrap();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/axiomatic.rs:18:16
[INFO] [stdout]    |
[INFO] [stdout] 18 |     for (name, f) in &funcmap {
[INFO] [stdout]    |                ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_pre_chain`
[INFO] [stdout]    --> src/axiomatic.rs:248:55
[INFO] [stdout]     |
[INFO] [stdout] 248 |             AxStm::While(cond, AxBlock(AssertionChain(inner_pre_chain), inner_rem)) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_pre_chain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/axiomatic.rs:505:9
[INFO] [stdout]     |
[INFO] [stdout] 505 |     let mut solver = z3::Solver::new(&ctx);
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_expr`
[INFO] [stdout]    --> src/entailment.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let my_expr: RecExpr<ImpExpr> = "(^ 2 (+ z 1))".parse().unwrap();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_expr`
[INFO] [stdout]    --> src/entailment.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let my_expr: RecExpr<ImpExpr> = "(* (^ 2 z) (^ 2 1))".parse().unwrap();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `untrue_model`
[INFO] [stdout]   --> src/error.rs:82:96
[INFO] [stdout]    |
[INFO] [stdout] 82 |             ImpErrorInner::EntailmentError { entailment_src, entailment_dst, is_unknown: true, untrue_model } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^ help: try ignoring the field: `untrue_model: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains braces
[INFO] [stdout]    --> src/ast.rs:105:112
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...equires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                               ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 105 |                             _ => panic!("{}", "A total correctness proof requires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains braces
[INFO] [stdout]    --> src/ast.rs:108:104
[INFO] [stdout]     |
[INFO] [stdout] 108 | ...equires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                               ^                                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stdout] help: add a "{}" format string to use the message literally
[INFO] [stdout]     |
[INFO] [stdout] 108 |                     _ => panic!("{}", "A total correctness proof requires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 22 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.38s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.6, nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "910ab2a3da268f4aed5663e213317cf90c6ece89cad5e8ff94f07aa92d0f8d8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "910ab2a3da268f4aed5663e213317cf90c6ece89cad5e8ff94f07aa92d0f8d8a", kill_on_drop: false }`
[INFO] [stdout] 910ab2a3da268f4aed5663e213317cf90c6ece89cad5e8ff94f07aa92d0f8d8a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c6a4ed11dcaef45ec7ac12ff7426a6734e602f1dd4c70eaab98f41f3e59874bc
[INFO] running `Command { std: "docker" "start" "-a" "c6a4ed11dcaef45ec7ac12ff7426a6734e602f1dd4c70eaab98f41f3e59874bc", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `AxStm`
[INFO] [stderr]  --> src/lib.rs:4:33
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::ast::{Aexp, AxBlock, AxStm, Bexp, ImpFuncDef, Opcode, Ropcode, Stm};
[INFO] [stderr]   |                                 ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error::ImpErrorInner`
[INFO] [stderr]  --> src/lib.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use error::ImpErrorInner;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error::ImpErrorInner::*`
[INFO] [stderr]  --> src/lib.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use error::ImpErrorInner::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hint::unreachable_unchecked`
[INFO] [stderr]  --> src/ast.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::hint::unreachable_unchecked;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Dynamic`, `Int`
[INFO] [stderr]  --> src/ast.rs:3:20
[INFO] [stderr]   |
[INFO] [stderr] 3 | use z3::ast::{Ast, Dynamic, Int};
[INFO] [stderr]   |                    ^^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]  --> src/ast.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::convert::TryInto;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::state::*`
[INFO] [stderr]  --> src/axiomatic.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::state::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FuncDecl`
[INFO] [stderr]  --> src/axiomatic.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | use z3::{SatResult, FuncDecl, RecFuncDecl, Model};
[INFO] [stderr]   |                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `forall_const`
[INFO] [stderr]  --> src/axiomatic.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use z3::ast::{forall_const, Ast};
[INFO] [stderr]   |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/axiomatic.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::convert::TryInto;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ast`
[INFO] [stderr]  --> src/axiomatic.rs:9:29
[INFO] [stderr]   |
[INFO] [stderr] 9 | use z3::ast::{forall_const, Ast};
[INFO] [stderr]   |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cond`
[INFO] [stderr]   --> src/ast.rs:97:26
[INFO] [stderr]    |
[INFO] [stderr] 97 |             AxStm::While(cond, AxBlock(AssertionChain(inner_pre_chain), inner_rem)) => {
[INFO] [stderr]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_cond`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner_post`
[INFO] [stderr]   --> src/ast.rs:99:21
[INFO] [stderr]    |
[INFO] [stderr] 99 |                 let inner_post = inner_rem.last().unwrap().1.0.last().unwrap();
[INFO] [stderr]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_post`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ast.rs:467:13
[INFO] [stderr]     |
[INFO] [stderr] 467 |         let mut f = funcmap.get(&self.name).unwrap();
[INFO] [stderr]     |             ----^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `f`
[INFO] [stderr]   --> src/axiomatic.rs:18:16
[INFO] [stderr]    |
[INFO] [stderr] 18 |     for (name, f) in &funcmap {
[INFO] [stderr]    |                ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inner_pre_chain`
[INFO] [stderr]    --> src/axiomatic.rs:248:55
[INFO] [stderr]     |
[INFO] [stderr] 248 |             AxStm::While(cond, AxBlock(AssertionChain(inner_pre_chain), inner_rem)) => {
[INFO] [stderr]     |                                                       ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_pre_chain`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/axiomatic.rs:505:9
[INFO] [stderr]     |
[INFO] [stderr] 505 |     let mut solver = z3::Solver::new(&ctx);
[INFO] [stderr]     |         ----^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_expr`
[INFO] [stderr]    --> src/entailment.rs:113:9
[INFO] [stderr]     |
[INFO] [stderr] 113 |     let my_expr: RecExpr<ImpExpr> = "(^ 2 (+ z 1))".parse().unwrap();
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `my_expr`
[INFO] [stderr]    --> src/entailment.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |     let my_expr: RecExpr<ImpExpr> = "(* (^ 2 z) (^ 2 1))".parse().unwrap();
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_expr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `untrue_model`
[INFO] [stderr]   --> src/error.rs:82:96
[INFO] [stderr]    |
[INFO] [stderr] 82 |             ImpErrorInner::EntailmentError { entailment_src, entailment_dst, is_unknown: true, untrue_model } => {
[INFO] [stderr]    |                                                                                                ^^^^^^^^^^^^ help: try ignoring the field: `untrue_model: _`
[INFO] [stderr] 
[INFO] [stderr] warning: panic message contains braces
[INFO] [stderr]    --> src/ast.rs:105:112
[INFO] [stderr]     |
[INFO] [stderr] 105 | ...equires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stderr]     |                                               ^                                              ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to use the message literally
[INFO] [stderr]     |
[INFO] [stderr] 105 |                             _ => panic!("{}", "A total correctness proof requires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stderr]     |                                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message contains braces
[INFO] [stderr]    --> src/ast.rs:108:104
[INFO] [stderr]     |
[INFO] [stderr] 108 | ...equires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stderr]     |                                               ^                                              ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this message is not used as a format string, but will be in Rust 2021
[INFO] [stderr] help: add a "{}" format string to use the message literally
[INFO] [stderr]     |
[INFO] [stderr] 108 |                     _ => panic!("{}", "A total correctness proof requires an inner pre-condition of the form { condition and ( P ) and variant = LOGICAL_VAR}"),
[INFO] [stderr]     |                                 +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `imp` (lib) generated 22 warnings (run `cargo fix --lib -p imp` to apply 14 suggestions)
[INFO] [stderr] warning: `imp` (lib test) generated 22 warnings (22 duplicates)
[INFO] [stderr] warning: unused import: `ast::Bexp::Rop`
[INFO] [stderr]  --> src/main.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ast::Bexp::Rop;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:87:9
[INFO] [stderr]    |
[INFO] [stderr] 87 |         axiomatic::verify_block_except_cons_partial(&prog);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 87 |         let _ = axiomatic::verify_block_except_cons_partial(&prog);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:88:9
[INFO] [stderr]    |
[INFO] [stderr] 88 |         axiomatic::verify_cons_partial(&cfg, &prog, &funcdefs);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let _ = axiomatic::verify_cons_partial(&cfg, &prog, &funcdefs);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:104:9
[INFO] [stderr]     |
[INFO] [stderr] 104 |         axiomatic::verify_block_except_cons_total(&prog);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 104 |         let _ = axiomatic::verify_block_except_cons_total(&prog);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:105:9
[INFO] [stderr]     |
[INFO] [stderr] 105 |         axiomatic::verify_cons_total(&cfg, &prog, &funcdefs);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 105 |         let _ = axiomatic::verify_cons_total(&cfg, &prog, &funcdefs);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `imp` (bin "imp" test) generated 5 warnings (run `cargo fix --bin "imp" --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.6, nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/imp-666ec63bb6701dda)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/imp-b891c1fd78456c95)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests imp
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c6a4ed11dcaef45ec7ac12ff7426a6734e602f1dd4c70eaab98f41f3e59874bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6a4ed11dcaef45ec7ac12ff7426a6734e602f1dd4c70eaab98f41f3e59874bc", kill_on_drop: false }`
[INFO] [stdout] c6a4ed11dcaef45ec7ac12ff7426a6734e602f1dd4c70eaab98f41f3e59874bc
