[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] testing AestheticIntegration/batsmt against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAestheticIntegration%2Fbatsmt" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AestheticIntegration/batsmt on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-7-tc2/source/src/pretty/Cargo.toml: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d0a6b9070cf48ff0562baae620ee516b0815a282a434e35f7326af2fea35d634
[INFO] running `Command { std: "docker" "start" "-a" "d0a6b9070cf48ff0562baae620ee516b0815a282a434e35f7326af2fea35d634", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d0a6b9070cf48ff0562baae620ee516b0815a282a434e35f7326af2fea35d634", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0a6b9070cf48ff0562baae620ee516b0815a282a434e35f7326af2fea35d634", kill_on_drop: false }`
[INFO] [stdout] d0a6b9070cf48ff0562baae620ee516b0815a282a434e35f7326af2fea35d634
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e0c650cb62aabf015db74e85ab7c6c8ae479f4ba0e8e0f346b1c4fd7b5128e6
[INFO] running `Command { std: "docker" "start" "-a" "4e0c650cb62aabf015db74e85ab7c6c8ae479f4ba0e8e0f346b1c4fd7b5128e6", 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]    Compiling typed-arena v1.4.1
[INFO] [stderr]    Compiling bit-vec v0.5.0
[INFO] [stderr]    Compiling smallvec v0.6.9
[INFO] [stderr]    Compiling cfg-if v0.1.6
[INFO] [stderr]    Compiling lazy_static v1.2.0
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling pretty v0.5.2
[INFO] [stderr]    Compiling colored v1.7.0
[INFO] [stderr]    Compiling batsmt-logger v0.1.0 (/opt/rustwide/workdir/src/logger)
[INFO] [stderr]    Compiling batsmt-pretty v0.1.0 (/opt/rustwide/workdir/src/pretty)
[INFO] [stderr]    Compiling bit-set v0.5.0
[INFO] [stderr]    Compiling batsat v0.3.1 (https://github.com/c-cube/batsat#3b91e4db)
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling batsmt-core v0.1.0 (/opt/rustwide/workdir/src/core)
[INFO] [stderr]    Compiling 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: 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: 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]    Compiling batsmt-theory v0.1.0 (/opt/rustwide/workdir/src/theory)
[INFO] [stderr]    Compiling batsmt-hast v0.1.0 (/opt/rustwide/workdir/src/hast)
[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: 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: 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]    Compiling batsmt-cc v0.1.0 (/opt/rustwide/workdir/src/cc)
[INFO] [stderr]    Compiling batsmt-solver v0.1.0 (/opt/rustwide/workdir/src/solver)
[INFO] [stderr]    Compiling batsmt-tseitin v0.1.0 (/opt/rustwide/workdir/src/tseitin)
[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]    Compiling 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: 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]     Finished `dev` profile [optimized + debuginfo] target(s) in 13.42s
[INFO] running `Command { std: "docker" "inspect" "4e0c650cb62aabf015db74e85ab7c6c8ae479f4ba0e8e0f346b1c4fd7b5128e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e0c650cb62aabf015db74e85ab7c6c8ae479f4ba0e8e0f346b1c4fd7b5128e6", kill_on_drop: false }`
[INFO] [stdout] 4e0c650cb62aabf015db74e85ab7c6c8ae479f4ba0e8e0f346b1c4fd7b5128e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8fb6836e82a7abd22b82423b9ff99937e96ee44d2e67464e30753846da4a0266
[INFO] running `Command { std: "docker" "start" "-a" "8fb6836e82a7abd22b82423b9ff99937e96ee44d2e67464e30753846da4a0266", 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 rand_core v0.4.0
[INFO] [stderr]    Compiling libc v0.2.48
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling remove_dir_all v0.5.1
[INFO] [stderr]    Compiling quick-error v1.2.2
[INFO] [stderr]    Compiling fnv v1.0.6
[INFO] [stderr]    Compiling ucd-util v0.1.3
[INFO] [stderr]    Compiling bitflags v1.0.4
[INFO] [stderr]    Compiling batsmt-pretty v0.1.0 (/opt/rustwide/workdir/src/pretty)
[INFO] [stderr]    Compiling batsmt-logger v0.1.0 (/opt/rustwide/workdir/src/logger)
[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: 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] [stderr]    Compiling batsmt-parser v0.1.0 (/opt/rustwide/workdir/src/parser)
[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: 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: 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] [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] [stderr]    Compiling batsmt-run v0.1.0 (/opt/rustwide/workdir/src/run)
[INFO] [stderr]    Compiling batsmt-solver v0.1.0 (/opt/rustwide/workdir/src/solver)
[INFO] [stderr]    Compiling batsmt-tseitin v0.1.0 (/opt/rustwide/workdir/src/tseitin)
[INFO] [stderr]    Compiling batsmt-theory v0.1.0 (/opt/rustwide/workdir/src/theory)
[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: 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/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: 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/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: 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] [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/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] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_jitter v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.6.5
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_os v0.1.2
[INFO] [stderr]    Compiling wait-timeout v0.1.5
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling rand_pcg v0.1.1
[INFO] [stderr]    Compiling tempfile v3.0.7
[INFO] [stderr]    Compiling rusty-fork v0.2.1
[INFO] [stderr]    Compiling proptest v0.8.7
[INFO] [stderr]    Compiling batsmt-core v0.1.0 (/opt/rustwide/workdir/src/core)
[INFO] [stderr]    Compiling batsmt-hast v0.1.0 (/opt/rustwide/workdir/src/hast)
[INFO] [stderr]    Compiling batsmt-cc v0.1.0 (/opt/rustwide/workdir/src/cc)
[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: 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: 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: 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: 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: 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 `test` profile [optimized + debuginfo] target(s) in 36.38s
[INFO] running `Command { std: "docker" "inspect" "8fb6836e82a7abd22b82423b9ff99937e96ee44d2e67464e30753846da4a0266", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fb6836e82a7abd22b82423b9ff99937e96ee44d2e67464e30753846da4a0266", kill_on_drop: false }`
[INFO] [stdout] 8fb6836e82a7abd22b82423b9ff99937e96ee44d2e67464e30753846da4a0266
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] af379c36275c1eed9f184ec5b444177f72051a6b2d7eabb1deeb8c2760a275f9
[INFO] running `Command { std: "docker" "start" "-a" "af379c36275c1eed9f184ec5b444177f72051a6b2d7eabb1deeb8c2760a275f9", 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] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/pretty/src/lib.rs:445:6
[INFO] [stderr]     |
[INFO] [stderr] 445 |     };
[INFO] [stderr]     |      ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/pretty/src/lib.rs:454:6
[INFO] [stderr]     |
[INFO] [stderr] 454 |     };
[INFO] [stderr]     |      ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: `batsmt-pretty` (lib test) generated 2 warnings
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/core/src/ast.rs:44:13
[INFO] [stderr]    |
[INFO] [stderr] 44 |     fn view(&self, t: &Self::AST) -> View<&Self::SymView, Self::AST>;
[INFO] [stderr]    |             ^^^^^                    -------------------------------
[INFO] [stderr]    |             |                        |    |
[INFO] [stderr]    |             |                        |    the lifetimes get resolved as `'_`
[INFO] [stderr]    |             |                        the lifetimes get resolved as `'_`
[INFO] [stderr]    |             this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 44 |     fn view(&self, t: &Self::AST) -> View<'_, &Self::SymView, Self::AST>;
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/core/src/ast.rs:99:17
[INFO] [stderr]    |
[INFO] [stderr] 99 |         fn view(&self, t: &Self::AST) -> View<&Self::SymView, Self::AST>
[INFO] [stderr]    |                 ^^^^^                    -------------------------------
[INFO] [stderr]    |                 |                        |    |
[INFO] [stderr]    |                 |                        |    the lifetimes get resolved as `'_`
[INFO] [stderr]    |                 |                        the lifetimes get resolved as `'_`
[INFO] [stderr]    |                 this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 99 |         fn view(&self, t: &Self::AST) -> View<'_, &Self::SymView, Self::AST>
[INFO] [stderr]    |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Sub` instead of cloning the inner type
[INFO] [stderr]    --> src/core/src/ast.rs:178:31
[INFO] [stderr]     |
[INFO] [stderr] 178 |                     let f = &f.clone(); // separate pointer
[INFO] [stderr]     |                               ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/core/src/shared.rs:59:19
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn borrow(&self) -> SharedRef<T> {
[INFO] [stderr]    |                   ^^^^^     ------------ the lifetime gets resolved as `'_`
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub fn borrow(&self) -> SharedRef<'_, T> {
[INFO] [stderr]    |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/core/src/shared.rs:66:23
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub fn borrow_mut(&self) -> SharedRefMut<T> {
[INFO] [stderr]    |                       ^^^^^     --------------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub fn borrow_mut(&self) -> SharedRefMut<'_, T> {
[INFO] [stderr]    |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/parser/src/parser.rs:211:34
[INFO] [stderr]     |
[INFO] [stderr] 211 |         let s: Atom = str.into();; // now convert to utf8
[INFO] [stderr]     |                                  ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/parser/src/parser.rs:23:44
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub type Result<T> = result::Result<T, Box<error::Error>>;
[INFO] [stderr]    |                                            ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub type Result<T> = result::Result<T, Box<dyn error::Error>>;
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/parser/src/parser.rs:20:30
[INFO] [stderr]    |
[INFO] [stderr] 20 |   fn cause(&self) -> Option<&error::Error> { None }
[INFO] [stderr]    |                              ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 20 |   fn cause(&self) -> Option<&dyn error::Error> { None }
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/parser/src/parser.rs:25:29
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn mk_err(s: String) -> Box<error::Error> {
[INFO] [stderr]    |                             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn mk_err(s: String) -> Box<dyn error::Error> {
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: `batsmt-core` (lib) generated 5 warnings
[INFO] [stderr] warning: `batsmt-parser` (lib) generated 4 warnings (run `cargo fix --lib -p batsmt-parser` to apply 3 suggestions)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/theory/src/lib.rs:528:17
[INFO] [stderr]     |
[INFO] [stderr] 528 |     mk_lit: Box<Fn() -> C::B>, // FIXME: actual litmap or something?
[INFO] [stderr]     |                 ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 528 |     mk_lit: Box<dyn Fn() -> C::B>, // FIXME: actual litmap or something?
[INFO] [stderr]     |                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/hast/src/lib.rs:199:39
[INFO] [stderr]     |
[INFO] [stderr] 199 | pub const fn ast_idx(t: AST) -> u32 { (t.idx() >> 2) }
[INFO] [stderr]     |                                       ^            ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 199 - pub const fn ast_idx(t: AST) -> u32 { (t.idx() >> 2) }
[INFO] [stderr] 199 + pub const fn ast_idx(t: AST) -> u32 { t.idx() >> 2 }
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/hast/src/lib.rs:202:27
[INFO] [stderr]     |
[INFO] [stderr] 202 | const AST_MAX_IDX : u32 = (u32::MAX >> 2);
[INFO] [stderr]     |                           ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 202 - const AST_MAX_IDX : u32 = (u32::MAX >> 2);
[INFO] [stderr] 202 + const AST_MAX_IDX : u32 = u32::MAX >> 2;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Ptr` is never constructed
[INFO] [stderr]    --> src/hast/src/symbol.rs:159:12
[INFO] [stderr]     |
[INFO] [stderr] 159 |     struct Ptr {
[INFO] [stderr]     |            ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/hast/src/lib.rs:117:26
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn view<S:SymbolCtx>(&self) -> HView<S> {
[INFO] [stderr]     |                          ^^^^^     -------- the lifetime gets resolved as `'_`
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn view<S:SymbolCtx>(&self) -> HView<'_, S> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/parser/examples/smtcat.rs:14:29
[INFO] [stderr]    |
[INFO] [stderr] 14 | fn main() -> Result<(), Box<Error>> {
[INFO] [stderr]    |                             ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 14 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: `batsmt-theory` (lib) generated 1 warning (run `cargo fix --lib -p batsmt-theory` to apply 1 suggestion)
[INFO] [stderr] warning: `batsmt-hast` (lib) generated 4 warnings (run `cargo fix --lib -p batsmt-hast` to apply 2 suggestions)
[INFO] [stderr] warning: `batsmt-theory` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `batsmt-parser` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `batsmt-parser` (example "smtcat") generated 1 warning (run `cargo fix --example "smtcat"` to apply 1 suggestion)
[INFO] [stderr] warning: field `acts` is never read
[INFO] [stderr]    --> src/cc/src/cc.rs:418:5
[INFO] [stderr]     |
[INFO] [stderr] 410 | pub struct MergePhase<'a,'b:'a, C:Ctx> {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 418 |     acts: &'a mut Option<&'b mut dyn Actions<C>>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `HasInjective` is never used
[INFO] [stderr]   --> src/cc/src/theories/th_selector.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub trait HasInjective<F:Eq+Clone> {
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> src/cc/src/cc.rs:494:9
[INFO] [stderr]     |
[INFO] [stderr] 494 |         drop(na);
[INFO] [stderr]     |         ^^^^^--^
[INFO] [stderr]     |              |
[INFO] [stderr]     |              argument has type `&mut cc::NodeDef<AST, <C as BoolLitCtx>::B>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 494 -         drop(na);
[INFO] [stderr] 494 +         let _ = na;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> src/cc/src/cc.rs:495:9
[INFO] [stderr]     |
[INFO] [stderr] 495 |         drop(nb);
[INFO] [stderr]     |         ^^^^^--^
[INFO] [stderr]     |              |
[INFO] [stderr]     |              argument has type `&mut cc::NodeDef<AST, <C as BoolLitCtx>::B>`
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 495 -         drop(nb);
[INFO] [stderr] 495 +         let _ = nb;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> src/cc/src/theories/th_constructor_select.rs:221:21
[INFO] [stderr]     |
[INFO] [stderr] 221 |                     drop(st1);
[INFO] [stderr]     |                     ^^^^^---^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          argument has type `&&th_constructor_select::ReprState<<C as HasConstructorSelect<AST>>::F>`
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 221 -                     drop(st1);
[INFO] [stderr] 221 +                     let _ = st1;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> src/cc/src/theories/th_constructor_select.rs:222:21
[INFO] [stderr]     |
[INFO] [stderr] 222 |                     drop(st2);
[INFO] [stderr]     |                     ^^^^^---^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          argument has type `&&th_constructor_select::ReprState<<C as HasConstructorSelect<AST>>::F>`
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 222 -                     drop(st2);
[INFO] [stderr] 222 +                     let _ = st2;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/tseitin/src/lib.rs:39:24
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn view_as_formula(&self, t: AST) -> View<AST>;
[INFO] [stderr]    |                        ^^^^^             --------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn view_as_formula(&self, t: AST) -> View<'_, AST>;
[INFO] [stderr]    |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/tseitin/src/lib.rs:325:9
[INFO] [stderr]     |
[INFO] [stderr] 325 |         &mut self, m: &mut C, lit_map: &mut LM, t: AST
[INFO] [stderr]     |         ^^^^^^^^^ this lifetime flows to the output
[INFO] [stderr] 326 |     ) -> (impl Iterator<Item=TheoryClauseRef<C>>, impl Iterator<Item=&TheoryLit<C>>)
[INFO] [stderr]     |                              ------------------                      ------------- the lifetimes get resolved as `'_`
[INFO] [stderr]     |                              |
[INFO] [stderr]     |                              the lifetimes get resolved as `'_`
[INFO] [stderr]     |
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 326 |     ) -> (impl Iterator<Item=TheoryClauseRef<'_, C>>, impl Iterator<Item=&TheoryLit<C>>)
[INFO] [stderr]     |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: `batsmt-cc` (lib) generated 6 warnings
[INFO] [stderr] warning: `batsmt-tseitin` (lib) generated 2 warnings
[INFO] [stderr] warning: `batsmt-tseitin` (lib test) generated 2 warnings (2 duplicates)
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/run/src/main.rs:24:29
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn main() -> Result<(), Box<Error>> {
[INFO] [stderr]    |                             ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 24 | fn main() -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]   --> src/run/src/ctx.rs:70:28
[INFO] [stderr]    |
[INFO] [stderr] 70 |         fn view_as_formula(&self, t: AST) -> FView<AST> {
[INFO] [stderr]    |                            ^^^^^             ---------- the lifetime gets resolved as `'_`
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            this lifetime flows to the output
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]    |
[INFO] [stderr] 70 |         fn view_as_formula(&self, t: AST) -> FView<'_, AST> {
[INFO] [stderr]    |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: `batsmt-run` (bin "batsmt-run" test) generated 2 warnings (run `cargo fix --bin "batsmt-run" --tests` to apply 1 suggestion)
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> src/cc/tests/test_cc.rs:149:21
[INFO] [stderr]     |
[INFO] [stderr] 149 |                     drop(c); // before the borrow
[INFO] [stderr]     |                     ^^^^^-^
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          argument has type `&std::collections::HashMap<String, batsmt_hast::AST, BuildHasherDefault<FxHasher>>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dropping_references)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 149 -                     drop(c); // before the borrow
[INFO] [stderr] 149 +                     let _ = c; // before the borrow
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/cc/tests/test_cc.rs:438:50
[INFO] [stderr]     |
[INFO] [stderr] 438 | ...                   let props = props.clone();
[INFO] [stderr]     |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stderr]    --> src/cc/tests/test_cc.rs:439:33
[INFO] [stderr]     |
[INFO] [stderr] 439 | ...                   drop(r1);
[INFO] [stderr]     |                       ^^^^^--^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            argument has type `Result<(&[TermLit], &[Vec<TermLit>]), &[TermLit]>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dropping_copy_types)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 439 -                                 drop(r1);
[INFO] [stderr] 439 +                                 let _ = r1;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> src/cc/tests/test_cc.rs:446:41
[INFO] [stderr]     |
[INFO] [stderr] 446 | ...                   drop(ctx);
[INFO] [stderr]     |                       ^^^^^---^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            argument has type `&mut Ctx`
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 446 -                                         drop(ctx);
[INFO] [stderr] 446 +                                         let _ = ctx;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stderr]    --> src/cc/tests/test_cc.rs:474:50
[INFO] [stderr]     |
[INFO] [stderr] 474 | ...                   let props = props.clone();
[INFO] [stderr]     |                                        ^^^^^^^^ help: remove this redundant call
[INFO] [stderr]     |
[INFO] [stderr]     = 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] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a value that implements `Copy` does nothing
[INFO] [stderr]    --> src/cc/tests/test_cc.rs:475:33
[INFO] [stderr]     |
[INFO] [stderr] 475 | ...                   drop(r1);
[INFO] [stderr]     |                       ^^^^^--^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            argument has type `Result<(&[TermLit], &[Vec<TermLit>]), &[TermLit]>`
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 475 -                                 drop(r1);
[INFO] [stderr] 475 +                                 let _ = r1;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing
[INFO] [stderr]    --> src/cc/tests/test_cc.rs:482:41
[INFO] [stderr]     |
[INFO] [stderr] 482 | ...                   drop(ctx);
[INFO] [stderr]     |                       ^^^^^---^
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            argument has type `&mut Ctx`
[INFO] [stderr]     |
[INFO] [stderr] help: use `let _ = ...` to ignore the expression or result
[INFO] [stderr]     |
[INFO] [stderr] 482 -                                         drop(ctx);
[INFO] [stderr] 482 +                                         let _ = ctx;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/hast/tests/test_ast.rs:349:45
[INFO] [stderr]     |
[INFO] [stderr] 349 |             let mut c = self.0.borrow_mut();;
[INFO] [stderr]     |                                             ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `batsmt-hast` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: `batsmt-cc` (test "test_cc") generated 7 warnings (run `cargo fix --test "test_cc"` to apply 2 suggestions)
[INFO] [stderr] warning: `batsmt-hast` (test "test_ast") generated 1 warning
[INFO] [stderr] warning: `batsmt-core` (lib test) generated 5 warnings (5 duplicates)
[INFO] [stderr] warning: `batsmt-cc` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/batsmt_cc-a46ba3f8a54c165e)
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/test_cc.rs (/opt/rustwide/target/debug/deps/test_cc-f3d1a548e4f3f67a)
[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] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test prop_cc::proptest_naive_cc_backtrack ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/batsmt_core-d8c99c2e62a4b4e9)
[INFO] [stdout] test prop_cc::proptest_cc_is_correct ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.06s
[INFO] [stdout] 
[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 tests/test_core.rs (/opt/rustwide/target/debug/deps/test_core-36ba623b6ada241c)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test backtrack::test_ref ... ok
[INFO] [stdout] test backtrack::test_stack ... ok
[INFO] [stdout] test backtrack::proptest_ref_stack ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/batsmt_hast-7ee697d4f9de6ed9)
[INFO] [stdout] 
[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 tests/test_ast.rs (/opt/rustwide/target/debug/deps/test_ast-4f56a89dae68cd06)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test test_ast::test_const_not_hashconsing ... ok
[INFO] [stdout] test test_ast::test_mk_fun ... ok
[INFO] [stdout] test test_ast::test_mk_str ... ok
[INFO] [stdout] test test_ast::test_view ... ok
[INFO] [stdout] test test_ast::test_iter_dag ... ok
[INFO] [stdout] test test_ast::test_view_const ... ok
[INFO] [stdout] test ast_prop::prop_iter_dag_and_iter_suffix_same_set_of_subterms ... ok
[INFO] [stdout] test test_ast::test_stress_apps ... ok
[INFO] [stdout] test ast_prop::prop_term_size ... ok
[INFO] [stdout] test ast_prop::prop_term_map_id_is_id ... ok
[INFO] [stdout] test ast_prop::prop_iter_suffix_subterms_first ... ok
[INFO] [stdout] test test_ast::test_gc ... ok
[INFO] [stdout] test ast_prop::prop_iter_dag_ref ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/batsmt_logger-b5abef4236346076)
[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/lib.rs (/opt/rustwide/target/debug/deps/batsmt_parser-5ab8290205133116)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test types::test_pp ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/batsmt_pretty-69285f8a586f9604)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_display ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 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/batsmt_run-0907722cdf3d65a8)
[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/lib.rs (/opt/rustwide/target/debug/deps/batsmt_solver-06d6fdc800f310d6)
[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/lib.rs (/opt/rustwide/target/debug/deps/batsmt_theory-aa0381580d24f710)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/batsmt_tseitin-aa76912282950653)
[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] [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] [stderr]    Doc-tests batsmt_cc
[INFO] [stdout] 
[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 batsmt_core
[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 batsmt_hast
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/hast/src/lib.rs:199:39
[INFO] [stderr]     |
[INFO] [stderr] 199 | pub const fn ast_idx(t: AST) -> u32 { (t.idx() >> 2) }
[INFO] [stderr]     |                                       ^            ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 199 - pub const fn ast_idx(t: AST) -> u32 { (t.idx() >> 2) }
[INFO] [stderr] 199 + pub const fn ast_idx(t: AST) -> u32 { t.idx() >> 2 }
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/hast/src/lib.rs:202:27
[INFO] [stderr]     |
[INFO] [stderr] 202 | const AST_MAX_IDX : u32 = (u32::MAX >> 2);
[INFO] [stderr]     |                           ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 202 - const AST_MAX_IDX : u32 = (u32::MAX >> 2);
[INFO] [stderr] 202 + const AST_MAX_IDX : u32 = u32::MAX >> 2;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[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 batsmt_logger
[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 batsmt_parser
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/parser/src/parser.rs:211:34
[INFO] [stderr]     |
[INFO] [stderr] 211 |         let s: Atom = str.into();; // now convert to utf8
[INFO] [stderr]     |                                  ^ help: remove this semicolon
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[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 batsmt_pretty
[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 batsmt_solver
[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 batsmt_theory
[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 batsmt_tseitin
[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" "af379c36275c1eed9f184ec5b444177f72051a6b2d7eabb1deeb8c2760a275f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af379c36275c1eed9f184ec5b444177f72051a6b2d7eabb1deeb8c2760a275f9", kill_on_drop: false }`
[INFO] [stdout] af379c36275c1eed9f184ec5b444177f72051a6b2d7eabb1deeb8c2760a275f9
