[INFO] fetching crate ai_kit 0.1.0...
[INFO] checking ai_kit-0.1.0 against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] extracting crate ai_kit 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate ai_kit 0.1.0 on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v0.9.1 (latest: v2.5.0)
[INFO] [stderr]       Adding dtoa v0.4.8 (latest: v1.0.9)
[INFO] [stderr]       Adding error-chain v0.10.0 (latest: v0.12.4)
[INFO] [stderr]       Adding itertools v0.5.10 (latest: v0.12.1)
[INFO] [stderr]       Adding itoa v0.3.4 (latest: v1.0.11)
[INFO] [stderr]       Adding num-traits v0.1.43 (latest: v0.2.18)
[INFO] [stderr]       Adding pulldown-cmark v0.0.15 (latest: v0.10.3)
[INFO] [stderr]       Adding quote v0.3.15 (latest: v1.0.36)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding remove_dir_all v0.5.3 (latest: v0.8.2)
[INFO] [stderr]       Adding same-file v0.1.3 (latest: v1.0.6)
[INFO] [stderr]       Adding serde v0.9.15 (latest: v1.0.200)
[INFO] [stderr]       Adding serde_derive v0.9.15 (latest: v1.0.200)
[INFO] [stderr]       Adding serde_json v0.9.10 (latest: v1.0.116)
[INFO] [stderr]       Adding skeptic v0.11.0 (latest: v0.13.7)
[INFO] [stderr]       Adding syn v0.11.11 (latest: v2.0.60)
[INFO] [stderr]       Adding toml v0.4.10 (latest: v0.8.12)
[INFO] [stderr]       Adding unicode-xid v0.0.4 (latest: v0.2.4)
[INFO] [stderr]       Adding uuid v0.4.0 (latest: v1.8.0)
[INFO] [stderr]       Adding walkdir v1.0.7 (latest: v2.5.0)
[INFO] [stderr]       Adding winapi v0.2.8 (latest: v0.3.9)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand v0.4.6
[INFO] [stderr]   Downloaded uuid v0.4.0
[INFO] [stderr]   Downloaded rdrand v0.4.0
[INFO] [stderr]   Downloaded rand v0.3.23
[INFO] [stderr]   Downloaded rand_core v0.3.1
[INFO] [stderr]   Downloaded fuchsia-cprng v0.1.1
[INFO] [stderr]   Downloaded serde_json v0.9.10
[INFO] [stderr]   Downloaded bitflags v0.9.1
[INFO] [stderr]   Downloaded kernel32-sys v0.2.2
[INFO] [stderr]   Downloaded rand_core v0.4.2
[INFO] [stderr]   Downloaded num-traits v0.1.43
[INFO] [stderr]   Downloaded winapi-build v0.1.1
[INFO] [stderr]   Downloaded toml v0.4.10
[INFO] [stderr]   Downloaded synom v0.11.3
[INFO] [stderr]   Downloaded dtoa v0.4.8
[INFO] [stderr]   Downloaded same-file v0.1.3
[INFO] [stderr]   Downloaded serde_codegen_internals v0.14.2
[INFO] [stderr]   Downloaded unicode-xid v0.0.4
[INFO] [stderr]   Downloaded syn v0.11.11
[INFO] [stderr]   Downloaded itertools v0.5.10
[INFO] [stderr]   Downloaded getopts v0.2.21
[INFO] [stderr]   Downloaded pulldown-cmark v0.0.15
[INFO] [stderr]   Downloaded winapi v0.2.8
[INFO] [stderr]   Downloaded num-traits v0.2.18
[INFO] [stderr]   Downloaded serde v0.9.15
[INFO] [stderr]   Downloaded error-chain v0.10.0
[INFO] [stderr]   Downloaded walkdir v1.0.7
[INFO] [stderr]   Downloaded quote v0.3.15
[INFO] [stderr]   Downloaded serde_derive v0.9.15
[INFO] [stderr]   Downloaded itoa v0.3.4
[INFO] [stderr]   Downloaded tempdir v0.3.7
[INFO] [stderr]   Downloaded skeptic v0.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ded94cef37e31a0736f7935eb965f1128ed670ea7ae638d93b740b6bd6cc7e07
[INFO] running `Command { std: "docker" "start" "-a" "ded94cef37e31a0736f7935eb965f1128ed670ea7ae638d93b740b6bd6cc7e07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ded94cef37e31a0736f7935eb965f1128ed670ea7ae638d93b740b6bd6cc7e07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ded94cef37e31a0736f7935eb965f1128ed670ea7ae638d93b740b6bd6cc7e07", kill_on_drop: false }`
[INFO] [stdout] ded94cef37e31a0736f7935eb965f1128ed670ea7ae638d93b740b6bd6cc7e07
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c613e37b6d48b13741967dd5edad80774f0dbec29ac9e3944d50310c3c69d2f8
[INFO] running `Command { std: "docker" "start" "-a" "c613e37b6d48b13741967dd5edad80774f0dbec29ac9e3944d50310c3c69d2f8", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling serde v1.0.200
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling serde_json v1.0.116
[INFO] [stderr]    Compiling pulldown-cmark v0.0.15
[INFO] [stderr]    Compiling unicode-width v0.1.12
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling same-file v0.1.3
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.81
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling walkdir v1.0.7
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking serde v0.9.15
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]     Checking itertools v0.5.10
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling serde_derive v0.9.15
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking uuid v0.4.0
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking serde_json v0.9.10
[INFO] [stderr]    Compiling serde_derive v1.0.200
[INFO] [stderr]     Checking 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SolveResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: `#[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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SolveResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Constraint`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Constraint`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Number`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Number`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/core/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Bindings`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/core/mod.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Bindings`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Datum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Datum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Negatable`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Negatable`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Origin`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Origin`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Pedigree`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Pedigree`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Goal`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Goal`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Rule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Rule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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: 59 warnings emitted
[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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SolveResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: `#[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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SolveResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Constraint`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Constraint`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Number`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Number`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/core/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Bindings`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/core/mod.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Bindings`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Datum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Datum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Negatable`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Negatable`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Origin`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Origin`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Pedigree`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Pedigree`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Goal`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Goal`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Rule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Rule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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: 60 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.84s
[INFO] running `Command { std: "docker" "inspect" "c613e37b6d48b13741967dd5edad80774f0dbec29ac9e3944d50310c3c69d2f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c613e37b6d48b13741967dd5edad80774f0dbec29ac9e3944d50310c3c69d2f8", kill_on_drop: false }`
[INFO] [stdout] c613e37b6d48b13741967dd5edad80774f0dbec29ac9e3944d50310c3c69d2f8
[INFO] checking ai_kit-0.1.0 against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] extracting crate ai_kit 0.1.0 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate ai_kit 0.1.0 on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-3-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 packages to latest compatible versions
[INFO] [stderr]       Adding bitflags v0.9.1 (latest: v2.5.0)
[INFO] [stderr]       Adding dtoa v0.4.8 (latest: v1.0.9)
[INFO] [stderr]       Adding error-chain v0.10.0 (latest: v0.12.4)
[INFO] [stderr]       Adding itertools v0.5.10 (latest: v0.12.1)
[INFO] [stderr]       Adding itoa v0.3.4 (latest: v1.0.11)
[INFO] [stderr]       Adding num-traits v0.1.43 (latest: v0.2.18)
[INFO] [stderr]       Adding pulldown-cmark v0.0.15 (latest: v0.10.3)
[INFO] [stderr]       Adding quote v0.3.15 (latest: v1.0.36)
[INFO] [stderr]       Adding rand v0.3.23 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding remove_dir_all v0.5.3 (latest: v0.8.2)
[INFO] [stderr]       Adding same-file v0.1.3 (latest: v1.0.6)
[INFO] [stderr]       Adding serde v0.9.15 (latest: v1.0.200)
[INFO] [stderr]       Adding serde_derive v0.9.15 (latest: v1.0.200)
[INFO] [stderr]       Adding serde_json v0.9.10 (latest: v1.0.116)
[INFO] [stderr]       Adding skeptic v0.11.0 (latest: v0.13.7)
[INFO] [stderr]       Adding syn v0.11.11 (latest: v2.0.60)
[INFO] [stderr]       Adding toml v0.4.10 (latest: v0.8.12)
[INFO] [stderr]       Adding unicode-xid v0.0.4 (latest: v0.2.4)
[INFO] [stderr]       Adding uuid v0.4.0 (latest: v1.8.0)
[INFO] [stderr]       Adding walkdir v1.0.7 (latest: v2.5.0)
[INFO] [stderr]       Adding winapi v0.2.8 (latest: v0.3.9)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9c4a821015045ff58c23dbe5f5b2760c4d3aa2de9c06e1ec59e50a260cf9f21e
[INFO] running `Command { std: "docker" "start" "-a" "9c4a821015045ff58c23dbe5f5b2760c4d3aa2de9c06e1ec59e50a260cf9f21e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c4a821015045ff58c23dbe5f5b2760c4d3aa2de9c06e1ec59e50a260cf9f21e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c4a821015045ff58c23dbe5f5b2760c4d3aa2de9c06e1ec59e50a260cf9f21e", kill_on_drop: false }`
[INFO] [stdout] 9c4a821015045ff58c23dbe5f5b2760c4d3aa2de9c06e1ec59e50a260cf9f21e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b15cf0a88161f79bd8a1cc993c7ac25e4727486cb57f8e753997511562c87270
[INFO] running `Command { std: "docker" "start" "-a" "b15cf0a88161f79bd8a1cc993c7ac25e4727486cb57f8e753997511562c87270", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling serde v1.0.200
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling serde_json v1.0.116
[INFO] [stderr]    Compiling pulldown-cmark v0.0.15
[INFO] [stderr]    Compiling unicode-width v0.1.12
[INFO] [stderr]    Compiling autocfg v1.2.0
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling same-file v0.1.3
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]    Compiling error-chain v0.10.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.81
[INFO] [stderr]    Compiling getopts v0.2.21
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]    Compiling walkdir v1.0.7
[INFO] [stderr]     Checking dtoa v0.4.8
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking serde v0.9.15
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking itoa v0.3.4
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking itertools v0.5.10
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.60
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling serde_codegen_internals v0.14.2
[INFO] [stderr]    Compiling serde_derive v0.9.15
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]     Checking rand v0.3.23
[INFO] [stderr]     Checking uuid v0.4.0
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking serde_json v0.9.10
[INFO] [stderr]     Checking toml v0.4.10
[INFO] [stderr]    Compiling serde_derive v1.0.200
[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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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 an object-safe 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SolveResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: `#[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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SolveResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Constraint`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Constraint`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Number`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Number`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/core/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Bindings`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/core/mod.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Bindings`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Datum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Datum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Negatable`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Negatable`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Origin`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Origin`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Pedigree`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Pedigree`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Goal`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Goal`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Rule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Rule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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: 59 warnings emitted
[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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SolveResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: `#[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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SolveResult`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Constraint`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Constraint`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Number`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Number`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_NumericalConstraint`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_SymbolicConstraint`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/core/mod.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Bindings`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/core/mod.rs:26:37
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, Deserialize, Clone, Serialize)]
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Bindings`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Datum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Datum`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Negatable`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Negatable`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Origin`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Origin`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_InferenceChain`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Pedigree`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Pedigree`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_UnificationIndex`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Goal`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Goal`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Rule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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, they should be avoided as they go against expectation
[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]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Rule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[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: 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: 60 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.52s
[INFO] running `Command { std: "docker" "inspect" "b15cf0a88161f79bd8a1cc993c7ac25e4727486cb57f8e753997511562c87270", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b15cf0a88161f79bd8a1cc993c7ac25e4727486cb57f8e753997511562c87270", kill_on_drop: false }`
[INFO] [stdout] b15cf0a88161f79bd8a1cc993c7ac25e4727486cb57f8e753997511562c87270
