[INFO] fetching crate ai_kit 0.1.0...
[INFO] testing ai_kit-0.1.0 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] extracting crate ai_kit 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate ai_kit 0.1.0
[INFO] finished tweaking crates.io crate ai_kit 0.1.0
[INFO] tweaked toml for crates.io crate ai_kit 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ai_kit 0.1.0 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 51 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.5.10 (available: v0.14.0)
[INFO] [stderr]       Adding serde v0.9.15 (available: v1.0.228)
[INFO] [stderr]       Adding serde_derive v0.9.15 (available: v1.0.228)
[INFO] [stderr]       Adding serde_json v0.9.10 (available: v1.0.149)
[INFO] [stderr]       Adding skeptic v0.11.0 (available: v0.13.7)
[INFO] [stderr]       Adding uuid v0.4.0 (available: v1.19.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: 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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd47f825b27ce8767e39f739b1ca01a08067e67b096cdca3146e963d889ab027
[INFO] running `Command { std: "docker" "start" "-a" "fd47f825b27ce8767e39f739b1ca01a08067e67b096cdca3146e963d889ab027", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd47f825b27ce8767e39f739b1ca01a08067e67b096cdca3146e963d889ab027", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd47f825b27ce8767e39f739b1ca01a08067e67b096cdca3146e963d889ab027", kill_on_drop: false }`
[INFO] [stdout] fd47f825b27ce8767e39f739b1ca01a08067e67b096cdca3146e963d889ab027
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 81a5919fdad4af3f54888616ddf112fc0c2fd63d7d63f257f39c9b73eb2a7d9c
[INFO] running `Command { std: "docker" "start" "-a" "81a5919fdad4af3f54888616ddf112fc0c2fd63d7d63f257f39c9b73eb2a7d9c", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling zmij v1.0.14
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling pulldown-cmark v0.0.15
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling same-file v0.1.3
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling walkdir v1.0.7
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling dtoa v0.4.8
[INFO] [stderr]    Compiling itoa v0.3.4
[INFO] [stderr]    Compiling serde v0.9.15
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_derive v0.9.15
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling uuid v0.4.0
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling skeptic v0.11.0
[INFO] [stderr]    Compiling ai_kit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/constraints/mod.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn float(f64) -> Self;
[INFO] [stdout]    |              ^^^ help: try naming the parameter or explicitly ignoring it: `_: f64`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         try!(write!(f, "("));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         try!(write!(f, "Equivalences: {}", self.equivalences_string()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             try!(write!(f, "{} => {}, ", key, val));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:186:21
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn unify(&self, &Self, &Bindings<T>) -> Option<Bindings<T>>;
[INFO] [stdout]     |                     ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:186:28
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn unify(&self, &Self, &Bindings<T>) -> Option<Bindings<T>>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bindings<T>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:189:30
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn apply_bindings(&self, &Bindings<T>) -> Option<Self>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bindings<T>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn rename_variables(&self, &HashMap<String, String>) -> Self;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &HashMap<String, String>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn snowflake(&self, String) -> Self;
[INFO] [stdout]     |                         ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/datum/mod.rs:47:45
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Datum::Int(ref i_value) => Some((i_value.clone() as f64)),
[INFO] [stdout]    |                                             ^                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -             Datum::Int(ref i_value) => Some((i_value.clone() as f64)),
[INFO] [stdout] 47 +             Datum::Int(ref i_value) => Some(i_value.clone() as f64),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/pedigree/mod.rs:83:115
[INFO] [stdout]    |
[INFO] [stdout] 83 | ...   Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences((generation_idx + 1))))
[INFO] [stdout]    |                                                                                                         ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -                 Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences((generation_idx + 1))))
[INFO] [stdout] 83 +                 Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences(generation_idx + 1)))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/pedigree/mod.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         /// Return unify derived from this one
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |         self.pedigree.get_descendents(id)
[INFO] [stdout]     |         --------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/pedigree/mod.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         /// Return all unify derived in and after the specified generation
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 142 |         let mut subsequent_inferences = Vec::new();
[INFO] [stdout]     |         ------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/pedigree/mod.rs:250:23
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub elements: Vec<(Vec<(String, Option<Origin>)>)>,
[INFO] [stdout]     |                       ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 250 -     pub elements: Vec<(Vec<(String, Option<Origin>)>)>,
[INFO] [stdout] 250 +     pub elements: Vec<Vec<(String, Option<Origin>)>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/utils.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut dyn Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/utils.rs:8:64
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &dyn Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut dyn Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:20:78
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &dyn Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constraints/mod.rs:85:32
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn and_then(&self, f: &Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 85 |     pub fn and_then(&self, f: &dyn Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constraints/mod.rs:93:34
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn if_partial(&self, f: &Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 93 |     pub fn if_partial(&self, f: &dyn Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/infer/mod.rs:140:66
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn chain_until(&self, max_iterations: usize, satisfied: &Fn(&U) -> bool) -> (Option<(U, String)>, Self) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 140 |     pub fn chain_until(&self, max_iterations: usize, satisfied: &dyn Fn(&U) -> bool) -> (Option<(U, String)>, Self) {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/planner/mod.rs:234:58
[INFO] [stdout]     |
[INFO] [stdout] 234 | ...                   criteria: &Fn(&Vec<Self>, &Bindings<T>) -> Option<X>)
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 234 |                                               criteria: &dyn Fn(&Vec<Self>, &Bindings<T>) -> Option<X>)
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:383:50
[INFO] [stdout]     |
[INFO] [stdout] 383 | ...                   root_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 383 |                                  root_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:384:50
[INFO] [stdout]     |
[INFO] [stdout] 384 | ...                   node_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 384 |                                  node_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:385:55
[INFO] [stdout]     |
[INFO] [stdout] 385 | ...                   relation_renderder: &Fn(String, String) -> String,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 385 |                                  relation_renderder: &dyn Fn(String, String) -> String,
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:399:55
[INFO] [stdout]     |
[INFO] [stdout] 399 | ...                   node_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 399 |                                       node_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:400:60
[INFO] [stdout]     |
[INFO] [stdout] 400 | ...                   relation_renderder: &Fn(String, String) -> String)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 400 |                                       relation_renderder: &dyn Fn(String, String) -> String)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:423:81
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn render_inference_tree_pedigree(&self, d_id: &String, node_renderer: &Fn(String) -> String) -> String {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 423 |     pub fn render_inference_tree_pedigree(&self, d_id: &String, node_renderer: &dyn Fn(String) -> String) -> String {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/constraints/numerical.rs:126:33
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...   |x: &T, y: &T, op: &Fn(f64, f64) -> f64| -> Option<T> { x.to_float().and_then(|x| y.to_float().and_then(|y| Some(T::float(op(...
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 126 |             |x: &T, y: &T, op: &dyn Fn(f64, f64) -> f64| -> Option<T> { x.to_float().and_then(|x| y.to_float().and_then(|y| Some(T::float(op(x, y))))) };
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pedigree/mod.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut inner_descendents = self.descendents.get_mut(&source_id).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/mod.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `SolveResult` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SolveResult`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/mod.rs:66:52
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                                                    -^^^^^^^^
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `SolveResult` is not local
[INFO] [stdout]    |                                                    `Serialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SolveResult`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/constraints/mod.rs:107:24
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Constraint` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/constraints/mod.rs:107:60
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]     |                                                            ^^^^^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            `Constraint` is not local
[INFO] [stdout]     |                                                            `Serialize` is not local
[INFO] [stdout]     |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Constraint` instead of cloning the inner type
[INFO] [stdout]    --> src/constraints/mod.rs:138:58
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     remaining_constraints.push(constraint.clone());
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/numerical.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `Number` is not local
[INFO] [stdout]   |                                       `Deserialize` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Number`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/numerical.rs:5:75
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                                                           ^^^^^^^^^
[INFO] [stdout]   |                                                                           |
[INFO] [stdout]   |                                                                           `Number` is not local
[INFO] [stdout]   |                                                                           `Serialize` is not local
[INFO] [stdout]   |                                                                           move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Number`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/numerical.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `NumericalConstraint` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/numerical.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `NumericalConstraint` is not local
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/symbolic.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `SymbolicConstraint` is not local
[INFO] [stdout]   |                        `Deserialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/symbolic.rs:5:60
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                                            ^^^^^^^^^
[INFO] [stdout]   |                                                            |
[INFO] [stdout]   |                                                            `SymbolicConstraint` is not local
[INFO] [stdout]   |                                                            `Serialize` is not local
[INFO] [stdout]   |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                 -^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Bindings` is not local
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Bindings`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                                     -^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     `Bindings` is not local
[INFO] [stdout]    |                                     `Serialize` is not local
[INFO] [stdout]    |                                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Bindings`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/datum/mod.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Debug, Serialize, Deserialize, PartialOrd)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Datum` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Datum`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/datum/mod.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Debug, Serialize, Deserialize, PartialOrd)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Datum` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Datum`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/infer/mod.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Negatable` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Negatable`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/infer/mod.rs:14:60
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                                                            -^^^^^^^^
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            `Negatable` is not local
[INFO] [stdout]    |                                                            `Serialize` is not local
[INFO] [stdout]    |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Negatable`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pedigree/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Origin` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pedigree/mod.rs:19:69
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                                                                     ^^^^^^^^^
[INFO] [stdout]    |                                                                     |
[INFO] [stdout]    |                                                                     `Origin` is not local
[INFO] [stdout]    |                                                                     `Serialize` is not local
[INFO] [stdout]    |                                                                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pedigree/mod.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:248:24
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `InferenceChain` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:248:52
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `InferenceChain` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:259:24
[INFO] [stdout]     |
[INFO] [stdout] 259 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Pedigree` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Pedigree`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:259:52
[INFO] [stdout]     |
[INFO] [stdout] 259 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Pedigree` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Pedigree`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/planner/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnificationIndex` is not local
[INFO] [stdout]    |                              `Deserialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/planner/mod.rs:21:58
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                                                          ^^^^^^^^^
[INFO] [stdout]    |                                                          |
[INFO] [stdout]    |                                                          `UnificationIndex` is not local
[INFO] [stdout]    |                                                          `Serialize` is not local
[INFO] [stdout]    |                                                          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/planner/mod.rs:141:24
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        -^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Goal` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Goal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/planner/mod.rs:141:52
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    -^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Goal` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Goal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rule/mod.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Rule` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Rule`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rule/mod.rs:12:48
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                                                -^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Rule` is not local
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Rule`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.96s
[INFO] running `Command { std: "docker" "inspect" "81a5919fdad4af3f54888616ddf112fc0c2fd63d7d63f257f39c9b73eb2a7d9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81a5919fdad4af3f54888616ddf112fc0c2fd63d7d63f257f39c9b73eb2a7d9c", kill_on_drop: false }`
[INFO] [stdout] 81a5919fdad4af3f54888616ddf112fc0c2fd63d7d63f257f39c9b73eb2a7d9c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 4a2209d3c5c38694ac3d90940d09bbf902e73f24898d98cbd60e20b93de79fae
[INFO] running `Command { std: "docker" "start" "-a" "4a2209d3c5c38694ac3d90940d09bbf902e73f24898d98cbd60e20b93de79fae", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling same-file v0.1.3
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling zmij v1.0.14
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling pulldown-cmark v0.0.15
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling walkdir v1.0.7
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling skeptic v0.11.0
[INFO] [stderr]    Compiling ai_kit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/constraints/mod.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn float(f64) -> Self;
[INFO] [stdout]    |              ^^^ help: try naming the parameter or explicitly ignoring it: `_: f64`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         try!(write!(f, "("));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         try!(write!(f, "Equivalences: {}", self.equivalences_string()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             try!(write!(f, "{} => {}, ", key, val));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:186:21
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn unify(&self, &Self, &Bindings<T>) -> Option<Bindings<T>>;
[INFO] [stdout]     |                     ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:186:28
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn unify(&self, &Self, &Bindings<T>) -> Option<Bindings<T>>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bindings<T>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:189:30
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn apply_bindings(&self, &Bindings<T>) -> Option<Self>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bindings<T>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn rename_variables(&self, &HashMap<String, String>) -> Self;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &HashMap<String, String>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn snowflake(&self, String) -> Self;
[INFO] [stdout]     |                         ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/datum/mod.rs:47:45
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Datum::Int(ref i_value) => Some((i_value.clone() as f64)),
[INFO] [stdout]    |                                             ^                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -             Datum::Int(ref i_value) => Some((i_value.clone() as f64)),
[INFO] [stdout] 47 +             Datum::Int(ref i_value) => Some(i_value.clone() as f64),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/pedigree/mod.rs:83:115
[INFO] [stdout]    |
[INFO] [stdout] 83 | ...   Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences((generation_idx + 1))))
[INFO] [stdout]    |                                                                                                         ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -                 Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences((generation_idx + 1))))
[INFO] [stdout] 83 +                 Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences(generation_idx + 1)))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/pedigree/mod.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         /// Return unify derived from this one
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |         self.pedigree.get_descendents(id)
[INFO] [stdout]     |         --------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/pedigree/mod.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         /// Return all unify derived in and after the specified generation
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 142 |         let mut subsequent_inferences = Vec::new();
[INFO] [stdout]     |         ------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/pedigree/mod.rs:250:23
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub elements: Vec<(Vec<(String, Option<Origin>)>)>,
[INFO] [stdout]     |                       ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 250 -     pub elements: Vec<(Vec<(String, Option<Origin>)>)>,
[INFO] [stdout] 250 +     pub elements: Vec<Vec<(String, Option<Origin>)>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/utils.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut dyn Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/utils.rs:8:64
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &dyn Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut dyn Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:20:78
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &dyn Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constraints/mod.rs:85:32
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn and_then(&self, f: &Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 85 |     pub fn and_then(&self, f: &dyn Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constraints/mod.rs:93:34
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn if_partial(&self, f: &Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 93 |     pub fn if_partial(&self, f: &dyn Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/infer/mod.rs:140:66
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn chain_until(&self, max_iterations: usize, satisfied: &Fn(&U) -> bool) -> (Option<(U, String)>, Self) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 140 |     pub fn chain_until(&self, max_iterations: usize, satisfied: &dyn Fn(&U) -> bool) -> (Option<(U, String)>, Self) {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/planner/mod.rs:234:58
[INFO] [stdout]     |
[INFO] [stdout] 234 | ...                   criteria: &Fn(&Vec<Self>, &Bindings<T>) -> Option<X>)
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 234 |                                               criteria: &dyn Fn(&Vec<Self>, &Bindings<T>) -> Option<X>)
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:383:50
[INFO] [stdout]     |
[INFO] [stdout] 383 | ...                   root_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 383 |                                  root_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:384:50
[INFO] [stdout]     |
[INFO] [stdout] 384 | ...                   node_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 384 |                                  node_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:385:55
[INFO] [stdout]     |
[INFO] [stdout] 385 | ...                   relation_renderder: &Fn(String, String) -> String,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 385 |                                  relation_renderder: &dyn Fn(String, String) -> String,
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:399:55
[INFO] [stdout]     |
[INFO] [stdout] 399 | ...                   node_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 399 |                                       node_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:400:60
[INFO] [stdout]     |
[INFO] [stdout] 400 | ...                   relation_renderder: &Fn(String, String) -> String)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 400 |                                       relation_renderder: &dyn Fn(String, String) -> String)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:423:81
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn render_inference_tree_pedigree(&self, d_id: &String, node_renderer: &Fn(String) -> String) -> String {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 423 |     pub fn render_inference_tree_pedigree(&self, d_id: &String, node_renderer: &dyn Fn(String) -> String) -> String {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/constraints/numerical.rs:126:33
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...   |x: &T, y: &T, op: &Fn(f64, f64) -> f64| -> Option<T> { x.to_float().and_then(|x| y.to_float().and_then(|y| Some(T::float(op(...
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 126 |             |x: &T, y: &T, op: &dyn Fn(f64, f64) -> f64| -> Option<T> { x.to_float().and_then(|x| y.to_float().and_then(|y| Some(T::float(op(x, y))))) };
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/constraints/mod.rs:61:14
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn float(f64) -> Self;
[INFO] [stdout]    |              ^^^ help: try naming the parameter or explicitly ignoring it: `_: f64`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         try!(write!(f, "("));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |         try!(write!(f, "Equivalences: {}", self.equivalences_string()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/core/mod.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |             try!(write!(f, "{} => {}, ", key, val));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:186:21
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn unify(&self, &Self, &Bindings<T>) -> Option<Bindings<T>>;
[INFO] [stdout]     |                     ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:186:28
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn unify(&self, &Self, &Bindings<T>) -> Option<Bindings<T>>;
[INFO] [stdout]     |                            ^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bindings<T>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:189:30
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn apply_bindings(&self, &Bindings<T>) -> Option<Self>;
[INFO] [stdout]     |                              ^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bindings<T>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |     fn rename_variables(&self, &HashMap<String, String>) -> Self;
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &HashMap<String, String>`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]    --> src/core/mod.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn snowflake(&self, String) -> Self;
[INFO] [stdout]     |                         ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/datum/mod.rs:47:45
[INFO] [stdout]    |
[INFO] [stdout] 47 |             Datum::Int(ref i_value) => Some((i_value.clone() as f64)),
[INFO] [stdout]    |                                             ^                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 47 -             Datum::Int(ref i_value) => Some((i_value.clone() as f64)),
[INFO] [stdout] 47 +             Datum::Int(ref i_value) => Some(i_value.clone() as f64),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str`
[INFO] [stdout]  --> src/datum/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/pedigree/mod.rs:83:115
[INFO] [stdout]    |
[INFO] [stdout] 83 | ...   Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences((generation_idx + 1))))
[INFO] [stdout]    |                                                                                                         ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -                 Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences((generation_idx + 1))))
[INFO] [stdout] 83 +                 Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences(generation_idx + 1)))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/pedigree/mod.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         /// Return unify derived from this one
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |         self.pedigree.get_descendents(id)
[INFO] [stdout]     |         --------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/pedigree/mod.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         /// Return all unify derived in and after the specified generation
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 142 |         let mut subsequent_inferences = Vec::new();
[INFO] [stdout]     |         ------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/pedigree/mod.rs:250:23
[INFO] [stdout]     |
[INFO] [stdout] 250 |     pub elements: Vec<(Vec<(String, Option<Origin>)>)>,
[INFO] [stdout]     |                       ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 250 -     pub elements: Vec<(Vec<(String, Option<Origin>)>)>,
[INFO] [stdout] 250 +     pub elements: Vec<Vec<(String, Option<Origin>)>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/utils.rs:8:40
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut dyn Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/utils.rs:8:64
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/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] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &dyn Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stdout]   |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut dyn Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/utils.rs:20:78
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &dyn Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stdout]    |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constraints/mod.rs:85:32
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn and_then(&self, f: &Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 85 |     pub fn and_then(&self, f: &dyn Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/constraints/mod.rs:93:34
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn if_partial(&self, f: &Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/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] 93 |     pub fn if_partial(&self, f: &dyn Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/infer/mod.rs:140:66
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub fn chain_until(&self, max_iterations: usize, satisfied: &Fn(&U) -> bool) -> (Option<(U, String)>, Self) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 140 |     pub fn chain_until(&self, max_iterations: usize, satisfied: &dyn Fn(&U) -> bool) -> (Option<(U, String)>, Self) {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/planner/mod.rs:234:58
[INFO] [stdout]     |
[INFO] [stdout] 234 | ...                   criteria: &Fn(&Vec<Self>, &Bindings<T>) -> Option<X>)
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 234 |                                               criteria: &dyn Fn(&Vec<Self>, &Bindings<T>) -> Option<X>)
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pedigree/mod.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut inner_descendents = self.descendents.get_mut(&source_id).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:383:50
[INFO] [stdout]     |
[INFO] [stdout] 383 | ...                   root_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 383 |                                  root_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:384:50
[INFO] [stdout]     |
[INFO] [stdout] 384 | ...                   node_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 384 |                                  node_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:385:55
[INFO] [stdout]     |
[INFO] [stdout] 385 | ...                   relation_renderder: &Fn(String, String) -> String,
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 385 |                                  relation_renderder: &dyn Fn(String, String) -> String,
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:399:55
[INFO] [stdout]     |
[INFO] [stdout] 399 | ...                   node_renderer: &Fn(String) -> String,
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 399 |                                       node_renderer: &dyn Fn(String) -> String,
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:400:60
[INFO] [stdout]     |
[INFO] [stdout] 400 | ...                   relation_renderder: &Fn(String, String) -> String)
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 400 |                                       relation_renderder: &dyn Fn(String, String) -> String)
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pedigree/mod.rs:423:81
[INFO] [stdout]     |
[INFO] [stdout] 423 |     pub fn render_inference_tree_pedigree(&self, d_id: &String, node_renderer: &Fn(String) -> String) -> String {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 423 |     pub fn render_inference_tree_pedigree(&self, d_id: &String, node_renderer: &dyn Fn(String) -> String) -> String {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/constraints/numerical.rs:126:33
[INFO] [stdout]     |
[INFO] [stdout] 126 | ...   |x: &T, y: &T, op: &Fn(f64, f64) -> f64| -> Option<T> { x.to_float().and_then(|x| y.to_float().and_then(|y| Some(T::float(op(...
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/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] 126 |             |x: &T, y: &T, op: &dyn Fn(f64, f64) -> f64| -> Option<T> { x.to_float().and_then(|x| y.to_float().and_then(|y| Some(T::float(op(x, y))))) };
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/mod.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `SolveResult` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SolveResult`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/mod.rs:66:52
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                                                    -^^^^^^^^
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `SolveResult` is not local
[INFO] [stdout]    |                                                    `Serialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SolveResult`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/constraints/mod.rs:107:24
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Constraint` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/constraints/mod.rs:107:60
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]     |                                                            ^^^^^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            `Constraint` is not local
[INFO] [stdout]     |                                                            `Serialize` is not local
[INFO] [stdout]     |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&Constraint` instead of cloning the inner type
[INFO] [stdout]    --> src/constraints/mod.rs:138:58
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     remaining_constraints.push(constraint.clone());
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/numerical.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `Number` is not local
[INFO] [stdout]   |                                       `Deserialize` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Number`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/numerical.rs:5:75
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                                                           ^^^^^^^^^
[INFO] [stdout]   |                                                                           |
[INFO] [stdout]   |                                                                           `Number` is not local
[INFO] [stdout]   |                                                                           `Serialize` is not local
[INFO] [stdout]   |                                                                           move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Number`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/numerical.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `NumericalConstraint` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/numerical.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `NumericalConstraint` is not local
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/symbolic.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `SymbolicConstraint` is not local
[INFO] [stdout]   |                        `Deserialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/symbolic.rs:5:60
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                                            ^^^^^^^^^
[INFO] [stdout]   |                                                            |
[INFO] [stdout]   |                                                            `SymbolicConstraint` is not local
[INFO] [stdout]   |                                                            `Serialize` is not local
[INFO] [stdout]   |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                 -^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Bindings` is not local
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Bindings`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                                     -^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     `Bindings` is not local
[INFO] [stdout]    |                                     `Serialize` is not local
[INFO] [stdout]    |                                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Bindings`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/datum/mod.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Debug, Serialize, Deserialize, PartialOrd)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Datum` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Datum`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/datum/mod.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Debug, Serialize, Deserialize, PartialOrd)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Datum` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Datum`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/infer/mod.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Negatable` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Negatable`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/infer/mod.rs:14:60
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                                                            -^^^^^^^^
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            `Negatable` is not local
[INFO] [stdout]    |                                                            `Serialize` is not local
[INFO] [stdout]    |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Negatable`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pedigree/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Origin` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pedigree/mod.rs:19:69
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                                                                     ^^^^^^^^^
[INFO] [stdout]    |                                                                     |
[INFO] [stdout]    |                                                                     `Origin` is not local
[INFO] [stdout]    |                                                                     `Serialize` is not local
[INFO] [stdout]    |                                                                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pedigree/mod.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:248:24
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `InferenceChain` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:248:52
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `InferenceChain` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:259:24
[INFO] [stdout]     |
[INFO] [stdout] 259 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Pedigree` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Pedigree`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:259:52
[INFO] [stdout]     |
[INFO] [stdout] 259 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Pedigree` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Pedigree`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/planner/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnificationIndex` is not local
[INFO] [stdout]    |                              `Deserialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/planner/mod.rs:21:58
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                                                          ^^^^^^^^^
[INFO] [stdout]    |                                                          |
[INFO] [stdout]    |                                                          `UnificationIndex` is not local
[INFO] [stdout]    |                                                          `Serialize` is not local
[INFO] [stdout]    |                                                          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/planner/mod.rs:141:24
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        -^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Goal` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Goal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/planner/mod.rs:141:52
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    -^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Goal` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Goal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rule/mod.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Rule` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Rule`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rule/mod.rs:12:48
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                                                -^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Rule` is not local
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Rule`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pedigree/mod.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let mut inner_descendents = self.descendents.get_mut(&source_id).unwrap();
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/mod.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `SolveResult` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SolveResult`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/mod.rs:66:52
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                                                    -^^^^^^^^
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    `SolveResult` is not local
[INFO] [stdout]    |                                                    `Serialize` is not local
[INFO] [stdout]    |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SolveResult`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/constraints/mod.rs:107:24
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Constraint` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/constraints/mod.rs:107:60
[INFO] [stdout]     |
[INFO] [stdout] 107 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]     |                                                            ^^^^^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            `Constraint` is not local
[INFO] [stdout]     |                                                            `Serialize` is not local
[INFO] [stdout]     |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Constraint`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&constraints::Constraint` instead of cloning the inner type
[INFO] [stdout]    --> src/constraints/mod.rs:138:58
[INFO] [stdout]     |
[INFO] [stdout] 138 |                     remaining_constraints.push(constraint.clone());
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/numerical.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout]   |                                       |
[INFO] [stdout]   |                                       `Number` is not local
[INFO] [stdout]   |                                       `Deserialize` is not local
[INFO] [stdout]   |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Number`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/numerical.rs:5:75
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                                                           ^^^^^^^^^
[INFO] [stdout]   |                                                                           |
[INFO] [stdout]   |                                                                           `Number` is not local
[INFO] [stdout]   |                                                                           `Serialize` is not local
[INFO] [stdout]   |                                                                           move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Number`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/numerical.rs:35:24
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `NumericalConstraint` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/constraints/numerical.rs:35:48
[INFO] [stdout]    |
[INFO] [stdout] 35 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                                                ^^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `NumericalConstraint` is not local
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/symbolic.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                        ^^^^^^^^^^^
[INFO] [stdout]   |                        |
[INFO] [stdout]   |                        `SymbolicConstraint` is not local
[INFO] [stdout]   |                        `Deserialize` is not local
[INFO] [stdout]   |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/constraints/symbolic.rs:5:60
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]   |                                                            ^^^^^^^^^
[INFO] [stdout]   |                                                            |
[INFO] [stdout]   |                                                            `SymbolicConstraint` is not local
[INFO] [stdout]   |                                                            `Serialize` is not local
[INFO] [stdout]   |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                 -^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `Bindings` is not local
[INFO] [stdout]    |                 `Deserialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Bindings`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/core/mod.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                                     -^^^^^^^^
[INFO] [stdout]    |                                     |
[INFO] [stdout]    |                                     `Bindings` is not local
[INFO] [stdout]    |                                     `Serialize` is not local
[INFO] [stdout]    |                                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Bindings`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/datum/mod.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Debug, Serialize, Deserialize, PartialOrd)]
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Datum` is not local
[INFO] [stdout]    |                        `Serialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Datum`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/datum/mod.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[derive(Clone, Debug, Serialize, Deserialize, PartialOrd)]
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   `Datum` is not local
[INFO] [stdout]    |                                   `Deserialize` is not local
[INFO] [stdout]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Datum`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/infer/mod.rs:14:24
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Negatable` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Negatable`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/infer/mod.rs:14:60
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                                                            -^^^^^^^^
[INFO] [stdout]    |                                                            |
[INFO] [stdout]    |                                                            `Negatable` is not local
[INFO] [stdout]    |                                                            `Serialize` is not local
[INFO] [stdout]    |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Negatable`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pedigree/mod.rs:19:24
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                        ^^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Origin` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/pedigree/mod.rs:19:69
[INFO] [stdout]    |
[INFO] [stdout] 19 | #[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
[INFO] [stdout]    |                                                                     ^^^^^^^^^
[INFO] [stdout]    |                                                                     |
[INFO] [stdout]    |                                                                     `Origin` is not local
[INFO] [stdout]    |                                                                     `Serialize` is not local
[INFO] [stdout]    |                                                                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Origin`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/pedigree/mod.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator<'_> {
[INFO] [stdout]     |                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:248:24
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `InferenceChain` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:248:52
[INFO] [stdout]     |
[INFO] [stdout] 248 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `InferenceChain` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:259:24
[INFO] [stdout]     |
[INFO] [stdout] 259 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Pedigree` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Pedigree`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/pedigree/mod.rs:259:52
[INFO] [stdout]     |
[INFO] [stdout] 259 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    ^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Pedigree` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Pedigree`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/planner/mod.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout]    |                              |
[INFO] [stdout]    |                              `UnificationIndex` is not local
[INFO] [stdout]    |                              `Deserialize` is not local
[INFO] [stdout]    |                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/planner/mod.rs:21:58
[INFO] [stdout]    |
[INFO] [stdout] 21 | #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]    |                                                          ^^^^^^^^^
[INFO] [stdout]    |                                                          |
[INFO] [stdout]    |                                                          `UnificationIndex` is not local
[INFO] [stdout]    |                                                          `Serialize` is not local
[INFO] [stdout]    |                                                          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/planner/mod.rs:141:24
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                        -^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        `Goal` is not local
[INFO] [stdout]     |                        `Deserialize` is not local
[INFO] [stdout]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Goal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/planner/mod.rs:141:52
[INFO] [stdout]     |
[INFO] [stdout] 141 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stdout]     |                                                    -^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    `Goal` is not local
[INFO] [stdout]     |                                                    `Serialize` is not local
[INFO] [stdout]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Goal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rule/mod.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                        -^^^^^^^^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        `Rule` is not local
[INFO] [stdout]    |                        `Deserialize` is not local
[INFO] [stdout]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Rule`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/rule/mod.rs:12:48
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stdout]    |                                                -^^^^^^^^
[INFO] [stdout]    |                                                |
[INFO] [stdout]    |                                                `Rule` is not local
[INFO] [stdout]    |                                                `Serialize` is not local
[INFO] [stdout]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Rule`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 13.52s
[INFO] running `Command { std: "docker" "inspect" "4a2209d3c5c38694ac3d90940d09bbf902e73f24898d98cbd60e20b93de79fae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a2209d3c5c38694ac3d90940d09bbf902e73f24898d98cbd60e20b93de79fae", kill_on_drop: false }`
[INFO] [stdout] 4a2209d3c5c38694ac3d90940d09bbf902e73f24898d98cbd60e20b93de79fae
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 220d2dd5864f6b34ee5c28998be14c68f3f03a66ae87a859f9c95650f65c8e5b
[INFO] running `Command { std: "docker" "start" "-a" "220d2dd5864f6b34ee5c28998be14c68f3f03a66ae87a859f9c95650f65c8e5b", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling ai_kit v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/constraints/mod.rs:61:14
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn float(f64) -> Self;
[INFO] [stderr]    |              ^^^ help: try naming the parameter or explicitly ignoring it: `_: f64`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/core/mod.rs:169:9
[INFO] [stderr]     |
[INFO] [stderr] 169 |         try!(write!(f, "("));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/core/mod.rs:176:9
[INFO] [stderr]     |
[INFO] [stderr] 176 |         try!(write!(f, "Equivalences: {}", self.equivalences_string()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/core/mod.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 174 |             try!(write!(f, "{} => {}, ", key, val));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/core/mod.rs:186:21
[INFO] [stderr]     |
[INFO] [stderr] 186 |     fn unify(&self, &Self, &Bindings<T>) -> Option<Bindings<T>>;
[INFO] [stderr]     |                     ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/core/mod.rs:186:28
[INFO] [stderr]     |
[INFO] [stderr] 186 |     fn unify(&self, &Self, &Bindings<T>) -> Option<Bindings<T>>;
[INFO] [stderr]     |                            ^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bindings<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/core/mod.rs:189:30
[INFO] [stderr]     |
[INFO] [stderr] 189 |     fn apply_bindings(&self, &Bindings<T>) -> Option<Self>;
[INFO] [stderr]     |                              ^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Bindings<T>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/core/mod.rs:195:32
[INFO] [stderr]     |
[INFO] [stderr] 195 |     fn rename_variables(&self, &HashMap<String, String>) -> Self;
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &HashMap<String, String>`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]    --> src/core/mod.rs:209:25
[INFO] [stderr]     |
[INFO] [stderr] 209 |     fn snowflake(&self, String) -> Self;
[INFO] [stderr]     |                         ^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: String`
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/datum/mod.rs:47:45
[INFO] [stderr]    |
[INFO] [stderr] 47 |             Datum::Int(ref i_value) => Some((i_value.clone() as f64)),
[INFO] [stderr]    |                                             ^                      ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 47 -             Datum::Int(ref i_value) => Some((i_value.clone() as f64)),
[INFO] [stderr] 47 +             Datum::Int(ref i_value) => Some(i_value.clone() as f64),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]   --> src/pedigree/mod.rs:83:115
[INFO] [stderr]    |
[INFO] [stderr] 83 | ...   Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences((generation_idx + 1))))
[INFO] [stderr]    |                                                                                                         ^                  ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 83 -                 Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences((generation_idx + 1))))
[INFO] [stderr] 83 +                 Some((construct_id_origin_tuples_for_generation(generation), self.inf_graph.subsequent_inferences(generation_idx + 1)))
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/pedigree/mod.rs:136:9
[INFO] [stderr]     |
[INFO] [stderr] 136 |         /// Return unify derived from this one
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 137 |         self.pedigree.get_descendents(id)
[INFO] [stderr]     |         --------------------------------- rustdoc does not generate documentation for expressions
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/pedigree/mod.rs:141:9
[INFO] [stderr]     |
[INFO] [stderr] 141 |         /// Return all unify derived in and after the specified generation
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 142 |         let mut subsequent_inferences = Vec::new();
[INFO] [stderr]     |         ------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/pedigree/mod.rs:250:23
[INFO] [stderr]     |
[INFO] [stderr] 250 |     pub elements: Vec<(Vec<(String, Option<Origin>)>)>,
[INFO] [stderr]     |                       ^                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 250 -     pub elements: Vec<(Vec<(String, Option<Origin>)>)>,
[INFO] [stderr] 250 +     pub elements: Vec<Vec<(String, Option<Origin>)>>,
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/utils.rs:8:40
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stderr]   |                                        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn map_while_some<A, E>(iter: &mut dyn Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stderr]   |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/utils.rs:8:64
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stderr]   |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/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] 8 | pub fn map_while_some<A, E>(iter: &mut Iterator<Item = E>, f: &dyn Fn(E) -> Option<A>) -> Option<Vec<A>> {
[INFO] [stderr]   |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/utils.rs:20:54
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/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 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut dyn Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stderr]    |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/utils.rs:20:78
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stderr]    |                                                                              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/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 | pub fn fold_while_some<A, E>(init_acc: A, iter: &mut Iterator<Item = E>, f: &dyn Fn(A, E) -> Option<A>) -> Option<A> {
[INFO] [stderr]    |                                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/constraints/mod.rs:85:32
[INFO] [stderr]    |
[INFO] [stderr] 85 |     pub fn and_then(&self, f: &Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/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] 85 |     pub fn and_then(&self, f: &dyn Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/constraints/mod.rs:93:34
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub fn if_partial(&self, f: &Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/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] 93 |     pub fn if_partial(&self, f: &dyn Fn(&Bindings<T>) -> Self) -> Self {
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/infer/mod.rs:140:66
[INFO] [stderr]     |
[INFO] [stderr] 140 |     pub fn chain_until(&self, max_iterations: usize, satisfied: &Fn(&U) -> bool) -> (Option<(U, String)>, Self) {
[INFO] [stderr]     |                                                                  ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 140 |     pub fn chain_until(&self, max_iterations: usize, satisfied: &dyn Fn(&U) -> bool) -> (Option<(U, String)>, Self) {
[INFO] [stderr]     |                                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/planner/mod.rs:234:58
[INFO] [stderr]     |
[INFO] [stderr] 234 | ...                   criteria: &Fn(&Vec<Self>, &Bindings<T>) -> Option<X>)
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 234 |                                               criteria: &dyn Fn(&Vec<Self>, &Bindings<T>) -> Option<X>)
[INFO] [stderr]     |                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pedigree/mod.rs:383:50
[INFO] [stderr]     |
[INFO] [stderr] 383 | ...                   root_renderer: &Fn(String) -> String,
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 383 |                                  root_renderer: &dyn Fn(String) -> String,
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pedigree/mod.rs:384:50
[INFO] [stderr]     |
[INFO] [stderr] 384 | ...                   node_renderer: &Fn(String) -> String,
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 384 |                                  node_renderer: &dyn Fn(String) -> String,
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pedigree/mod.rs:385:55
[INFO] [stderr]     |
[INFO] [stderr] 385 | ...                   relation_renderder: &Fn(String, String) -> String,
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 385 |                                  relation_renderder: &dyn Fn(String, String) -> String,
[INFO] [stderr]     |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pedigree/mod.rs:399:55
[INFO] [stderr]     |
[INFO] [stderr] 399 | ...                   node_renderer: &Fn(String) -> String,
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 399 |                                       node_renderer: &dyn Fn(String) -> String,
[INFO] [stderr]     |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pedigree/mod.rs:400:60
[INFO] [stderr]     |
[INFO] [stderr] 400 | ...                   relation_renderder: &Fn(String, String) -> String)
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 400 |                                       relation_renderder: &dyn Fn(String, String) -> String)
[INFO] [stderr]     |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pedigree/mod.rs:423:81
[INFO] [stderr]     |
[INFO] [stderr] 423 |     pub fn render_inference_tree_pedigree(&self, d_id: &String, node_renderer: &Fn(String) -> String) -> String {
[INFO] [stderr]     |                                                                                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 423 |     pub fn render_inference_tree_pedigree(&self, d_id: &String, node_renderer: &dyn Fn(String) -> String) -> String {
[INFO] [stderr]     |                                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/constraints/numerical.rs:126:33
[INFO] [stderr]     |
[INFO] [stderr] 126 | ...   |x: &T, y: &T, op: &Fn(f64, f64) -> f64| -> Option<T> { x.to_float().and_then(|x| y.to_float().and_then(|y| Some(T::float(op(...
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/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] 126 |             |x: &T, y: &T, op: &dyn Fn(f64, f64) -> f64| -> Option<T> { x.to_float().and_then(|x| y.to_float().and_then(|y| Some(T::float(op(x, y))))) };
[INFO] [stderr]     |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str`
[INFO] [stderr]  --> src/datum/tests.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::str;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/pedigree/mod.rs:286:13
[INFO] [stderr]     |
[INFO] [stderr] 286 |         let mut inner_descendents = self.descendents.get_mut(&source_id).unwrap();
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/constraints/mod.rs:66:24
[INFO] [stderr]    |
[INFO] [stderr] 66 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]    |                        -^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `SolveResult` is not local
[INFO] [stderr]    |                        `Deserialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SolveResult`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/constraints/mod.rs:66:52
[INFO] [stderr]    |
[INFO] [stderr] 66 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]    |                                                    -^^^^^^^^
[INFO] [stderr]    |                                                    |
[INFO] [stderr]    |                                                    `SolveResult` is not local
[INFO] [stderr]    |                                                    `Serialize` is not local
[INFO] [stderr]    |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SolveResult`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/constraints/mod.rs:107:24
[INFO] [stderr]     |
[INFO] [stderr] 107 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]     |                        ^^^^^^^^^^^
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `Constraint` is not local
[INFO] [stderr]     |                        `Deserialize` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Constraint`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/constraints/mod.rs:107:60
[INFO] [stderr]     |
[INFO] [stderr] 107 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]     |                                                            ^^^^^^^^^
[INFO] [stderr]     |                                                            |
[INFO] [stderr]     |                                                            `Constraint` is not local
[INFO] [stderr]     |                                                            `Serialize` is not local
[INFO] [stderr]     |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Constraint`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&Constraint` instead of cloning the inner type
[INFO] [stderr]    --> src/constraints/mod.rs:138:58
[INFO] [stderr]     |
[INFO] [stderr] 138 |                     remaining_constraints.push(constraint.clone());
[INFO] [stderr]     |                                                          ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/constraints/numerical.rs:5:39
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]   |                                       ^^^^^^^^^^^
[INFO] [stderr]   |                                       |
[INFO] [stderr]   |                                       `Number` is not local
[INFO] [stderr]   |                                       `Deserialize` is not local
[INFO] [stderr]   |                                       move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Number`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/constraints/numerical.rs:5:75
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]   |                                                                           ^^^^^^^^^
[INFO] [stderr]   |                                                                           |
[INFO] [stderr]   |                                                                           `Number` is not local
[INFO] [stderr]   |                                                                           `Serialize` is not local
[INFO] [stderr]   |                                                                           move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Number`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/constraints/numerical.rs:35:24
[INFO] [stderr]    |
[INFO] [stderr] 35 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stderr]    |                        ^^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `NumericalConstraint` is not local
[INFO] [stderr]    |                        `Deserialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_NumericalConstraint`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/constraints/numerical.rs:35:48
[INFO] [stderr]    |
[INFO] [stderr] 35 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stderr]    |                                                ^^^^^^^^^
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `NumericalConstraint` is not local
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_NumericalConstraint`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/constraints/symbolic.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]   |                        ^^^^^^^^^^^
[INFO] [stderr]   |                        |
[INFO] [stderr]   |                        `SymbolicConstraint` is not local
[INFO] [stderr]   |                        `Deserialize` is not local
[INFO] [stderr]   |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_SymbolicConstraint`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]  --> src/constraints/symbolic.rs:5:60
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]   |                                                            ^^^^^^^^^
[INFO] [stderr]   |                                                            |
[INFO] [stderr]   |                                                            `SymbolicConstraint` is not local
[INFO] [stderr]   |                                                            `Serialize` is not local
[INFO] [stderr]   |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_SymbolicConstraint`
[INFO] [stderr]   |
[INFO] [stderr]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/core/mod.rs:26:17
[INFO] [stderr]    |
[INFO] [stderr] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stderr]    |                 -^^^^^^^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 `Bindings` is not local
[INFO] [stderr]    |                 `Deserialize` is not local
[INFO] [stderr]    |                 move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Bindings`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/core/mod.rs:26:37
[INFO] [stderr]    |
[INFO] [stderr] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stderr]    |                                     -^^^^^^^^
[INFO] [stderr]    |                                     |
[INFO] [stderr]    |                                     `Bindings` is not local
[INFO] [stderr]    |                                     `Serialize` is not local
[INFO] [stderr]    |                                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Bindings`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/datum/mod.rs:13:24
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(Clone, Debug, Serialize, Deserialize, PartialOrd)]
[INFO] [stderr]    |                        ^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `Datum` is not local
[INFO] [stderr]    |                        `Serialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Datum`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/datum/mod.rs:13:35
[INFO] [stderr]    |
[INFO] [stderr] 13 | #[derive(Clone, Debug, Serialize, Deserialize, PartialOrd)]
[INFO] [stderr]    |                                   ^^^^^^^^^^^
[INFO] [stderr]    |                                   |
[INFO] [stderr]    |                                   `Datum` is not local
[INFO] [stderr]    |                                   `Deserialize` is not local
[INFO] [stderr]    |                                   move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Datum`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/infer/mod.rs:14:24
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]    |                        -^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `Negatable` is not local
[INFO] [stderr]    |                        `Deserialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Negatable`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/infer/mod.rs:14:60
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Clone, Debug, Deserialize, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]    |                                                            -^^^^^^^^
[INFO] [stderr]    |                                                            |
[INFO] [stderr]    |                                                            `Negatable` is not local
[INFO] [stderr]    |                                                            `Serialize` is not local
[INFO] [stderr]    |                                                            move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Negatable`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/pedigree/mod.rs:19:24
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]    |                        ^^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `Origin` is not local
[INFO] [stderr]    |                        `Deserialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Origin`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/pedigree/mod.rs:19:69
[INFO] [stderr]    |
[INFO] [stderr] 19 | #[derive(Clone, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
[INFO] [stderr]    |                                                                     ^^^^^^^^^
[INFO] [stderr]    |                                                                     |
[INFO] [stderr]    |                                                                     `Origin` is not local
[INFO] [stderr]    |                                                                     `Serialize` is not local
[INFO] [stderr]    |                                                                     move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Origin`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/pedigree/mod.rs:116:22
[INFO] [stderr]     |
[INFO] [stderr] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator {
[INFO] [stderr]     |                      ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator<'_> {
[INFO] [stderr]     |                                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/pedigree/mod.rs:248:24
[INFO] [stderr]     |
[INFO] [stderr] 248 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]     |                        ^^^^^^^^^^^
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `InferenceChain` is not local
[INFO] [stderr]     |                        `Deserialize` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_InferenceChain`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/pedigree/mod.rs:248:52
[INFO] [stderr]     |
[INFO] [stderr] 248 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]     |                                                    ^^^^^^^^^
[INFO] [stderr]     |                                                    |
[INFO] [stderr]     |                                                    `InferenceChain` is not local
[INFO] [stderr]     |                                                    `Serialize` is not local
[INFO] [stderr]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_InferenceChain`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/pedigree/mod.rs:259:24
[INFO] [stderr]     |
[INFO] [stderr] 259 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]     |                        ^^^^^^^^^^^
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `Pedigree` is not local
[INFO] [stderr]     |                        `Deserialize` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Pedigree`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/pedigree/mod.rs:259:52
[INFO] [stderr]     |
[INFO] [stderr] 259 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]     |                                                    ^^^^^^^^^
[INFO] [stderr]     |                                                    |
[INFO] [stderr]     |                                                    `Pedigree` is not local
[INFO] [stderr]     |                                                    `Serialize` is not local
[INFO] [stderr]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Pedigree`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/planner/mod.rs:21:30
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]    |                              ^^^^^^^^^^^
[INFO] [stderr]    |                              |
[INFO] [stderr]    |                              `UnificationIndex` is not local
[INFO] [stderr]    |                              `Deserialize` is not local
[INFO] [stderr]    |                              move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_UnificationIndex`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/planner/mod.rs:21:58
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[derive(Clone, Copy, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]    |                                                          ^^^^^^^^^
[INFO] [stderr]    |                                                          |
[INFO] [stderr]    |                                                          `UnificationIndex` is not local
[INFO] [stderr]    |                                                          `Serialize` is not local
[INFO] [stderr]    |                                                          move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_UnificationIndex`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/planner/mod.rs:141:24
[INFO] [stderr]     |
[INFO] [stderr] 141 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]     |                        -^^^^^^^^^^
[INFO] [stderr]     |                        |
[INFO] [stderr]     |                        `Goal` is not local
[INFO] [stderr]     |                        `Deserialize` is not local
[INFO] [stderr]     |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Goal`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/planner/mod.rs:141:52
[INFO] [stderr]     |
[INFO] [stderr] 141 | #[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
[INFO] [stderr]     |                                                    -^^^^^^^^
[INFO] [stderr]     |                                                    |
[INFO] [stderr]     |                                                    `Goal` is not local
[INFO] [stderr]     |                                                    `Serialize` is not local
[INFO] [stderr]     |                                                    move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Goal`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/rule/mod.rs:12:24
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stderr]    |                        -^^^^^^^^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        `Rule` is not local
[INFO] [stderr]    |                        `Deserialize` is not local
[INFO] [stderr]    |                        move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Rule`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/rule/mod.rs:12:48
[INFO] [stderr]    |
[INFO] [stderr] 12 | #[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
[INFO] [stderr]    |                                                -^^^^^^^^
[INFO] [stderr]    |                                                |
[INFO] [stderr]    |                                                `Rule` is not local
[INFO] [stderr]    |                                                `Serialize` is not local
[INFO] [stderr]    |                                                move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Rule`
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&constraints::Constraint` instead of cloning the inner type
[INFO] [stderr]    --> src/constraints/mod.rs:138:58
[INFO] [stderr]     |
[INFO] [stderr] 138 |                     remaining_constraints.push(constraint.clone());
[INFO] [stderr]     |                                                          ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ai_kit` (lib) generated 60 warnings (run `cargo fix --lib -p ai_kit` to apply 26 suggestions)
[INFO] [stdout] 
[INFO] [stderr] warning: `ai_kit` (lib test) generated 61 warnings (59 duplicates) (run `cargo fix --lib -p ai_kit --tests` to apply 1 suggestion)
[INFO] [stdout] running 59 tests
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.88s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/ai_kit/6a67762faa3b6e0f/deps/ai_kit-6a67762faa3b6e0f)
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_greater_than_constraint_fails ... ok
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_greater_than_constraint_succeeds ... ok
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_mul_constraint_backward ... ok
[INFO] [stdout] test constraints::tests::solver_tests::test_solve_multi_constraint ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_eq_returns_partial_if_second_variable_is_undefined ... ok
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_sum_constraint_backward ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_eq_returns_partial_if_first_variable_is_undefined ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_neq_returns_conflict ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_neq_returns_partial_if_first_variable_is_undefined ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_neq_returns_partial_if_second_variable_is_undefined ... ok
[INFO] [stdout] test core::tests::bindings_tests::test_setting_variable_as_value_adds_to_equivalence ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_neq_returns_success ... ok
[INFO] [stdout] test core::tests::bindings_tests::test_merge ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_bindings_in_other_match ... ok
[INFO] [stdout] test core::tests::bindings_tests::test_setting_variable_sets_value_for_all_equivalents ... ok
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_mul_constraint_forward ... ok
[INFO] [stdout] test datum::tests::test_unify_fails_when_bindings_conflict ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_bindings_in_self_match ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_match_with_new_variable_in_other ... ok
[INFO] [stdout] test constraints::tests::solver_tests::test_solve_multi_constraint_terminates_when_unsolvable ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_match_with_new_variable_in_self ... ok
[INFO] [stdout] test datum::tests::test_unify_fails_when_no_match ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_eq_returns_conflict ... ok
[INFO] [stdout] test infer::tests::test_forward_chain ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_eq_returns_success ... ok
[INFO] [stdout] test datum::tests::test_unify_with_nesting ... ok
[INFO] [stdout] test planner::tests::first_goal_to_increment_tests::test_first_goal_to_increment_with_all_init ... ok
[INFO] [stdout] test infer::tests::test_chain_forward_with_negative_goals ... ok
[INFO] [stdout] test planner::tests::first_goal_to_increment_tests::test_first_goal_to_increment_with_exhausted_goal ... ok
[INFO] [stdout] test planner::tests::first_goal_to_increment_tests::test_first_goal_to_increment_with_no_init ... ok
[INFO] [stdout] test pedigree::tests::test_backward_iterator ... ok
[INFO] [stdout] test planner::tests::misc_tests::test_find_reused_datum_returns_nothing_when_no_reuse ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_variables_match ... ok
[INFO] [stdout] test planner::tests::misc_tests::test_find_reused_datum_returns_reused_datum ... ok
[INFO] [stdout] test planner::tests::first_goal_to_increment_tests::test_first_goal_to_increment_with_no_exhausted_goals ... ok
[INFO] [stdout] test planner::tests::first_goal_to_increment_tests::test_first_goal_to_increment_with_partial_init ... ok
[INFO] [stdout] test planner::tests::first_goal_to_increment_tests::test_first_goal_to_increment_with_all_exhausted ... ok
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_sum_constraint_forward ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_with_matching_vectors ... ok
[INFO] [stdout] test planner::tests::plan_iterator_tests::test_plan_for_nlp ... ok
[INFO] [stdout] test pedigree::tests::test_extract_inference_graph ... ok
[INFO] [stdout] test planner::tests::create_subgoals_tests::test_create_subgoals ... ok
[INFO] [stdout] test infer::tests::test_chain_until_match_updates_pedigree ... ok
[INFO] [stdout] test rule::tests::test_rule_reverse_application ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_true_for_deeply_nested_plan ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_true_for_satisfying_datum ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_false_for_non_satisfying_datum ... ok
[INFO] [stdout] test planner::tests::increment_tests::test_initial_increment_of_root_goal ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_true_for_shallowly_nested_plan ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_false_for_incomplete_nested_plan ... ok
[INFO] [stdout] test planner::tests::solve_tests::test_solve_conjunction ... ok
[INFO] [stdout] test planner::tests::solve_tests::test_solve_conjunction_respects_bindings_at_creation ... ok
[INFO] [stdout] test rule::tests::test_rule_application ... ok
[INFO] [stdout] test rule::tests::test_rule_application_with_no_antecedents ... ok
[INFO] [stdout] test rule::tests::test_snowflake ... ok
[INFO] [stdout] test infer::tests::test_chain_until_match ... ok
[INFO] [stdout] test planner::tests::plan_iterator_tests::test_plan_iterator ... ok
[INFO] [stdout] test planner::tests::solve_tests::test_solve_conjunction_with_criteria ... ok
[INFO] [stdout] test planner::tests::plan_iterator_tests::test_plan_with_goal_constraint ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 59 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/skeptic.rs (/opt/rustwide/target/debug/build/ai_kit/43b89cb0bef2c1a5/deps/skeptic-43b89cb0bef2c1a5)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stderr] error: test failed, to rerun pass `--test skeptic`
[INFO] [stdout] test readme_2 ... FAILED
[INFO] [stdout] test readme_0 ... FAILED
[INFO] [stdout] test readme_1 ... FAILED
[INFO] [stdout] test readme_3 ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- readme_2 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'readme_2' (183) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64:
[INFO] [stdout] failed to read dependencies: Error(Toml(Error { inner: ErrorInner { kind: Custom, line: None, col: 0, message: "missing field `root`", key: [] } }), State { next_error: None })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b67d3b38f72 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b67d3b38f72 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b67d3b38f72 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b67d3b38f72 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b67d3b4fa2a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b67d3b4fa2a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5b67d3b3f416 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b67d3b3f416 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b67d3b1588f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b67d3b1588f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b67d3b30a69 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b67d3a4ab0e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5b67d3a4ab0e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b67d3b30c22 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5b67d3b30c22 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b67d3b15948 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b67d3b0d179 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b67d3b1679d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b67d3b5013c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b67d3b4feb2 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5b67d3aa9f7d - <core[8f93d80df273fe75]::result::Result<alloc[40b2bae28975ac47]::vec::Vec<skeptic[43ca9ce3b17869fe]::rt::Fingerprint>, skeptic[43ca9ce3b17869fe]::rt::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5b67d3a87e34 - skeptic[43ca9ce3b17869fe]::rt::compile_test_case
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64
[INFO] [stdout]   22:     0x5b67d3a88704 - skeptic[43ca9ce3b17869fe]::rt::run_test
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:576:9
[INFO] [stdout]   23:     0x5b67d3a3e9aa - skeptic[b78d17de2b610b73]::readme_2
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit/cf008db34588b1f5/build-script-execution/out/skeptic-tests.rs:120:5
[INFO] [stdout]   24:     0x5b67d3a3e707 - skeptic[b78d17de2b610b73]::readme_2::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit/cf008db34588b1f5/build-script-execution/out/skeptic-tests.rs:61:22
[INFO] [stdout]   25:     0x5b67d3a3edd6 - <skeptic[b78d17de2b610b73]::readme_2::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5b67d3a3eebb - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5b67d3a3eebb - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   28:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   29:     0x5b67d3a4b71a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   30:     0x5b67d3a4b71a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x5b67d3a4b71a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x5b67d3a4b71a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   34:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   35:     0x5b67d3a45be4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   36:     0x5b67d3a45be4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x5b67d3a4e212 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   38:     0x5b67d3a4e212 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   39:     0x5b67d3a4e212 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x5b67d3a4e212 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x5b67d3a4e212 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5b67d3a4e212 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   43:     0x5b67d3a4e212 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5b67d3b3879f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   45:     0x5b67d3b3879f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   46:     0x77c52221faa4 - <unknown>
[INFO] [stdout]   47:     0x77c5222aca64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- readme_0 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'readme_0' (181) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64:
[INFO] [stdout] failed to read dependencies: Error(Toml(Error { inner: ErrorInner { kind: Custom, line: None, col: 0, message: "missing field `root`", key: [] } }), State { next_error: None })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b67d3b38f72 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b67d3b38f72 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b67d3b38f72 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b67d3b38f72 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b67d3b4fa2a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b67d3b4fa2a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5b67d3b3f416 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b67d3b3f416 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b67d3b1588f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b67d3b1588f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b67d3b30a69 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b67d3a4ab0e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5b67d3a4ab0e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b67d3b30c22 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5b67d3b30c22 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b67d3b15948 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b67d3b0d179 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b67d3b1679d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b67d3b5013c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b67d3b4feb2 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5b67d3aa9f7d - <core[8f93d80df273fe75]::result::Result<alloc[40b2bae28975ac47]::vec::Vec<skeptic[43ca9ce3b17869fe]::rt::Fingerprint>, skeptic[43ca9ce3b17869fe]::rt::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5b67d3a87e34 - skeptic[43ca9ce3b17869fe]::rt::compile_test_case
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64
[INFO] [stdout]   22:     0x5b67d3a88704 - skeptic[43ca9ce3b17869fe]::rt::run_test
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:576:9
[INFO] [stdout]   23:     0x5b67d3a3e82a - skeptic[b78d17de2b610b73]::readme_0
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit/cf008db34588b1f5/build-script-execution/out/skeptic-tests.rs:27:5
[INFO] [stdout]   24:     0x5b67d3a3e6a7 - skeptic[b78d17de2b610b73]::readme_0::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit/cf008db34588b1f5/build-script-execution/out/skeptic-tests.rs:2:22
[INFO] [stdout]   25:     0x5b67d3a3ed56 - <skeptic[b78d17de2b610b73]::readme_0::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5b67d3a3eebb - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5b67d3a3eebb - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   28:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   29:     0x5b67d3a4b71a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   30:     0x5b67d3a4b71a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x5b67d3a4b71a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x5b67d3a4b71a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   34:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   35:     0x5b67d3a45be4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   36:     0x5b67d3a45be4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x5b67d3a4e212 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   38:     0x5b67d3a4e212 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   39:     0x5b67d3a4e212 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x5b67d3a4e212 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x5b67d3a4e212 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5b67d3a4e212 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   43:     0x5b67d3a4e212 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5b67d3b3879f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   45:     0x5b67d3b3879f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   46:     0x77c52221faa4 - <unknown>
[INFO] [stdout]   47:     0x77c5222aca64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- readme_1 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'readme_1' (182) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64:
[INFO] [stdout] failed to read dependencies: Error(Toml(Error { inner: ErrorInner { kind: Custom, line: None, col: 0, message: "missing field `root`", key: [] } }), State { next_error: None })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b67d3b38f72 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b67d3b38f72 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b67d3b38f72 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b67d3b38f72 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b67d3b4fa2a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b67d3b4fa2a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5b67d3b3f416 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b67d3b3f416 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b67d3b1588f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b67d3b1588f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b67d3b30a69 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b67d3a4ab0e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5b67d3a4ab0e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b67d3b30c22 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5b67d3b30c22 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b67d3b15948 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b67d3b0d179 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b67d3b1679d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b67d3b5013c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b67d3b4feb2 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5b67d3aa9f7d - <core[8f93d80df273fe75]::result::Result<alloc[40b2bae28975ac47]::vec::Vec<skeptic[43ca9ce3b17869fe]::rt::Fingerprint>, skeptic[43ca9ce3b17869fe]::rt::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5b67d3a87e34 - skeptic[43ca9ce3b17869fe]::rt::compile_test_case
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64
[INFO] [stdout]   22:     0x5b67d3a88704 - skeptic[43ca9ce3b17869fe]::rt::run_test
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:576:9
[INFO] [stdout]   23:     0x5b67d3a3e8ea - skeptic[b78d17de2b610b73]::readme_1
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit/cf008db34588b1f5/build-script-execution/out/skeptic-tests.rs:58:5
[INFO] [stdout]   24:     0x5b67d3a3e6d7 - skeptic[b78d17de2b610b73]::readme_1::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit/cf008db34588b1f5/build-script-execution/out/skeptic-tests.rs:30:22
[INFO] [stdout]   25:     0x5b67d3a3ed96 - <skeptic[b78d17de2b610b73]::readme_1::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5b67d3a3eebb - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5b67d3a3eebb - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   28:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   29:     0x5b67d3a4b71a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   30:     0x5b67d3a4b71a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x5b67d3a4b71a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x5b67d3a4b71a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   34:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   35:     0x5b67d3a45be4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   36:     0x5b67d3a45be4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x5b67d3a4e212 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   38:     0x5b67d3a4e212 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   39:     0x5b67d3a4e212 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x5b67d3a4e212 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x5b67d3a4e212 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5b67d3a4e212 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   43:     0x5b67d3a4e212 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5b67d3b3879f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   45:     0x5b67d3b3879f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   46:     0x77c52221faa4 - <unknown>
[INFO] [stdout]   47:     0x77c5222aca64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- readme_3 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'readme_3' (184) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64:
[INFO] [stdout] failed to read dependencies: Error(Toml(Error { inner: ErrorInner { kind: Custom, line: None, col: 0, message: "missing field `root`", key: [] } }), State { next_error: None })
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5b67d3b38f72 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5b67d3b38f72 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5b67d3b38f72 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5b67d3b38f72 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5b67d3b4fa2a - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5b67d3b4fa2a - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x5b67d3b3f416 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5b67d3b3f416 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5b67d3b1588f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5b67d3b1588f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5b67d3b30a69 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5b67d3a4ab0e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5b67d3a4ab0e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5b67d3b30c22 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5b67d3b30c22 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5b67d3b15948 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5b67d3b0d179 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5b67d3b1679d - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5b67d3b5013c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5b67d3b4feb2 - core[8f93d80df273fe75]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5b67d3aa9f7d - <core[8f93d80df273fe75]::result::Result<alloc[40b2bae28975ac47]::vec::Vec<skeptic[43ca9ce3b17869fe]::rt::Fingerprint>, skeptic[43ca9ce3b17869fe]::rt::Error>>::expect
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5b67d3a87e34 - skeptic[43ca9ce3b17869fe]::rt::compile_test_case
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64
[INFO] [stdout]   22:     0x5b67d3a88704 - skeptic[43ca9ce3b17869fe]::rt::run_test
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:576:9
[INFO] [stdout]   23:     0x5b67d3a3ea6a - skeptic[b78d17de2b610b73]::readme_3
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit/cf008db34588b1f5/build-script-execution/out/skeptic-tests.rs:215:5
[INFO] [stdout]   24:     0x5b67d3a3e737 - skeptic[b78d17de2b610b73]::readme_3::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit/cf008db34588b1f5/build-script-execution/out/skeptic-tests.rs:123:22
[INFO] [stdout]   25:     0x5b67d3a3ee16 - <skeptic[b78d17de2b610b73]::readme_3::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5b67d3a3eebb - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5b67d3a3eebb - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   28:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   29:     0x5b67d3a4b71a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   30:     0x5b67d3a4b71a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x5b67d3a4b71a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x5b67d3a4b71a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   34:     0x5b67d3a4b71a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   35:     0x5b67d3a45be4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   36:     0x5b67d3a45be4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x5b67d3a4e212 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   38:     0x5b67d3a4e212 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   39:     0x5b67d3a4e212 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x5b67d3a4e212 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x5b67d3a4e212 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5b67d3a4e212 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   43:     0x5b67d3a4e212 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5b67d3b3879f - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   45:     0x5b67d3b3879f - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   46:     0x77c52221faa4 - <unknown>
[INFO] [stdout]   47:     0x77c5222aca64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     readme_0
[INFO] [stdout]     readme_1
[INFO] [stdout]     readme_2
[INFO] [stdout]     readme_3
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "220d2dd5864f6b34ee5c28998be14c68f3f03a66ae87a859f9c95650f65c8e5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "220d2dd5864f6b34ee5c28998be14c68f3f03a66ae87a859f9c95650f65c8e5b", kill_on_drop: false }`
[INFO] [stdout] 220d2dd5864f6b34ee5c28998be14c68f3f03a66ae87a859f9c95650f65c8e5b
