[INFO] cloning repository https://github.com/AestheticIntegration/batsmt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AestheticIntegration/batsmt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAestheticIntegration%2Fbatsmt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAestheticIntegration%2Fbatsmt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b1eac8ce809bfee345bd8f4eb6aea2531db37ac7
[INFO] checking AestheticIntegration/batsmt against master#3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0 for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAestheticIntegration%2Fbatsmt" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AestheticIntegration/batsmt
[INFO] finished tweaking git repo https://github.com/AestheticIntegration/batsmt
[INFO] tweaked toml for git repo https://github.com/AestheticIntegration/batsmt written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AestheticIntegration/batsmt on toolchain 3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AestheticIntegration/batsmt 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" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-6-tc2/source/src/pretty/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 41a155dacfe96940ba8e56625c6e7e8bd285f9d577e74377991c6eb81892ebfe
[INFO] running `Command { std: "docker" "start" "-a" "41a155dacfe96940ba8e56625c6e7e8bd285f9d577e74377991c6eb81892ebfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "41a155dacfe96940ba8e56625c6e7e8bd285f9d577e74377991c6eb81892ebfe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41a155dacfe96940ba8e56625c6e7e8bd285f9d577e74377991c6eb81892ebfe", kill_on_drop: false }`
[INFO] [stdout] 41a155dacfe96940ba8e56625c6e7e8bd285f9d577e74377991c6eb81892ebfe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61efbfe1f7b507262c57b3da03191f9072d9277678cd8144741debc9c4228b20
[INFO] running `Command { std: "docker" "start" "-a" "61efbfe1f7b507262c57b3da03191f9072d9277678cd8144741debc9c4228b20", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/src/pretty/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]     Checking typed-arena v1.4.1
[INFO] [stderr]     Checking bit-vec v0.5.0
[INFO] [stderr]     Checking rand_core v0.4.0
[INFO] [stderr]     Checking smallvec v0.6.9
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling libc v0.2.48
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]     Checking lazy_static v1.2.0
[INFO] [stderr]     Checking remove_dir_all v0.5.1
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking ucd-util v0.1.3
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]     Checking colored v1.7.0
[INFO] [stderr]     Checking pretty v0.5.2
[INFO] [stderr]     Checking bit-set v0.5.0
[INFO] [stderr]     Checking regex-syntax v0.6.5
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking batsmt-logger v0.1.0 (/opt/rustwide/workdir/src/logger)
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.3
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking batsat v0.3.1 (https://github.com/c-cube/batsat#3b91e4db)
[INFO] [stderr]     Checking batsmt-pretty v0.1.0 (/opt/rustwide/workdir/src/pretty)
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/pretty/src/lib.rs:445:6
[INFO] [stdout]     |
[INFO] [stdout] 445 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/pretty/src/lib.rs:454:6
[INFO] [stdout]     |
[INFO] [stdout] 454 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking batsmt-core v0.1.0 (/opt/rustwide/workdir/src/core)
[INFO] [stderr]     Checking batsmt-parser v0.1.0 (/opt/rustwide/workdir/src/parser)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/parser/src/parser.rs:211:34
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let s: Atom = str.into();; // now convert to utf8
[INFO] [stdout]     |                                  ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/parser/src/parser.rs:211:34
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let s: Atom = str.into();; // now convert to utf8
[INFO] [stdout]     |                                  ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/src/parser.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Result<T> = result::Result<T, Box<error::Error>>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Result<T> = result::Result<T, Box<dyn error::Error>>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/src/parser.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |   fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |   fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/src/parser.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn mk_err(s: String) -> Box<error::Error> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn mk_err(s: String) -> Box<dyn error::Error> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/src/parser.rs:23:44
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Result<T> = result::Result<T, Box<error::Error>>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type Result<T> = result::Result<T, Box<dyn error::Error>>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/src/parser.rs:20:30
[INFO] [stdout]    |
[INFO] [stdout] 20 |   fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |   fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/src/parser.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn mk_err(s: String) -> Box<error::Error> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn mk_err(s: String) -> Box<dyn error::Error> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rand_pcg v0.1.1
[INFO] [stderr]     Checking rand_os v0.1.2
[INFO] [stderr]     Checking wait-timeout v0.1.5
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/core/src/ast.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn view(&self, t: &Self::AST) -> View<&Self::SymView, Self::AST>;
[INFO] [stdout]    |             ^^^^^                    -------------------------------
[INFO] [stdout]    |             |                        |    |
[INFO] [stdout]    |             |                        |    the lifetimes get resolved as `'_`
[INFO] [stdout]    |             |                        the lifetimes get resolved as `'_`
[INFO] [stdout]    |             this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn view(&self, t: &Self::AST) -> View<'_, &Self::SymView, Self::AST>;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/core/src/ast.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |         fn view(&self, t: &Self::AST) -> View<&Self::SymView, Self::AST>
[INFO] [stdout]    |                 ^^^^^                    -------------------------------
[INFO] [stdout]    |                 |                        |    |
[INFO] [stdout]    |                 |                        |    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                 |                        the lifetimes get resolved as `'_`
[INFO] [stdout]    |                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |         fn view(&self, t: &Self::AST) -> View<'_, &Self::SymView, Self::AST>
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Sub` instead of cloning the inner type
[INFO] [stdout]    --> src/core/src/ast.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     let f = &f.clone(); // separate pointer
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/core/src/shared.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn borrow(&self) -> SharedRef<T> {
[INFO] [stdout]    |                   ^^^^^     ------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn borrow(&self) -> SharedRef<'_, T> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/core/src/shared.rs:66:23
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn borrow_mut(&self) -> SharedRefMut<T> {
[INFO] [stdout]    |                       ^^^^^     --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn borrow_mut(&self) -> SharedRefMut<'_, T> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking batsmt-theory v0.1.0 (/opt/rustwide/workdir/src/theory)
[INFO] [stderr]     Checking batsmt-hast v0.1.0 (/opt/rustwide/workdir/src/hast)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser/examples/smtcat.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn main() -> Result<(), Box<Error>> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/theory/src/lib.rs:528:17
[INFO] [stdout]     |
[INFO] [stdout] 528 |     mk_lit: Box<Fn() -> C::B>, // FIXME: actual litmap or something?
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 528 |     mk_lit: Box<dyn Fn() -> C::B>, // FIXME: actual litmap or something?
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/hast/src/lib.rs:199:39
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub const fn ast_idx(t: AST) -> u32 { (t.idx() >> 2) }
[INFO] [stdout]     |                                       ^            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 - pub const fn ast_idx(t: AST) -> u32 { (t.idx() >> 2) }
[INFO] [stdout] 199 + pub const fn ast_idx(t: AST) -> u32 { t.idx() >> 2 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/hast/src/lib.rs:202:27
[INFO] [stdout]     |
[INFO] [stdout] 202 | const AST_MAX_IDX : u32 = (u32::MAX >> 2);
[INFO] [stdout]     |                           ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 202 - const AST_MAX_IDX : u32 = (u32::MAX >> 2);
[INFO] [stdout] 202 + const AST_MAX_IDX : u32 = u32::MAX >> 2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/theory/src/lib.rs:528:17
[INFO] [stdout]     |
[INFO] [stdout] 528 |     mk_lit: Box<Fn() -> C::B>, // FIXME: actual litmap or something?
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 528 |     mk_lit: Box<dyn Fn() -> C::B>, // FIXME: actual litmap or something?
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking batsmt-cc v0.1.0 (/opt/rustwide/workdir/src/cc)
[INFO] [stderr]     Checking batsmt-solver v0.1.0 (/opt/rustwide/workdir/src/solver)
[INFO] [stderr]     Checking batsmt-tseitin v0.1.0 (/opt/rustwide/workdir/src/tseitin)
[INFO] [stdout] warning: struct `Ptr` is never constructed
[INFO] [stdout]    --> src/hast/src/symbol.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 |     struct Ptr {
[INFO] [stdout]     |            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/hast/src/lib.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn view<S:SymbolCtx>(&self) -> HView<S> {
[INFO] [stdout]     |                          ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn view<S:SymbolCtx>(&self) -> HView<'_, S> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/tseitin/src/lib.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn view_as_formula(&self, t: AST) -> View<AST>;
[INFO] [stdout]    |                        ^^^^^             --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn view_as_formula(&self, t: AST) -> View<'_, AST>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/tseitin/src/lib.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         &mut self, m: &mut C, lit_map: &mut LM, t: AST
[INFO] [stdout]     |         ^^^^^^^^^ this lifetime flows to the output
[INFO] [stdout] 326 |     ) -> (impl Iterator<Item=TheoryClauseRef<C>>, impl Iterator<Item=&TheoryLit<C>>)
[INFO] [stdout]     |                              ------------------                      ------------- the lifetimes get resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 326 |     ) -> (impl Iterator<Item=TheoryClauseRef<'_, C>>, impl Iterator<Item=&TheoryLit<C>>)
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/tseitin/src/lib.rs:39:24
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn view_as_formula(&self, t: AST) -> View<AST>;
[INFO] [stdout]    |                        ^^^^^             --------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn view_as_formula(&self, t: AST) -> View<'_, AST>;
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/tseitin/src/lib.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         &mut self, m: &mut C, lit_map: &mut LM, t: AST
[INFO] [stdout]     |         ^^^^^^^^^ this lifetime flows to the output
[INFO] [stdout] 326 |     ) -> (impl Iterator<Item=TheoryClauseRef<C>>, impl Iterator<Item=&TheoryLit<C>>)
[INFO] [stdout]     |                              ------------------                      ------------- the lifetimes get resolved as `'_`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetimes get resolved as `'_`
[INFO] [stdout]     |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 326 |     ) -> (impl Iterator<Item=TheoryClauseRef<'_, C>>, impl Iterator<Item=&TheoryLit<C>>)
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `acts` is never read
[INFO] [stdout]    --> src/cc/src/cc.rs:418:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub struct MergePhase<'a,'b:'a, C:Ctx> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 418 |     acts: &'a mut Option<&'b mut dyn Actions<C>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HasInjective` is never used
[INFO] [stdout]   --> src/cc/src/theories/th_selector.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait HasInjective<F:Eq+Clone> {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/src/cc.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |         drop(na);
[INFO] [stdout]     |         ^^^^^--^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut cc::NodeDef<AST, <C as BoolLitCtx>::B>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 494 -         drop(na);
[INFO] [stdout] 494 +         let _ = na;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/src/cc.rs:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         drop(nb);
[INFO] [stdout]     |         ^^^^^--^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut cc::NodeDef<AST, <C as BoolLitCtx>::B>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 495 -         drop(nb);
[INFO] [stdout] 495 +         let _ = nb;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/src/theories/th_constructor_select.rs:221:21
[INFO] [stdout]     |
[INFO] [stdout] 221 |                     drop(st1);
[INFO] [stdout]     |                     ^^^^^---^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          argument has type `&&th_constructor_select::ReprState<<C as HasConstructorSelect<AST>>::F>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 221 -                     drop(st1);
[INFO] [stdout] 221 +                     let _ = st1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/src/theories/th_constructor_select.rs:222:21
[INFO] [stdout]     |
[INFO] [stdout] 222 |                     drop(st2);
[INFO] [stdout]     |                     ^^^^^---^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          argument has type `&&th_constructor_select::ReprState<<C as HasConstructorSelect<AST>>::F>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 222 -                     drop(st2);
[INFO] [stdout] 222 +                     let _ = st2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking batsmt-run v0.1.0 (/opt/rustwide/workdir/src/run)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/run/src/main.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn main() -> Result<(), Box<Error>> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/run/src/main.rs:24:29
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn main() -> Result<(), Box<Error>> {
[INFO] [stdout]    |                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/run/src/ctx.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |         fn view_as_formula(&self, t: AST) -> FView<AST> {
[INFO] [stdout]    |                            ^^^^^             ---------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |         fn view_as_formula(&self, t: AST) -> FView<'_, AST> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/run/src/ctx.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 |         fn view_as_formula(&self, t: AST) -> FView<AST> {
[INFO] [stdout]    |                            ^^^^^             ---------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 70 |         fn view_as_formula(&self, t: AST) -> FView<'_, AST> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tempfile v3.0.7
[INFO] [stderr]     Checking rusty-fork v0.2.1
[INFO] [stderr]     Checking proptest v0.8.7
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/hast/src/lib.rs:199:39
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub const fn ast_idx(t: AST) -> u32 { (t.idx() >> 2) }
[INFO] [stdout]     |                                       ^            ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 - pub const fn ast_idx(t: AST) -> u32 { (t.idx() >> 2) }
[INFO] [stdout] 199 + pub const fn ast_idx(t: AST) -> u32 { t.idx() >> 2 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/hast/src/lib.rs:202:27
[INFO] [stdout]     |
[INFO] [stdout] 202 | const AST_MAX_IDX : u32 = (u32::MAX >> 2);
[INFO] [stdout]     |                           ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 202 - const AST_MAX_IDX : u32 = (u32::MAX >> 2);
[INFO] [stdout] 202 + const AST_MAX_IDX : u32 = u32::MAX >> 2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/hast/tests/test_ast.rs:349:45
[INFO] [stdout]     |
[INFO] [stdout] 349 |             let mut c = self.0.borrow_mut();;
[INFO] [stdout]     |                                             ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ptr` is never constructed
[INFO] [stdout]    --> src/hast/src/symbol.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 |     struct Ptr {
[INFO] [stdout]     |            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/hast/src/lib.rs:117:26
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn view<S:SymbolCtx>(&self) -> HView<S> {
[INFO] [stdout]     |                          ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn view<S:SymbolCtx>(&self) -> HView<'_, S> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/tests/test_cc.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |                     drop(c); // before the borrow
[INFO] [stdout]     |                     ^^^^^-^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          argument has type `&std::collections::HashMap<String, batsmt_hast::AST, BuildHasherDefault<FxHasher>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 149 -                     drop(c); // before the borrow
[INFO] [stdout] 149 +                     let _ = c; // before the borrow
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/cc/tests/test_cc.rs:438:50
[INFO] [stdout]     |
[INFO] [stdout] 438 | ...                   let props = props.clone();
[INFO] [stdout]     |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[TermLit]` does not implement `Clone`, so calling `clone` on `&[TermLit]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/cc/tests/test_cc.rs:439:33
[INFO] [stdout]     |
[INFO] [stdout] 439 | ...                   drop(r1);
[INFO] [stdout]     |                       ^^^^^--^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            argument has type `Result<(&[TermLit], &[Vec<TermLit>]), &[TermLit]>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 439 -                                 drop(r1);
[INFO] [stdout] 439 +                                 let _ = r1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/tests/test_cc.rs:446:41
[INFO] [stdout]     |
[INFO] [stdout] 446 | ...                   drop(ctx);
[INFO] [stdout]     |                       ^^^^^---^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            argument has type `&mut Ctx`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 446 -                                         drop(ctx);
[INFO] [stdout] 446 +                                         let _ = ctx;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/cc/tests/test_cc.rs:474:50
[INFO] [stdout]     |
[INFO] [stdout] 474 | ...                   let props = props.clone();
[INFO] [stdout]     |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[TermLit]` does not implement `Clone`, so calling `clone` on `&[TermLit]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stdout]    --> src/cc/tests/test_cc.rs:475:33
[INFO] [stdout]     |
[INFO] [stdout] 475 | ...                   drop(r1);
[INFO] [stdout]     |                       ^^^^^--^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            argument has type `Result<(&[TermLit], &[Vec<TermLit>]), &[TermLit]>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 475 -                                 drop(r1);
[INFO] [stdout] 475 +                                 let _ = r1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/tests/test_cc.rs:482:41
[INFO] [stdout]     |
[INFO] [stdout] 482 | ...                   drop(ctx);
[INFO] [stdout]     |                       ^^^^^---^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            argument has type `&mut Ctx`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 482 -                                         drop(ctx);
[INFO] [stdout] 482 +                                         let _ = ctx;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/core/src/ast.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn view(&self, t: &Self::AST) -> View<&Self::SymView, Self::AST>;
[INFO] [stdout]    |             ^^^^^                    -------------------------------
[INFO] [stdout]    |             |                        |    |
[INFO] [stdout]    |             |                        |    the lifetimes get resolved as `'_`
[INFO] [stdout]    |             |                        the lifetimes get resolved as `'_`
[INFO] [stdout]    |             this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn view(&self, t: &Self::AST) -> View<'_, &Self::SymView, Self::AST>;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/core/src/ast.rs:99:17
[INFO] [stdout]    |
[INFO] [stdout] 99 |         fn view(&self, t: &Self::AST) -> View<&Self::SymView, Self::AST>
[INFO] [stdout]    |                 ^^^^^                    -------------------------------
[INFO] [stdout]    |                 |                        |    |
[INFO] [stdout]    |                 |                        |    the lifetimes get resolved as `'_`
[INFO] [stdout]    |                 |                        the lifetimes get resolved as `'_`
[INFO] [stdout]    |                 this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |         fn view(&self, t: &Self::AST) -> View<'_, &Self::SymView, Self::AST>
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Sub` instead of cloning the inner type
[INFO] [stdout]    --> src/core/src/ast.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     let f = &f.clone(); // separate pointer
[INFO] [stdout]     |                               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/core/src/shared.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn borrow(&self) -> SharedRef<T> {
[INFO] [stdout]    |                   ^^^^^     ------------ the lifetime gets resolved as `'_`
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn borrow(&self) -> SharedRef<'_, T> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]   --> src/core/src/shared.rs:66:23
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn borrow_mut(&self) -> SharedRefMut<T> {
[INFO] [stdout]    |                       ^^^^^     --------------- the lifetime gets resolved as `'_`
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this lifetime flows to the output
[INFO] [stdout]    |
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn borrow_mut(&self) -> SharedRefMut<'_, T> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `acts` is never read
[INFO] [stdout]    --> src/cc/src/cc.rs:418:5
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub struct MergePhase<'a,'b:'a, C:Ctx> {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 418 |     acts: &'a mut Option<&'b mut dyn Actions<C>>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `HasInjective` is never used
[INFO] [stdout]   --> src/cc/src/theories/th_selector.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait HasInjective<F:Eq+Clone> {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/src/cc.rs:494:9
[INFO] [stdout]     |
[INFO] [stdout] 494 |         drop(na);
[INFO] [stdout]     |         ^^^^^--^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut cc::NodeDef<AST, <C as BoolLitCtx>::B>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 494 -         drop(na);
[INFO] [stdout] 494 +         let _ = na;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/src/cc.rs:495:9
[INFO] [stdout]     |
[INFO] [stdout] 495 |         drop(nb);
[INFO] [stdout]     |         ^^^^^--^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              argument has type `&mut cc::NodeDef<AST, <C as BoolLitCtx>::B>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 495 -         drop(nb);
[INFO] [stdout] 495 +         let _ = nb;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/src/theories/th_constructor_select.rs:221:21
[INFO] [stdout]     |
[INFO] [stdout] 221 |                     drop(st1);
[INFO] [stdout]     |                     ^^^^^---^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          argument has type `&&th_constructor_select::ReprState<<C as HasConstructorSelect<AST>>::F>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 221 -                     drop(st1);
[INFO] [stdout] 221 +                     let _ = st1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stdout]    --> src/cc/src/theories/th_constructor_select.rs:222:21
[INFO] [stdout]     |
[INFO] [stdout] 222 |                     drop(st2);
[INFO] [stdout]     |                     ^^^^^---^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          argument has type `&&th_constructor_select::ReprState<<C as HasConstructorSelect<AST>>::F>`
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the expression or result
[INFO] [stdout]     |
[INFO] [stdout] 222 -                     drop(st2);
[INFO] [stdout] 222 +                     let _ = st2;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 11.49s
[INFO] running `Command { std: "docker" "inspect" "61efbfe1f7b507262c57b3da03191f9072d9277678cd8144741debc9c4228b20", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61efbfe1f7b507262c57b3da03191f9072d9277678cd8144741debc9c4228b20", kill_on_drop: false }`
[INFO] [stdout] 61efbfe1f7b507262c57b3da03191f9072d9277678cd8144741debc9c4228b20
