[INFO] fetching crate rust-prelude-plus 0.1.0...
[INFO] testing rust-prelude-plus-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-8
[INFO] extracting crate rust-prelude-plus 0.1.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate rust-prelude-plus 0.1.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rust-prelude-plus 0.1.0
[INFO] tweaked toml for crates.io crate rust-prelude-plus 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rust-prelude-plus 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rust-prelude-plus 0.1.0 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap v4.5.49
[INFO] [stderr]   Downloaded clap_builder v4.5.49
[INFO] [stderr]   Downloaded key-paths-core v1.0.9
[INFO] [stderr]   Downloaded openssl-sys v0.9.110
[INFO] [stderr]   Downloaded openssl v0.10.74
[INFO] [stderr]   Downloaded key-paths-derive v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e16ecec9ceadb38dd611fa66bcbfc7f3b32dd00537c7651e466db3063d0485ad
[INFO] running `Command { std: "docker" "start" "-a" "e16ecec9ceadb38dd611fa66bcbfc7f3b32dd00537c7651e466db3063d0485ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e16ecec9ceadb38dd611fa66bcbfc7f3b32dd00537c7651e466db3063d0485ad", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e16ecec9ceadb38dd611fa66bcbfc7f3b32dd00537c7651e466db3063d0485ad", kill_on_drop: false }`
[INFO] [stdout] e16ecec9ceadb38dd611fa66bcbfc7f3b32dd00537c7651e466db3063d0485ad
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f48b92c952371999fe2d29b9134d09627717a9c068acc2f901f8e8a95fdadb27
[INFO] running `Command { std: "docker" "start" "-a" "f48b92c952371999fe2d29b9134d09627717a9c068acc2f901f8e8a95fdadb27", kill_on_drop: false }`
[INFO] [stderr]    Compiling key-paths-core v1.0.9
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling key-paths-derive v0.8.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rust-prelude-plus v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.91s
[INFO] running `Command { std: "docker" "inspect" "f48b92c952371999fe2d29b9134d09627717a9c068acc2f901f8e8a95fdadb27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f48b92c952371999fe2d29b9134d09627717a9c068acc2f901f8e8a95fdadb27", kill_on_drop: false }`
[INFO] [stdout] f48b92c952371999fe2d29b9134d09627717a9c068acc2f901f8e8a95fdadb27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 12658b854ff8076983aa6ef8a725eefc7b59b6b5074451a8eee6ead7573400fc
[INFO] running `Command { std: "docker" "start" "-a" "12658b854ff8076983aa6ef8a725eefc7b59b6b5074451a8eee6ead7573400fc", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.49
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.5.49
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling key-paths-derive v0.8.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling rust-prelude-plus v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rayon`
[INFO] [stdout]  --> examples/optimized_performance_comparison.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `rayon`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rayon`, use `cargo add rayon` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rayon`
[INFO] [stdout]  --> examples/parallel_examples.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `rayon`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rayon`, use `cargo add rayon` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rust_prelude_plus::parallel::parallel_collections`
[INFO] [stdout]   --> examples/performance_comparison.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | use rust_prelude_plus::parallel::parallel_collections;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `parallel_collections` in `parallel`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parallel.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg(feature = "parallel")]
[INFO] [stdout]    |       -------------------- the item is gated behind the `parallel` feature
[INFO] [stdout] 12 | /// Parallel keypath operations for collections
[INFO] [stdout] 13 | pub mod parallel_collections {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rayon`
[INFO] [stdout]  --> examples/performance_comparison.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `rayon`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rayon`, use `cargo add rayon` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rust_prelude_plus::async_ops::async_collections`
[INFO] [stdout]   --> examples/performance_comparison.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | use rust_prelude_plus::async_ops::async_collections;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `async_collections` in `async_ops`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/workdir/src/async_ops.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "async")]
[INFO] [stdout]    |       ----------------- the item is gated behind the `r#async` feature
[INFO] [stdout] 11 | /// Asynchronous keypath operations for collections
[INFO] [stdout] 12 | pub mod async_collections {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    --> examples/performance_comparison.rs:142:23
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let async_names = tokio::runtime::Runtime::new()
[INFO] [stdout]     |                       ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    --> examples/performance_comparison.rs:200:24
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let async_active = tokio::runtime::Runtime::new()
[INFO] [stdout]     |                        ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> examples/comprehensive_examples.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    --> examples/performance_comparison.rs:324:24
[INFO] [stdout]     |
[INFO] [stdout] 324 |     let async_result = tokio::runtime::Runtime::new()
[INFO] [stdout]     |                        ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    --> examples/performance_comparison.rs:402:24
[INFO] [stdout]     |
[INFO] [stdout] 402 |     let async_result = tokio::runtime::Runtime::new()
[INFO] [stdout]     |                        ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rust_prelude_plus::prelude::*`
[INFO] [stdout]  --> examples/performance_comparison.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rust_prelude_plus::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> examples/performance_comparison.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rust_prelude_plus::parallel::parallel_collections`
[INFO] [stdout]   --> examples/parallel_examples.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | use rust_prelude_plus::parallel::parallel_collections;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `parallel_collections` in `parallel`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/workdir/src/parallel.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[cfg(feature = "parallel")]
[INFO] [stdout]    |       -------------------- the item is gated behind the `parallel` feature
[INFO] [stdout] 12 | /// Parallel keypath operations for collections
[INFO] [stdout] 13 | pub mod parallel_collections {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `parallel_pools` in `parallel`
[INFO] [stdout]    --> examples/parallel_examples.rs:210:40
[INFO] [stdout]     |
[INFO] [stdout] 210 |     match rust_prelude_plus::parallel::parallel_pools::create_keypath_thread_pool(2) {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^ could not find `parallel_pools` in `parallel`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parallel.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[cfg(feature = "parallel")]
[INFO] [stdout]     |       -------------------- the item is gated behind the `parallel` feature
[INFO] [stdout] 182 | /// Parallel keypath operations with custom thread pools
[INFO] [stdout] 183 | pub mod parallel_pools {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `parallel_pools` in `parallel`
[INFO] [stdout]    --> examples/parallel_examples.rs:215:48
[INFO] [stdout]     |
[INFO] [stdout] 215 |             match rust_prelude_plus::parallel::parallel_pools::execute_on_pool(
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^ could not find `parallel_pools` in `parallel`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parallel.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[cfg(feature = "parallel")]
[INFO] [stdout]     |       -------------------- the item is gated behind the `parallel` feature
[INFO] [stdout] 182 | /// Parallel keypath operations with custom thread pools
[INFO] [stdout] 183 | pub mod parallel_pools {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `parallel_pools` in `parallel`
[INFO] [stdout]    --> examples/parallel_examples.rs:226:48
[INFO] [stdout]     |
[INFO] [stdout] 226 |             match rust_prelude_plus::parallel::parallel_pools::filter_on_pool(
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^ could not find `parallel_pools` in `parallel`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> /opt/rustwide/workdir/src/parallel.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 181 | #[cfg(feature = "parallel")]
[INFO] [stdout]     |       -------------------- the item is gated behind the `parallel` feature
[INFO] [stdout] 182 | /// Parallel keypath operations with custom thread pools
[INFO] [stdout] 183 | pub mod parallel_pools {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for reference `&[Employee]` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 113 |       let parallel_result: Vec<f64> = employees
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout] 114 | |         .par_iter()
[INFO] [stdout]     | |_________-^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 114 -         .par_iter()
[INFO] [stdout] 114 +         .iter()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> examples/comprehensive_examples.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |         .map_keypath(Person::name(), |name| name.clone())
[INFO] [stdout]     |                                       ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 138 |         .map_keypath(Person::name(), |name: &V| name.clone())
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for reference `&[Employee]` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:182:10
[INFO] [stdout]     |
[INFO] [stdout] 181 |       let parallel_result: Vec<&Employee> = employees
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout] 182 | |         .par_iter()
[INFO] [stdout]     | |_________-^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 182 -         .par_iter()
[INFO] [stdout] 182 +         .iter()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for reference `&[Employee]` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:233:43
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let total_salary: f64 = employees.par_iter().map(|emp| emp.salary).sum();
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 233 -         let total_salary: f64 = employees.par_iter().map(|emp| emp.salary).sum();
[INFO] [stdout] 233 +         let total_salary: f64 = employees.iter().map(|emp| emp.salary).sum();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for reference `&[Employee]` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:235:36
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let max_salary = employees.par_iter().map(|emp| emp.salary).max_by(|a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 235 -         let max_salary = employees.par_iter().map(|emp| emp.salary).max_by(|a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout] 235 +         let max_salary = employees.iter().map(|emp| emp.salary).max_by(|a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:235:77
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let max_salary = employees.par_iter().map(|emp| emp.salary).max_by(|a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |                                                                             ^     - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let max_salary = employees.par_iter().map(|emp| emp.salary).max_by(|a: /* Type */, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |                                                                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/parallel_examples.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 121 |         |name| name.clone(),
[INFO] [stdout]     |          ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 121 |         |name: /* Type */| name.clone(),
[INFO] [stdout]     |              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/parallel_examples.rs:133:67
[INFO] [stdout]     |
[INFO] [stdout] 133 |         Ok(expensive) => println!("Expensive products count: {}", expensive.len()),
[INFO] [stdout]     |                                                                   ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for reference `&[Employee]` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:236:36
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let min_salary = employees.par_iter().map(|emp| emp.salary).min_by(|a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 236 -         let min_salary = employees.par_iter().map(|emp| emp.salary).min_by(|a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout] 236 +         let min_salary = employees.iter().map(|emp| emp.salary).min_by(|a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:236:77
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let min_salary = employees.par_iter().map(|emp| emp.salary).min_by(|a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |                                                                             ^     - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let min_salary = employees.par_iter().map(|emp| emp.salary).min_by(|a: /* Type */, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |                                                                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for reference `&[Employee]` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:237:38
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let active_count = employees.par_iter().filter(|emp| emp.is_active).count();
[INFO] [stdout]     |                                      ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 237 -         let active_count = employees.par_iter().filter(|emp| emp.is_active).count();
[INFO] [stdout] 237 +         let active_count = employees.iter().filter(|emp| emp.is_active).count();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:145:28
[INFO] [stdout]     |
[INFO] [stdout] 145 |         .filter_by_keypath(Person::is_active(), |&active| active)
[INFO] [stdout]     |          ----------------- ^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, bool>`, found `KeyPaths<Person, bool>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, _>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for reference `&[Employee]` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:238:43
[INFO] [stdout]     |
[INFO] [stdout] 238 |         let engineering_count = employees.par_iter().filter(|emp| emp.department == "Engineering").count();
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 238 -         let engineering_count = employees.par_iter().filter(|emp| emp.department == "Engineering").count();
[INFO] [stdout] 238 +         let engineering_count = employees.iter().filter(|emp| emp.department == "Engineering").count();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:143:42
[INFO] [stdout]     |
[INFO] [stdout] 143 |       let active_people: Vec<Rc<Person>> = people
[INFO] [stdout]     |  ________________________---------------___^
[INFO] [stdout]     | |                        |
[INFO] [stdout]     | |                        expected due to this
[INFO] [stdout] 144 | |         .clone().into_iter()
[INFO] [stdout] 145 | |         .filter_by_keypath(Person::is_active(), |&active| active)
[INFO] [stdout]     | |_________________________________________________________________^ expected `Vec<Rc<Person>>`, found `Vec<&Rc<Person>>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<Rc<_>>`
[INFO] [stdout]                found struct `Vec<&Rc<_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_sort_by` found for struct `Vec<Employee>` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 284 |     parallel_sorted.par_sort_by(|a, b| {
[INFO] [stdout]     |     ----------------^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `sort_by` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 284 -     parallel_sorted.par_sort_by(|a, b| {
[INFO] [stdout] 284 +     parallel_sorted.sort_by(|a, b| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:152:26
[INFO] [stdout]     |
[INFO] [stdout] 152 |         .find_by_keypath(Person::age(), |&age| age < 30)
[INFO] [stdout]     |          --------------- ^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, _>`, found `KeyPaths<Person, u32>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, u32>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn find_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> KeyPathResult<Option<Self::Item>>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:160:23
[INFO] [stdout]     |
[INFO] [stdout] 160 |         .fold_keypath(Person::salary(), 0.0, |acc, &salary| acc + salary)
[INFO] [stdout]     |          ------------ ^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, _>`, found `KeyPaths<Person, f64>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, f64>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn fold_keypath<V, F, B>(self, keypath: KeyPaths<Self::Item, V>, init: B, mut f: F) -> KeyPathResult<B>
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for struct `Vec<Employee>` in the current scope
[INFO] [stdout]    --> examples/optimized_performance_comparison.rs:329:10
[INFO] [stdout]     |
[INFO] [stdout] 328 |       let parallel_result: Vec<String> = employees
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout] 329 | |         .par_iter()
[INFO] [stdout]     | |_________-^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 329 -         .par_iter()
[INFO] [stdout] 329 +         .iter()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |         .filter_by_keypath(Person::department(), |dept| dept == "Engineering")
[INFO] [stdout]     |          ----------------- ^^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, _>`, found `KeyPaths<Person, String>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, String>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `filter_by_keypath` exists for struct `Vec<&Rc<Person>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/comprehensive_examples.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 171 |       let engineering_seniors: Vec<String> = people
[INFO] [stdout]     |  ____________________________________________-
[INFO] [stdout] 172 | |         .clone().into_iter()
[INFO] [stdout] 173 | |         .filter_by_keypath(Person::department(), |dept| dept == "Engineering")
[INFO] [stdout] 174 | |         .filter_by_keypath(Person::age(), |&age| age >= 30)
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&mut Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Sized`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut [&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&mut [&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/comprehensive_examples.rs:175:39
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .map_keypath(Person::name(), |name| name.clone())
[INFO] [stdout]     |                                       ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 175 |         .map_keypath(Person::name(), |name: /* Type */| name.clone())
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rust_prelude_plus::async_ops::async_collections`
[INFO] [stdout]   --> examples/async_examples.rs:4:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | use rust_prelude_plus::async_ops::async_collections;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `async_collections` in `async_ops`
[INFO] [stdout]    |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]   --> /opt/rustwide/workdir/src/async_ops.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[cfg(feature = "async")]
[INFO] [stdout]    |       ----------------- the item is gated behind the `r#async` feature
[INFO] [stdout] 11 | /// Asynchronous keypath operations for collections
[INFO] [stdout] 12 | pub mod async_collections {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> examples/async_examples.rs:26:3
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[tokio::main]
[INFO] [stdout]    |   ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |         .filter_by_keypath(Person::is_active(), |&active| active)
[INFO] [stdout]     |          ----------------- ^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, bool>`, found `KeyPaths<Person, bool>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, _>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map_keypath` exists for struct `Vec<&Rc<Person>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/comprehensive_examples.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 180 |       let top_earners: Vec<String> = people
[INFO] [stdout]     |  ____________________________________-
[INFO] [stdout] 181 | |         .clone().into_iter()
[INFO] [stdout] 182 | |         .filter_by_keypath(Person::is_active(), |&active| active)
[INFO] [stdout] 183 | |         .map_keypath(Person::salary(), |&salary| salary)
[INFO] [stdout]     | |         -^^^^^^^^^^^ method cannot be called on `Vec<&Rc<Person>>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&mut Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Sized`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut [&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&mut [&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> examples/comprehensive_examples.rs:194:64
[INFO] [stdout]     |
[INFO] [stdout] 194 |         .map_keypath(Person::address().then(Address::city()), |city| city.clone())
[INFO] [stdout]     |                                                                ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 194 |         .map_keypath(Person::address().then(Address::city()), |city: &V| city.clone())
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:207:28
[INFO] [stdout]     |
[INFO] [stdout] 207 |         .filter_by_keypath(Person::department(), |dept| dept == "Engineering")
[INFO] [stdout]     |          ----------------- ^^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, _>`, found `KeyPaths<Person, String>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, String>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map` found for struct `Vec<&Rc<Person>>` in the current scope
[INFO] [stdout]    --> examples/comprehensive_examples.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 205 |       let engineering_team: Vec<Rc<Person>> = people
[INFO] [stdout]     |  _____________________________________________-
[INFO] [stdout] 206 | |         .clone().into_iter()
[INFO] [stdout] 207 | |         .filter_by_keypath(Person::department(), |dept| dept == "Engineering")
[INFO] [stdout] 208 | |         .map(|person| person) // Only clones the Rc, not the Person
[INFO] [stdout]     | |         -^^^ `Vec<&Rc<Person>>` is not an iterator
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout] help: call `.into_iter()` first
[INFO] [stdout]     |
[INFO] [stdout] 208 |         .into_iter().map(|person| person) // Only clones the Rc, not the Person
[INFO] [stdout]     |          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:223:28
[INFO] [stdout]     |
[INFO] [stdout] 223 |         .filter_by_keypath(Person::salary(), |&salary| salary > 80000.0)
[INFO] [stdout]     |          ----------------- ^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, _>`, found `KeyPaths<Person, f64>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, f64>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `collect` found for struct `Vec<&Rc<Person>>` in the current scope
[INFO] [stdout]    --> examples/comprehensive_examples.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 221 |       let high_salary_people: Vec<&Rc<Person>> = people
[INFO] [stdout]     |  ________________________________________________-
[INFO] [stdout] 222 | |         .clone().into_iter()
[INFO] [stdout] 223 | |         .filter_by_keypath(Person::salary(), |&salary| salary > 80000.0)
[INFO] [stdout] 224 | |         .collect();
[INFO] [stdout]     | |         -^^^^^^^ `Vec<&Rc<Person>>` is not an iterator
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout] help: call `.into_iter()` first
[INFO] [stdout]     |
[INFO] [stdout] 224 |         .into_iter().collect();
[INFO] [stdout]     |          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:236:32
[INFO] [stdout]     |
[INFO] [stdout] 236 |             .filter_by_keypath(Person::is_active(), |&active| active)
[INFO] [stdout]     |              ----------------- ^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, bool>`, found `KeyPaths<Person, bool>`
[INFO] [stdout]     |              |
[INFO] [stdout]     |              arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, _>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `filter_by_keypath` exists for struct `Vec<&Rc<Person>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/comprehensive_examples.rs:237:14
[INFO] [stdout]     |
[INFO] [stdout] 235 | /         people.iter()
[INFO] [stdout] 236 | |             .filter_by_keypath(Person::is_active(), |&active| active)
[INFO] [stdout] 237 | |             .filter_by_keypath(Person::age(), |&age| age >= 25)
[INFO] [stdout]     | |_____________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&mut Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Sized`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut [&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&mut [&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/comprehensive_examples.rs:238:43
[INFO] [stdout]     |
[INFO] [stdout] 238 |             .map_keypath(Person::name(), |name| name.to_uppercase())
[INFO] [stdout]     |                                           ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 238 |             .map_keypath(Person::name(), |name: /* Type */| name.to_uppercase())
[INFO] [stdout]     |                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:246:28
[INFO] [stdout]     |
[INFO] [stdout] 246 |         .filter_by_keypath(Person::department(), |dept| dept == "Engineering")
[INFO] [stdout]     |          ----------------- ^^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, _>`, found `KeyPaths<Person, String>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, String>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `filter_by_keypath` exists for struct `Vec<&Rc<Person>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/comprehensive_examples.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 244 |       let senior_engineers: Vec<String> = people
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout] 245 | |         .clone().into_iter()
[INFO] [stdout] 246 | |         .filter_by_keypath(Person::department(), |dept| dept == "Engineering")
[INFO] [stdout] 247 | |         .filter_by_keypath(Person::age(), |&age| age >= 30)
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&mut Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Sized`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut [&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&mut [&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/comprehensive_examples.rs:249:39
[INFO] [stdout]     |
[INFO] [stdout] 249 |         .map_keypath(Person::name(), |name| name.clone())
[INFO] [stdout]     |                                       ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 249 |         .map_keypath(Person::name(), |name: /* Type */| name.clone())
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:256:28
[INFO] [stdout]     |
[INFO] [stdout] 256 |         .filter_by_keypath(Person::address().then(Address::country()), |country| country == "USA")
[INFO] [stdout]     |          ----------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, _>`, found `KeyPaths<Person, String>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, String>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map_keypath` exists for struct `Vec<&Rc<Person>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/comprehensive_examples.rs:257:10
[INFO] [stdout]     |
[INFO] [stdout] 254 |       let us_employees: Vec<String> = people
[INFO] [stdout]     |  _____________________________________-
[INFO] [stdout] 255 | |         .clone().into_iter()
[INFO] [stdout] 256 | |         .filter_by_keypath(Person::address().then(Address::country()), |country| country == "USA")
[INFO] [stdout] 257 | |         .map_keypath(Person::name(), |name| name.clone())
[INFO] [stdout]     | |         -^^^^^^^^^^^ method cannot be called on `Vec<&Rc<Person>>` due to unsatisfied trait bounds
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&mut Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Sized`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut [&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&mut [&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/comprehensive_examples.rs:257:39
[INFO] [stdout]     |
[INFO] [stdout] 257 |         .map_keypath(Person::name(), |name| name.clone())
[INFO] [stdout]     |                                       ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 257 |         .map_keypath(Person::name(), |name: /* Type */| name.clone())
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> examples/comprehensive_examples.rs:268:75
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let grouped_by_dept = group_by_keypath(people, Person::department(), |dept| dept.clone()).unwrap();
[INFO] [stdout]     |                                                                           ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let grouped_by_dept = group_by_keypath(people, Person::department(), |dept: &V| dept.clone()).unwrap();
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/comprehensive_examples.rs:271:46
[INFO] [stdout]     |
[INFO] [stdout] 271 |         println!("     {}: {} people", dept, people_in_dept.len());
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:275:68
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let (active, inactive) = partition_by_keypath(people.to_vec(), Person::is_active(), |&active| active).unwrap();
[INFO] [stdout]     |                              --------------------                  ^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<Rc<Person>, bool>`, found `KeyPaths<Person, bool>`
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, _>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/higher_order.rs:319:8
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub fn partition_by_keypath<T, V, F>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> examples/comprehensive_examples.rs:280:60
[INFO] [stdout]     |
[INFO] [stdout] 280 |     sort_by_keypath(&mut sorted_people, Person::salary(), |a, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |                                                            ^     - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 280 |     sort_by_keypath(&mut sorted_people, Person::salary(), |a: &V, b| a.partial_cmp(b).unwrap()).unwrap();
[INFO] [stdout]     |                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:287:51
[INFO] [stdout]     |
[INFO] [stdout] 287 |     let emails = collect_keypath(people.to_vec(), Person::email()).unwrap();
[INFO] [stdout]     |                  ---------------                  ^^^^^^^^^^^^^^^ expected `KeyPaths<Rc<Person>, _>`, found `KeyPaths<Person, String>`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, String>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/higher_order.rs:279:8
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub fn collect_keypath<T, V>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `&_`
[INFO] [stdout]    --> examples/comprehensive_examples.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 299 |         .map_keypath(Person::name(), |name| name.clone())
[INFO] [stdout]     |                                       ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 299 |         .map_keypath(Person::name(), |name: &V| name.clone())
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:312:56
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let empty_result = filter_by_keypath(empty_people, Person::age(), |&age| age > 30).unwrap();
[INFO] [stdout]     |                        -----------------               ^^^^^^^^^^^^^ expected `KeyPaths<Rc<Person>, _>`, found `KeyPaths<Person, u32>`
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, u32>`
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/higher_order.rs:76:8
[INFO] [stdout]     |
[INFO] [stdout]  76 | pub fn filter_by_keypath<T, V, F>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> examples/comprehensive_examples.rs:334:28
[INFO] [stdout]     |
[INFO] [stdout] 334 |         .filter_by_keypath(Person::department(), |dept| dept == "Engineering")
[INFO] [stdout]     |          ----------------- ^^^^^^^^^^^^^^^^^^^^ expected `KeyPaths<&Rc<Person>, _>`, found `KeyPaths<Person, String>`
[INFO] [stdout]     |          |
[INFO] [stdout]     |          arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `KeyPaths<&Rc<Person>, _>`
[INFO] [stdout]                found enum `KeyPaths<Person, String>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/traits.rs:93:8
[INFO] [stdout]     |
[INFO] [stdout]  93 |     fn filter_by_keypath<V, F>(self, keypath: KeyPaths<Self::Item, V>, predicate: F) -> Vec<Self::Item>
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `filter_by_keypath` exists for struct `Vec<&Rc<Person>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/comprehensive_examples.rs:335:10
[INFO] [stdout]     |
[INFO] [stdout] 332 |       let keypath_result: Vec<String> = people
[INFO] [stdout]     |  _______________________________________-
[INFO] [stdout] 333 | |         .clone().into_iter()
[INFO] [stdout] 334 | |         .filter_by_keypath(Person::department(), |dept| dept == "Engineering")
[INFO] [stdout] 335 | |         .filter_by_keypath(Person::is_active(), |&active| active)
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut Vec<&Rc<Person>>: Iterator`
[INFO] [stdout]             which is required by `&mut Vec<&Rc<Person>>: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Sized`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&[&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&[&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout]             `&mut [&Rc<Person>]: Iterator`
[INFO] [stdout]             which is required by `&mut [&Rc<Person>]: rust_prelude_plus::traits::KeyPathsIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/comprehensive_examples.rs:336:39
[INFO] [stdout]     |
[INFO] [stdout] 336 |         .map_keypath(Person::name(), |name| name.clone())
[INFO] [stdout]     |                                       ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 336 |         .map_keypath(Person::name(), |name: /* Type */| name.clone())
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `into_par_iter` found for struct `Vec<Product>` in the current scope
[INFO] [stdout]    --> examples/parallel_examples.rs:196:10
[INFO] [stdout]     |
[INFO] [stdout] 195 |       let (in_stock, out_of_stock): (Vec<Product>, Vec<Product>) = products_owned
[INFO] [stdout]     |  __________________________________________________________________-
[INFO] [stdout] 196 | |         .into_par_iter()
[INFO] [stdout]     | |_________-^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.11.0/src/iter/mod.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 |       fn into_par_iter(self) -> Self::Iter;
[INFO] [stdout]     |          ------------- the method is available for `Vec<Product>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `IntoParallelIterator` which provides `into_par_iter` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   3 + use rayon::iter::IntoParallelIterator;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `into_iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 196 -         .into_par_iter()
[INFO] [stdout] 196 +         .into_iter()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-prelude-plus` (example "comprehensive_examples") due to 34 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/parallel_examples.rs:219:18
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 |name| name.len(),
[INFO] [stdout]     |                  ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 |name: /* Type */| name.len(),
[INFO] [stdout]     |                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/parallel_examples.rs:232:70
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 Ok(filtered) => println!("Products > $50: {} items", filtered.len()),
[INFO] [stdout]     |                                                                      ^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/parallel_examples.rs:274:26
[INFO] [stdout]     |
[INFO] [stdout] 274 |                         |name| name.clone(),
[INFO] [stdout]     |                          ^^^^  ---- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 274 |                         |name: /* Type */| name.clone(),
[INFO] [stdout]     |                              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-prelude-plus` (example "optimized_performance_comparison") due to 12 previous errors
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/async_examples.rs:123:64
[INFO] [stdout]     |
[INFO] [stdout] 123 |         Ok(active_users) => println!("Active users count: {}", active_users.len()),
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/async_examples.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 |         |email| !email.is_empty(),
[INFO] [stdout]     |          ^^^^^   ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 171 |         |email: /* Type */| !email.is_empty(),
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `group_products_by_category` is never used
[INFO] [stdout]   --> tests/testability_tests.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn group_products_by_category(products: &[Product]) -> KeyPathResult<HashMap<String, Vec<Product>>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/async_examples.rs:201:70
[INFO] [stdout]     |
[INFO] [stdout] 201 |         Ok(published_posts) => println!("Published posts count: {}", published_posts.len()),
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> examples/async_examples.rs:212:49
[INFO] [stdout]     |
[INFO] [stdout] 212 |             println!("Popular posts count: {}", popular_posts.len());
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `par_iter` found for reference `&[Employee]` in the current scope
[INFO] [stdout]    --> examples/performance_comparison.rs:243:10
[INFO] [stdout]     |
[INFO] [stdout] 242 |       let parallel_total: f64 = employees
[INFO] [stdout]     |  _______________________________-
[INFO] [stdout] 243 | |         .par_iter()
[INFO] [stdout]     | |_________-^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `IntoParallelRefIterator` which provides `par_iter` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   4 + use rayon::iter::IntoParallelRefIterator;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `iter` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 243 -         .par_iter()
[INFO] [stdout] 243 +         .iter()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> examples/async_examples.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | async fn main() {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-prelude-plus` (example "parallel_examples") due to 11 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433, E0752.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-prelude-plus` (example "async_examples") due to 7 previous errors
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-prelude-plus` (example "performance_comparison") due to 8 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "12658b854ff8076983aa6ef8a725eefc7b59b6b5074451a8eee6ead7573400fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12658b854ff8076983aa6ef8a725eefc7b59b6b5074451a8eee6ead7573400fc", kill_on_drop: false }`
[INFO] [stdout] 12658b854ff8076983aa6ef8a725eefc7b59b6b5074451a8eee6ead7573400fc
