[INFO] fetching crate ai_kit 0.1.0...
[INFO] testing ai_kit-0.1.0 against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] extracting crate ai_kit 0.1.0 into /workspace/builds/worker-0-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-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ai_kit 0.1.0 on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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.145)
[INFO] [stderr]       Adding skeptic v0.11.0 (available: v0.13.7)
[INFO] [stderr]       Adding uuid v0.4.0 (available: v1.18.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: 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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b2238bf4e14d35c792642d3a24e12f2c9a3204bb08d6abe59700a027f2a27d70
[INFO] running `Command { std: "docker" "start" "-a" "b2238bf4e14d35c792642d3a24e12f2c9a3204bb08d6abe59700a027f2a27d70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b2238bf4e14d35c792642d3a24e12f2c9a3204bb08d6abe59700a027f2a27d70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2238bf4e14d35c792642d3a24e12f2c9a3204bb08d6abe59700a027f2a27d70", kill_on_drop: false }`
[INFO] [stdout] b2238bf4e14d35c792642d3a24e12f2c9a3204bb08d6abe59700a027f2a27d70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6a816780eaf294c98743d99b99f00b3fe216178829ad1c08b5cd88961a1f5c39
[INFO] running `Command { std: "docker" "start" "-a" "6a816780eaf294c98743d99b99f00b3fe216178829ad1c08b5cd88961a1f5c39", 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.177
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling pulldown-cmark v0.0.15
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling same-file v0.1.3
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling walkdir v1.0.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling dtoa v0.4.8
[INFO] [stderr]    Compiling itoa v0.3.4
[INFO] [stderr]    Compiling serde v0.9.15
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]    Compiling uuid v0.4.0
[INFO] [stderr]    Compiling itertools v0.5.10
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]    Compiling serde_derive v0.9.15
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` 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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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)]` 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)]` 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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(x, y))...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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)]` 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/pedigree/mod.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator {
[INFO] [stdout]     |                      ^^^^^     ------------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 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 1m 50s
[INFO] running `Command { std: "docker" "inspect" "6a816780eaf294c98743d99b99f00b3fe216178829ad1c08b5cd88961a1f5c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a816780eaf294c98743d99b99f00b3fe216178829ad1c08b5cd88961a1f5c39", kill_on_drop: false }`
[INFO] [stdout] 6a816780eaf294c98743d99b99f00b3fe216178829ad1c08b5cd88961a1f5c39
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cf904b3ee7d1924a213dd9a2fab294367b14454ec57ea7d2b392fe5d99b88ac6
[INFO] running `Command { std: "docker" "start" "-a" "cf904b3ee7d1924a213dd9a2fab294367b14454ec57ea7d2b392fe5d99b88ac6", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling pulldown-cmark v0.0.15
[INFO] [stderr]    Compiling same-file v0.1.3
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling walkdir v1.0.7
[INFO] [stderr]    Compiling error-chain v0.10.0
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` 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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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)]` 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)]` 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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(x, y))...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` 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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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)]` 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)]` 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)]` 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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(x, y))...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 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)]` 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/pedigree/mod.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator {
[INFO] [stdout]     |                      ^^^^^     ------------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 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)]` 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stdout]    --> src/pedigree/mod.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator {
[INFO] [stdout]     |                      ^^^^^     ------------------------------ the lifetime gets resolved as `'_`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this lifetime flows to the output
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stdout]     |
[INFO] [stdout] 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 1m 15s
[INFO] running `Command { std: "docker" "inspect" "cf904b3ee7d1924a213dd9a2fab294367b14454ec57ea7d2b392fe5d99b88ac6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf904b3ee7d1924a213dd9a2fab294367b14454ec57ea7d2b392fe5d99b88ac6", kill_on_drop: false }`
[INFO] [stdout] cf904b3ee7d1924a213dd9a2fab294367b14454ec57ea7d2b392fe5d99b88ac6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] be457254f40a9af793f598fb73a1030f3cf59b77e52b404adb6141764e64fa40
[INFO] running `Command { std: "docker" "start" "-a" "be457254f40a9af793f598fb73a1030f3cf59b77e52b404adb6141764e64fa40", 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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr]    = note: `#[warn(anonymous_parameters)]` 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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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 issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[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)]` 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)]` 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 20 | 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 20 | 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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(x, y))...
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 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)]` 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)]` 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: lifetime flowing from input to output with different syntax can be confusing
[INFO] [stderr]    --> src/pedigree/mod.rs:116:22
[INFO] [stderr]     |
[INFO] [stderr] 116 |     pub fn back_iter(&self) -> InferenceGraphBackwardIterator {
[INFO] [stderr]     |                      ^^^^^     ------------------------------ the lifetime gets resolved as `'_`
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      this lifetime flows to the output
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths
[INFO] [stderr]     |
[INFO] [stderr] 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 25 suggestions)
[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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 46.36s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ai_kit-9076dbeb8d15a7c8)
[INFO] [stdout] 
[INFO] [stdout] running 59 tests
[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_forward ... ok
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_sum_constraint_backward ... ok
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_greater_than_constraint_fails ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_eq_returns_conflict ... ok
[INFO] [stdout] test constraints::tests::solver_tests::test_solve_multi_constraint_terminates_when_unsolvable ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_eq_returns_partial_if_second_variable_is_undefined ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_eq_returns_success ... 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 core::tests::bindings_tests::test_merge ... ok
[INFO] [stdout] test core::tests::bindings_tests::test_setting_variable_as_value_adds_to_equivalence ... ok
[INFO] [stdout] test core::tests::bindings_tests::test_setting_variable_sets_value_for_all_equivalents ... ok
[INFO] [stdout] test datum::tests::test_unify_fails_when_bindings_conflict ... ok
[INFO] [stdout] test datum::tests::test_unify_fails_when_no_match ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_bindings_in_other_match ... ok
[INFO] [stdout] test constraints::tests::numerical_tests::test_solve_sum_constraint_forward ... 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 constraints::tests::symbolic_tests::test_neq_returns_conflict ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_match_with_new_variable_in_self ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_variables_match ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_with_matching_vectors ... ok
[INFO] [stdout] test datum::tests::test_unify_with_nesting ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_neq_returns_success ... ok
[INFO] [stdout] test pedigree::tests::test_backward_iterator ... ok
[INFO] [stdout] test infer::tests::test_forward_chain ... ok
[INFO] [stdout] test pedigree::tests::test_extract_inference_graph ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_match_with_new_variable_in_other ... ok
[INFO] [stdout] test datum::tests::test_unify_passes_when_bindings_in_self_match ... ok
[INFO] [stdout] test infer::tests::test_chain_forward_with_negative_goals ... ok
[INFO] [stdout] test infer::tests::test_chain_until_match ... ok
[INFO] [stdout] test planner::tests::first_goal_to_increment_tests::test_first_goal_to_increment_with_all_init ... 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_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_no_init ... ok
[INFO] [stdout] test planner::tests::misc_tests::test_find_reused_datum_returns_nothing_when_no_reuse ... ok
[INFO] [stdout] test planner::tests::plan_iterator_tests::test_plan_for_nlp ... ok
[INFO] [stdout] test planner::tests::increment_tests::test_initial_increment_of_root_goal ... ok
[INFO] [stdout] test planner::tests::create_subgoals_tests::test_create_subgoals ... ok
[INFO] [stdout] test planner::tests::first_goal_to_increment_tests::test_first_goal_to_increment_with_all_exhausted ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_false_for_non_satisfying_datum ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_false_for_incomplete_nested_plan ... ok
[INFO] [stdout] test planner::tests::plan_iterator_tests::test_plan_iterator ... ok
[INFO] [stdout] test planner::tests::misc_tests::test_find_reused_datum_returns_reused_datum ... ok
[INFO] [stdout] test constraints::tests::symbolic_tests::test_eq_returns_partial_if_first_variable_is_undefined ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_true_for_deeply_nested_plan ... ok
[INFO] [stdout] test infer::tests::test_chain_until_match_updates_pedigree ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_true_for_satisfying_datum ... ok
[INFO] [stdout] test rule::tests::test_rule_application_with_no_antecedents ... ok
[INFO] [stdout] test planner::tests::satisfaction_tests::test_goal_satisfied_returns_true_for_shallowly_nested_plan ... ok
[INFO] [stdout] test planner::tests::solve_tests::test_solve_conjunction_respects_bindings_at_creation ... ok
[INFO] [stdout] test rule::tests::test_rule_reverse_application ... ok
[INFO] [stdout] test rule::tests::test_snowflake ... ok
[INFO] [stdout] test rule::tests::test_rule_application ... ok
[INFO] [stdout] test planner::tests::solve_tests::test_solve_conjunction ... ok
[INFO] [stdout] test planner::tests::solve_tests::test_solve_conjunction_with_criteria ... ok
[INFO] [stderr]      Running tests/skeptic.rs (/opt/rustwide/target/debug/deps/skeptic-ee539210452bd8d1)
[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.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test readme_1 ... FAILED
[INFO] [stdout] test readme_3 ... FAILED
[INFO] [stdout] test readme_2 ... FAILED
[INFO] [stdout] test readme_0 ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- readme_1 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'readme_1' 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:     0x5dbb3a10b572 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5dbb3a10b572 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5dbb3a10b572 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5dbb3a10b572 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5dbb3a1333f3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5dbb3a1333f3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x5dbb3a108083 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5dbb3a108083 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5dbb3a10b3c2 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5dbb3a10cdec - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x5dbb3a10cc42 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x5dbb3a0aa1c4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x5dbb3a0aa1c4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5dbb3a10d7cb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x5dbb3a10d7cb - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x5dbb3a10d59a - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x5dbb3a10ba69 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x5dbb3a10d22d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x5dbb3a131ca0 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x5dbb3a132016 - core::result::unwrap_failed::hfbbd3c78a73fea3d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1761:5
[INFO] [stdout]   20:     0x5dbb3a0b8161 - core::result::Result<T,E>::expect::h8819da64fc1b18e9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1119:23
[INFO] [stdout]   21:     0x5dbb3a0b8161 - skeptic::rt::compile_test_case::h15f3fd0db44f2f25
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64
[INFO] [stdout]   22:     0x5dbb3a0b623a - skeptic::rt::run_test::hb66cd9a6c36741b7
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:576:9
[INFO] [stdout]   23:     0x5dbb3a070b11 - skeptic::readme_1::h2c34e849124c51d2
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit-6bd3b810af167e86/out/skeptic-tests.rs:58:5
[INFO] [stdout]   24:     0x5dbb3a070b11 - skeptic::readme_1::{{closure}}::h57ffab42f081a37c
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit-6bd3b810af167e86/out/skeptic-tests.rs:30:22
[INFO] [stdout]   25:     0x5dbb3a070b11 - core::ops::function::FnOnce::call_once::hb846f1be4f784793
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5dbb3a0af8fb - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5dbb3a0af8fb - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   28:     0x5dbb3a0aeb3e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   29:     0x5dbb3a0aeb3e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   30:     0x5dbb3a0aeb3e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   31:     0x5dbb3a0aeb3e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   32:     0x5dbb3a0aeb3e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5dbb3a0aeb3e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   34:     0x5dbb3a0aeb3e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   35:     0x5dbb3a0726e4 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   36:     0x5dbb3a0726e4 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   37:     0x5dbb3a07608a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   38:     0x5dbb3a07608a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x5dbb3a07608a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   40:     0x5dbb3a07608a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   41:     0x5dbb3a07608a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5dbb3a07608a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   43:     0x5dbb3a07608a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5dbb3a1107b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   45:     0x5dbb3a1107b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   46:     0x5dbb3a1107b7 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   47:     0x76f202e2eaa4 - <unknown>
[INFO] [stdout]   48:     0x76f202ebba34 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- readme_3 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'readme_3' 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:     0x5dbb3a10b572 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5dbb3a10b572 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5dbb3a10b572 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5dbb3a10b572 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5dbb3a1333f3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5dbb3a1333f3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x5dbb3a108083 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5dbb3a108083 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5dbb3a10b3c2 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5dbb3a10cdec - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x5dbb3a10cc42 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x5dbb3a0aa1c4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x5dbb3a0aa1c4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5dbb3a10d7cb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x5dbb3a10d7cb - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x5dbb3a10d59a - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x5dbb3a10ba69 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x5dbb3a10d22d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x5dbb3a131ca0 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x5dbb3a132016 - core::result::unwrap_failed::hfbbd3c78a73fea3d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1761:5
[INFO] [stdout]   20:     0x5dbb3a0b8161 - core::result::Result<T,E>::expect::h8819da64fc1b18e9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1119:23
[INFO] [stdout]   21:     0x5dbb3a0b8161 - skeptic::rt::compile_test_case::h15f3fd0db44f2f25
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64
[INFO] [stdout]   22:     0x5dbb3a0b623a - skeptic::rt::run_test::hb66cd9a6c36741b7
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:576:9
[INFO] [stdout]   23:     0x5dbb3a0708a1 - skeptic::readme_3::haa9d41baf101bb97
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit-6bd3b810af167e86/out/skeptic-tests.rs:215:5
[INFO] [stdout]   24:     0x5dbb3a0708a1 - skeptic::readme_3::{{closure}}::h68e6beb6da63d779
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit-6bd3b810af167e86/out/skeptic-tests.rs:123:22
[INFO] [stdout]   25:     0x5dbb3a0708a1 - core::ops::function::FnOnce::call_once::h41ea28fc61181f88
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5dbb3a0af8fb - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5dbb3a0af8fb - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   28:     0x5dbb3a0aeb3e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   29:     0x5dbb3a0aeb3e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   30:     0x5dbb3a0aeb3e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   31:     0x5dbb3a0aeb3e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   32:     0x5dbb3a0aeb3e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5dbb3a0aeb3e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   34:     0x5dbb3a0aeb3e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   35:     0x5dbb3a0726e4 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   36:     0x5dbb3a0726e4 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   37:     0x5dbb3a07608a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   38:     0x5dbb3a07608a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x5dbb3a07608a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   40:     0x5dbb3a07608a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   41:     0x5dbb3a07608a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5dbb3a07608a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   43:     0x5dbb3a07608a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5dbb3a1107b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   45:     0x5dbb3a1107b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   46:     0x5dbb3a1107b7 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   47:     0x76f202e2eaa4 - <unknown>
[INFO] [stdout]   48:     0x76f202ebba34 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- readme_2 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'readme_2' 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:     0x5dbb3a10b572 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5dbb3a10b572 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5dbb3a10b572 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5dbb3a10b572 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5dbb3a1333f3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5dbb3a1333f3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x5dbb3a108083 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5dbb3a108083 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5dbb3a10b3c2 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5dbb3a10cdec - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x5dbb3a10cc42 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x5dbb3a0aa1c4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x5dbb3a0aa1c4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5dbb3a10d7cb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x5dbb3a10d7cb - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x5dbb3a10d59a - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x5dbb3a10ba69 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x5dbb3a10d22d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x5dbb3a131ca0 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x5dbb3a132016 - core::result::unwrap_failed::hfbbd3c78a73fea3d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1761:5
[INFO] [stdout]   20:     0x5dbb3a0b8161 - core::result::Result<T,E>::expect::h8819da64fc1b18e9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1119:23
[INFO] [stdout]   21:     0x5dbb3a0b8161 - skeptic::rt::compile_test_case::h15f3fd0db44f2f25
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64
[INFO] [stdout]   22:     0x5dbb3a0b623a - skeptic::rt::run_test::hb66cd9a6c36741b7
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:576:9
[INFO] [stdout]   23:     0x5dbb3a070a41 - skeptic::readme_2::hd8983e2acabcc26a
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit-6bd3b810af167e86/out/skeptic-tests.rs:120:5
[INFO] [stdout]   24:     0x5dbb3a070a41 - skeptic::readme_2::{{closure}}::hf87d11d3c047aa52
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit-6bd3b810af167e86/out/skeptic-tests.rs:61:22
[INFO] [stdout]   25:     0x5dbb3a070a41 - core::ops::function::FnOnce::call_once::h813d4c29aec6d17a
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5dbb3a0af8fb - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5dbb3a0af8fb - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   28:     0x5dbb3a0aeb3e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   29:     0x5dbb3a0aeb3e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   30:     0x5dbb3a0aeb3e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   31:     0x5dbb3a0aeb3e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   32:     0x5dbb3a0aeb3e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5dbb3a0aeb3e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   34:     0x5dbb3a0aeb3e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   35:     0x5dbb3a0726e4 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   36:     0x5dbb3a0726e4 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   37:     0x5dbb3a07608a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   38:     0x5dbb3a07608a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x5dbb3a07608a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   40:     0x5dbb3a07608a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   41:     0x5dbb3a07608a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5dbb3a07608a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   43:     0x5dbb3a07608a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5dbb3a1107b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   45:     0x5dbb3a1107b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   46:     0x5dbb3a1107b7 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   47:     0x76f202e2eaa4 - <unknown>
[INFO] [stdout]   48:     0x76f202ebba34 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- readme_0 stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'readme_0' 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:     0x5dbb3a10b572 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5dbb3a10b572 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5dbb3a10b572 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5dbb3a10b572 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5dbb3a1333f3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5dbb3a1333f3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x5dbb3a108083 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5dbb3a108083 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5dbb3a10b3c2 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5dbb3a10cdec - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x5dbb3a10cc42 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x5dbb3a0aa1c4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x5dbb3a0aa1c4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5dbb3a10d7cb - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x5dbb3a10d7cb - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x5dbb3a10d59a - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x5dbb3a10ba69 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x5dbb3a10d22d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x5dbb3a131ca0 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x5dbb3a132016 - core::result::unwrap_failed::hfbbd3c78a73fea3d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1761:5
[INFO] [stdout]   20:     0x5dbb3a0b8161 - core::result::Result<T,E>::expect::h8819da64fc1b18e9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/result.rs:1119:23
[INFO] [stdout]   21:     0x5dbb3a0b8161 - skeptic::rt::compile_test_case::h15f3fd0db44f2f25
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:611:64
[INFO] [stdout]   22:     0x5dbb3a0b623a - skeptic::rt::run_test::hb66cd9a6c36741b7
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/skeptic-0.11.0/lib.rs:576:9
[INFO] [stdout]   23:     0x5dbb3a070971 - skeptic::readme_0::h97f6bcd6abf74e8b
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit-6bd3b810af167e86/out/skeptic-tests.rs:27:5
[INFO] [stdout]   24:     0x5dbb3a070971 - skeptic::readme_0::{{closure}}::h596f751d40ab641b
[INFO] [stdout]                                at /opt/rustwide/target/debug/build/ai_kit-6bd3b810af167e86/out/skeptic-tests.rs:2:22
[INFO] [stdout]   25:     0x5dbb3a070971 - core::ops::function::FnOnce::call_once::h58c820d4a9708ba4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5dbb3a0af8fb - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5dbb3a0af8fb - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   28:     0x5dbb3a0aeb3e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   29:     0x5dbb3a0aeb3e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   30:     0x5dbb3a0aeb3e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   31:     0x5dbb3a0aeb3e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   32:     0x5dbb3a0aeb3e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x5dbb3a0aeb3e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   34:     0x5dbb3a0aeb3e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   35:     0x5dbb3a0726e4 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   36:     0x5dbb3a0726e4 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   37:     0x5dbb3a07608a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   38:     0x5dbb3a07608a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x5dbb3a07608a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   40:     0x5dbb3a07608a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   41:     0x5dbb3a07608a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x5dbb3a07608a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   43:     0x5dbb3a07608a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x5dbb3a1107b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   45:     0x5dbb3a1107b7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   46:     0x5dbb3a1107b7 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   47:     0x76f202e2eaa4 - <unknown>
[INFO] [stdout]   48:     0x76f202ebba34 - clone
[INFO] [stdout]   49:                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.08s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test skeptic`
[INFO] running `Command { std: "docker" "inspect" "be457254f40a9af793f598fb73a1030f3cf59b77e52b404adb6141764e64fa40", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "be457254f40a9af793f598fb73a1030f3cf59b77e52b404adb6141764e64fa40", kill_on_drop: false }`
[INFO] [stdout] be457254f40a9af793f598fb73a1030f3cf59b77e52b404adb6141764e64fa40
