[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 = 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, bool>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [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> = 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>`, found `Vec<&Rc>` [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Vec>` [INFO] [stdout] found struct `Vec<&Rc<_>>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `par_sort_by` found for struct `Vec` 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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> KeyPathResult> [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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [INFO] [stdout] note: method defined here [INFO] [stdout] --> /opt/rustwide/workdir/src/traits.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | fn fold_keypath(self, keypath: KeyPaths, init: B, mut f: F) -> KeyPathResult [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `par_iter` found for struct `Vec` in the current scope [INFO] [stdout] --> examples/optimized_performance_comparison.rs:329:10 [INFO] [stdout] | [INFO] [stdout] 328 | let parallel_result: Vec = 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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `filter_by_keypath` exists for struct `Vec<&Rc>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/comprehensive_examples.rs:174:10 [INFO] [stdout] | [INFO] [stdout] 171 | let engineering_seniors: Vec = 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>: Iterator` [INFO] [stdout] which is required by `Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&mut Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Sized` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Iterator` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&[&Rc]: Iterator` [INFO] [stdout] which is required by `&[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut [&Rc]: Iterator` [INFO] [stdout] which is required by `&mut [&Rc]: 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, bool>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `map_keypath` exists for struct `Vec<&Rc>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/comprehensive_examples.rs:183:10 [INFO] [stdout] | [INFO] [stdout] 180 | let top_earners: Vec = 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>` 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>: Iterator` [INFO] [stdout] which is required by `Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&mut Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Sized` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Iterator` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&[&Rc]: Iterator` [INFO] [stdout] which is required by `&[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut [&Rc]: Iterator` [INFO] [stdout] which is required by `&mut [&Rc]: 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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `map` found for struct `Vec<&Rc>` in the current scope [INFO] [stdout] --> examples/comprehensive_examples.rs:208:10 [INFO] [stdout] | [INFO] [stdout] 205 | let engineering_team: Vec> = 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>` 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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `collect` found for struct `Vec<&Rc>` in the current scope [INFO] [stdout] --> examples/comprehensive_examples.rs:224:10 [INFO] [stdout] | [INFO] [stdout] 221 | let high_salary_people: Vec<&Rc> = 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>` 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, bool>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `filter_by_keypath` exists for struct `Vec<&Rc>`, 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>: Iterator` [INFO] [stdout] which is required by `Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&mut Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Sized` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Iterator` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&[&Rc]: Iterator` [INFO] [stdout] which is required by `&[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut [&Rc]: Iterator` [INFO] [stdout] which is required by `&mut [&Rc]: 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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `filter_by_keypath` exists for struct `Vec<&Rc>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/comprehensive_examples.rs:247:10 [INFO] [stdout] | [INFO] [stdout] 244 | let senior_engineers: Vec = 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>: Iterator` [INFO] [stdout] which is required by `Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&mut Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Sized` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Iterator` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&[&Rc]: Iterator` [INFO] [stdout] which is required by `&[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut [&Rc]: Iterator` [INFO] [stdout] which is required by `&mut [&Rc]: 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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `map_keypath` exists for struct `Vec<&Rc>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/comprehensive_examples.rs:257:10 [INFO] [stdout] | [INFO] [stdout] 254 | let us_employees: Vec = 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>` 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>: Iterator` [INFO] [stdout] which is required by `Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&mut Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Sized` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Iterator` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&[&Rc]: Iterator` [INFO] [stdout] which is required by `&[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut [&Rc]: Iterator` [INFO] [stdout] which is required by `&mut [&Rc]: 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, bool>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths, _>` [INFO] [stdout] found enum `KeyPaths` [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( [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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths, _>` [INFO] [stdout] found enum `KeyPaths` [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( [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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths, _>` [INFO] [stdout] found enum `KeyPaths` [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( [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, _>`, found `KeyPaths` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected enum `KeyPaths<&Rc, _>` [INFO] [stdout] found enum `KeyPaths` [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(self, keypath: KeyPaths, predicate: F) -> Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: the method `filter_by_keypath` exists for struct `Vec<&Rc>`, but its trait bounds were not satisfied [INFO] [stdout] --> examples/comprehensive_examples.rs:335:10 [INFO] [stdout] | [INFO] [stdout] 332 | let keypath_result: Vec = 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>: Iterator` [INFO] [stdout] which is required by `Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut Vec<&Rc>: Iterator` [INFO] [stdout] which is required by `&mut Vec<&Rc>: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Sized` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `[&Rc]: Iterator` [INFO] [stdout] which is required by `[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&[&Rc]: Iterator` [INFO] [stdout] which is required by `&[&Rc]: rust_prelude_plus::traits::KeyPathsIterator` [INFO] [stdout] `&mut [&Rc]: Iterator` [INFO] [stdout] which is required by `&mut [&Rc]: 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` in the current scope [INFO] [stdout] --> examples/parallel_examples.rs:196:10 [INFO] [stdout] | [INFO] [stdout] 195 | let (in_stock, out_of_stock): (Vec, Vec) = 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` 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>> { [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