[INFO] cloning repository https://github.com/KSXGitHub/parallel-disk-usage
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KSXGitHub/parallel-disk-usage" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKSXGitHub%2Fparallel-disk-usage", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKSXGitHub%2Fparallel-disk-usage'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c30e46f16478800d3304264fb9a49bebef9db5c6
[INFO] checking KSXGitHub/parallel-disk-usage against c60b92c03ca8a3b101eb9d57f51e2232690638c7 for pr-164148-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKSXGitHub%2Fparallel-disk-usage" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain
[INFO] started tweaking git repo https://github.com/KSXGitHub/parallel-disk-usage
[INFO] finished tweaking git repo https://github.com/KSXGitHub/parallel-disk-usage
[INFO] tweaked toml for git repo https://github.com/KSXGitHub/parallel-disk-usage written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KSXGitHub/parallel-disk-usage on toolchain c60b92c03ca8a3b101eb9d57f51e2232690638c7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KSXGitHub/parallel-disk-usage already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628
[INFO] running `Command { std: "docker" "start" "1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking pipe-trait v0.4.0
[INFO] [stderr]     Checking text-block-macros v0.2.0
[INFO] [stderr]     Checking dashmap v6.2.1
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking sysinfo v0.39.2
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]    Compiling smart-default v0.7.1
[INFO] [stderr]     Checking rounded-div v0.1.4
[INFO] [stderr]     Checking into-sorted v0.0.3
[INFO] [stderr]     Checking assert-cmp v0.3.0
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking clap_complete v4.6.5
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking which v8.0.2
[INFO] [stderr]     Checking command-extra v1.0.0
[INFO] [stderr]     Checking normalize-path v0.2.1
[INFO] [stderr]     Checking fmt-iter v0.2.1
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling derive_setters v0.1.9
[INFO] [stderr]    Compiling darling_core v0.12.4
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking clap-utilities v0.3.0
[INFO] [stderr]     Checking build-fs-tree v0.8.1
[INFO] [stderr]    Compiling darling_macro v0.12.4
[INFO] [stderr]    Compiling darling v0.12.4
[INFO] [stderr]    Compiling derive_builder_core v0.10.2
[INFO] [stderr]    Compiling derive_builder_macro v0.10.2
[INFO] [stderr]     Checking derive_builder v0.10.2
[INFO] [stderr]     Checking zero-copy-pads v0.2.0
[INFO] [stderr]     Checking parallel-disk-usage v0.24.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: `Transform` cannot be sent between threads safely
[INFO] [stdout]    --> src/data_tree/reflection/par_methods.rs:69:18
[INFO] [stdout]     |
[INFO] [stdout]  69 |             .map(|child| child.par_try_map(transform))
[INFO] [stdout]     |              --- -------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |   |
[INFO] [stdout]     |              |   `Transform` cannot be sent between threads safely
[INFO] [stdout]     |              |   within this `{closure@src/data_tree/reflection/par_methods.rs:69:18: 69:25}`
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required because `transform` is used within this closure
[INFO] [stdout]    --> src/data_tree/reflection/par_methods.rs:69:44
[INFO] [stdout]     |
[INFO] [stdout]  69 |             .map(|child| child.par_try_map(transform))
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::map`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.12.0/src/iter/mod.rs:595:41
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 593 |     fn map<F, R>(self, map_op: F) -> Map<Self, F>
[INFO] [stdout] 594 |     where
[INFO] [stdout] 595 |         F: Fn(Self::Item) -> R + Sync + Send,
[INFO] [stdout]     |                                         ^^^^ required by this bound in `ParallelIterator::map`
[INFO] [stdout] help: use parentheses to call this type parameter
[INFO] [stdout]     |
[INFO] [stdout]  69 |             .map((|child| child.par_try_map(transform))(/* Name */, /* Size */))
[INFO] [stdout]     |                  +                                    +++++++++++++++++++++++++
[INFO] [stdout] help: consider further restricting type parameter `Transform` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  60 |         Transform: Fn(Name, Size) -> Result<(TargetName, TargetSize), Error> + Copy + Sync + std::marker::Send,
[INFO] [stdout]     |                                                                                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Transform` cannot be sent between threads safely
[INFO] [stdout]   --> src/data_tree/reflection/par_methods.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let children = children
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 68 | |             .into_par_iter()
[INFO] [stdout] 69 | |             .map(|child| child.par_try_map(transform))
[INFO] [stdout]    | |                  ------- within this `{closure@src/data_tree/reflection/par_methods.rs:69:18: 69:25}`
[INFO] [stdout] 70 | |             .collect::<Result<Vec<_>, _>>()?;
[INFO] [stdout]    | |___________________________________________^ `Transform` cannot be sent between threads safely
[INFO] [stdout]    |
[INFO] [stdout] note: required because `transform` is used within this closure
[INFO] [stdout]   --> src/data_tree/reflection/par_methods.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |             .map(|child| child.par_try_map(transform))
[INFO] [stdout]    |                                            ^^^^^^^^^
[INFO] [stdout]    = note: required for `Map<IntoIter<Reflection<Name, Size>>, {closure@par_methods.rs:69:18}>` to implement `rayon::iter::ParallelIterator`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/parallel-disk-usage/fafdec89c87ad613/out/parallel_disk_usage-fafdec89c87ad613.long-type-5175652142172320479.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `Transform` with trait `Send`
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Transform: Fn(Name, Size) -> Result<(TargetName, TargetSize), Error> + Copy + Sync + std::marker::Send,
[INFO] [stdout]    |                                                                                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `impl Fn(&Self, u64) -> bool + Copy + Sync` cannot be sent between threads safely
[INFO] [stdout]    --> src/data_tree/retain.rs:21:23
[INFO] [stdout]     |
[INFO] [stdout]  21 |             .for_each(|child| child.par_retain_with_depth(next_depth, predicate))
[INFO] [stdout]     |              -------- -------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |        |
[INFO] [stdout]     |              |        `impl Fn(&Self, u64) -> bool + Copy + Sync` cannot be sent between threads safely
[INFO] [stdout]     |              |        within this `{closure@src/data_tree/retain.rs:21:23: 21:30}`
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required because `predicate` is used within this closure
[INFO] [stdout]    --> src/data_tree/retain.rs:21:71
[INFO] [stdout]     |
[INFO] [stdout]  21 |             .for_each(|child| child.par_retain_with_depth(next_depth, predicate))
[INFO] [stdout]     |                                                                       ^^^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::for_each`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.12.0/src/iter/mod.rs:376:37
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 374 |     fn for_each<OP>(self, op: OP)
[INFO] [stdout] 375 |     where
[INFO] [stdout] 376 |         OP: Fn(Self::Item) + Sync + Send,
[INFO] [stdout]     |                                     ^^^^ required by this bound in `ParallelIterator::for_each`
[INFO] [stdout] help: use parentheses to call this type parameter
[INFO] [stdout]     |
[INFO] [stdout]  21 |             .for_each((|child| child.par_retain_with_depth(next_depth, predicate))(/* &DataTree<Name, Size> */, /* u64 */))
[INFO] [stdout]     |                       +                                                          +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] help: consider restricting opaque type `impl Fn(&Self, u64) -> bool + Copy + Sync` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  14 |         predicate: impl Fn(&Self, u64) -> bool + Copy + Sync + std::marker::Send,
[INFO] [stdout]     |                                                              +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `impl Fn(&Self, &Self) -> Ordering + Copy + Sync` cannot be sent between threads safely
[INFO] [stdout]    --> src/data_tree/sort.rs:15:23
[INFO] [stdout]     |
[INFO] [stdout]  15 |             .for_each(|child| child.par_sort_by(compare));
[INFO] [stdout]     |              -------- -------^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |        |
[INFO] [stdout]     |              |        `impl Fn(&Self, &Self) -> Ordering + Copy + Sync` cannot be sent between threads safely
[INFO] [stdout]     |              |        within this `{closure@src/data_tree/sort.rs:15:23: 15:30}`
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required because `compare` is used within this closure
[INFO] [stdout]    --> src/data_tree/sort.rs:15:49
[INFO] [stdout]     |
[INFO] [stdout]  15 |             .for_each(|child| child.par_sort_by(compare));
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::for_each`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.12.0/src/iter/mod.rs:376:37
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 374 |     fn for_each<OP>(self, op: OP)
[INFO] [stdout] 375 |     where
[INFO] [stdout] 376 |         OP: Fn(Self::Item) + Sync + Send,
[INFO] [stdout]     |                                     ^^^^ required by this bound in `ParallelIterator::for_each`
[INFO] [stdout] help: use parentheses to call this type parameter
[INFO] [stdout]     |
[INFO] [stdout]  15 |             .for_each((|child| child.par_sort_by(compare))(/* &DataTree<Name, Size> */, /* &DataTree<Name, Size> */));
[INFO] [stdout]     |                       +                                  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] help: consider restricting opaque type `impl Fn(&Self, &Self) -> Ordering + Copy + Sync` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  12 |     pub fn par_sort_by(&mut self, compare: impl Fn(&Self, &Self) -> Ordering + Copy + Sync + std::marker::Send) {
[INFO] [stdout]     |                                                                                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Transform` cannot be sent between threads safely
[INFO] [stdout]    --> src/data_tree/reflection/par_methods.rs:69:18
[INFO] [stdout]     |
[INFO] [stdout]  69 |             .map(|child| child.par_try_map(transform))
[INFO] [stdout]     |              --- -------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |   |
[INFO] [stdout]     |              |   `Transform` cannot be sent between threads safely
[INFO] [stdout]     |              |   within this `{closure@src/data_tree/reflection/par_methods.rs:69:18: 69:25}`
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required because `transform` is used within this closure
[INFO] [stdout]    --> src/data_tree/reflection/par_methods.rs:69:44
[INFO] [stdout]     |
[INFO] [stdout]  69 |             .map(|child| child.par_try_map(transform))
[INFO] [stdout]     |                                            ^^^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::map`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.12.0/src/iter/mod.rs:595:41
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 593 |     fn map<F, R>(self, map_op: F) -> Map<Self, F>
[INFO] [stdout] 594 |     where
[INFO] [stdout] 595 |         F: Fn(Self::Item) -> R + Sync + Send,
[INFO] [stdout]     |                                         ^^^^ required by this bound in `ParallelIterator::map`
[INFO] [stdout] help: use parentheses to call this type parameter
[INFO] [stdout]     |
[INFO] [stdout]  69 |             .map((|child| child.par_try_map(transform))(/* Name */, /* Size */))
[INFO] [stdout]     |                  +                                    +++++++++++++++++++++++++
[INFO] [stdout] help: consider further restricting type parameter `Transform` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  60 |         Transform: Fn(Name, Size) -> Result<(TargetName, TargetSize), Error> + Copy + Sync + std::marker::Send,
[INFO] [stdout]     |                                                                                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Transform` cannot be sent between threads safely
[INFO] [stdout]   --> src/data_tree/reflection/par_methods.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let children = children
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 68 | |             .into_par_iter()
[INFO] [stdout] 69 | |             .map(|child| child.par_try_map(transform))
[INFO] [stdout]    | |                  ------- within this `{closure@src/data_tree/reflection/par_methods.rs:69:18: 69:25}`
[INFO] [stdout] 70 | |             .collect::<Result<Vec<_>, _>>()?;
[INFO] [stdout]    | |___________________________________________^ `Transform` cannot be sent between threads safely
[INFO] [stdout]    |
[INFO] [stdout] note: required because `transform` is used within this closure
[INFO] [stdout]   --> src/data_tree/reflection/par_methods.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |             .map(|child| child.par_try_map(transform))
[INFO] [stdout]    |                                            ^^^^^^^^^
[INFO] [stdout]    = note: required for `Map<IntoIter<Reflection<Name, Size>>, {closure@par_methods.rs:69:18}>` to implement `rayon::iter::ParallelIterator`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/parallel-disk-usage/05d0df315977e26c/out/parallel_disk_usage-05d0df315977e26c.long-type-15053934068774771062.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `Transform` with trait `Send`
[INFO] [stdout]    |
[INFO] [stdout] 60 |         Transform: Fn(Name, Size) -> Result<(TargetName, TargetSize), Error> + Copy + Sync + std::marker::Send,
[INFO] [stdout]    |                                                                                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `impl Fn(&Self, u64) -> bool + Copy + Sync` cannot be sent between threads safely
[INFO] [stdout]    --> src/data_tree/retain.rs:21:23
[INFO] [stdout]     |
[INFO] [stdout]  21 |             .for_each(|child| child.par_retain_with_depth(next_depth, predicate))
[INFO] [stdout]     |              -------- -------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |        |
[INFO] [stdout]     |              |        `impl Fn(&Self, u64) -> bool + Copy + Sync` cannot be sent between threads safely
[INFO] [stdout]     |              |        within this `{closure@src/data_tree/retain.rs:21:23: 21:30}`
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required because `predicate` is used within this closure
[INFO] [stdout]    --> src/data_tree/retain.rs:21:71
[INFO] [stdout]     |
[INFO] [stdout]  21 |             .for_each(|child| child.par_retain_with_depth(next_depth, predicate))
[INFO] [stdout]     |                                                                       ^^^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::for_each`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.12.0/src/iter/mod.rs:376:37
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 374 |     fn for_each<OP>(self, op: OP)
[INFO] [stdout] 375 |     where
[INFO] [stdout] 376 |         OP: Fn(Self::Item) + Sync + Send,
[INFO] [stdout]     |                                     ^^^^ required by this bound in `ParallelIterator::for_each`
[INFO] [stdout] help: use parentheses to call this type parameter
[INFO] [stdout]     |
[INFO] [stdout]  21 |             .for_each((|child| child.par_retain_with_depth(next_depth, predicate))(/* &DataTree<Name, Size> */, /* u64 */))
[INFO] [stdout]     |                       +                                                          +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] help: consider restricting opaque type `impl Fn(&Self, u64) -> bool + Copy + Sync` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  14 |         predicate: impl Fn(&Self, u64) -> bool + Copy + Sync + std::marker::Send,
[INFO] [stdout]     |                                                              +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `impl Fn(&Self, &Self) -> Ordering + Copy + Sync` cannot be sent between threads safely
[INFO] [stdout]    --> src/data_tree/sort.rs:15:23
[INFO] [stdout]     |
[INFO] [stdout]  15 |             .for_each(|child| child.par_sort_by(compare));
[INFO] [stdout]     |              -------- -------^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |        |
[INFO] [stdout]     |              |        `impl Fn(&Self, &Self) -> Ordering + Copy + Sync` cannot be sent between threads safely
[INFO] [stdout]     |              |        within this `{closure@src/data_tree/sort.rs:15:23: 15:30}`
[INFO] [stdout]     |              required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: required because `compare` is used within this closure
[INFO] [stdout]    --> src/data_tree/sort.rs:15:49
[INFO] [stdout]     |
[INFO] [stdout]  15 |             .for_each(|child| child.par_sort_by(compare));
[INFO] [stdout]     |                                                 ^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::for_each`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.12.0/src/iter/mod.rs:376:37
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 374 |     fn for_each<OP>(self, op: OP)
[INFO] [stdout] 375 |     where
[INFO] [stdout] 376 |         OP: Fn(Self::Item) + Sync + Send,
[INFO] [stdout]     |                                     ^^^^ required by this bound in `ParallelIterator::for_each`
[INFO] [stdout] help: use parentheses to call this type parameter
[INFO] [stdout]     |
[INFO] [stdout]  15 |             .for_each((|child| child.par_sort_by(compare))(/* &DataTree<Name, Size> */, /* &DataTree<Name, Size> */));
[INFO] [stdout]     |                       +                                  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] help: consider restricting opaque type `impl Fn(&Self, &Self) -> Ordering + Copy + Sync` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  12 |     pub fn par_sort_by(&mut self, compare: impl Fn(&Self, &Self) -> Ordering + Copy + Sync + std::marker::Send) {
[INFO] [stdout]     |                                                                                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parallel-disk-usage` (lib) due to 4 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `parallel-disk-usage` (lib test) due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628", kill_on_drop: false }`
[INFO] [stdout] 1beea1b3d46eb2dd2c01c4f2e83b3b17fcd3942bc8c6b12e3081940f76d89628
