[INFO] cloning repository https://github.com/IR25721/wave_function2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IR25721/wave_function2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIR25721%2Fwave_function2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIR25721%2Fwave_function2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bbd0162c68f44b4f6c8a34310f2a4e43adcc5055
[INFO] checking IR25721/wave_function2 against c60b92c03ca8a3b101eb9d57f51e2232690638c7 for pr-164148-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIR25721%2Fwave_function2" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/IR25721/wave_function2
[INFO] finished tweaking git repo https://github.com/IR25721/wave_function2
[INFO] tweaked toml for git repo https://github.com/IR25721/wave_function2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/IR25721/wave_function2 on toolchain c60b92c03ca8a3b101eb9d57f51e2232690638c7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/IR25721/wave_function2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba
[INFO] running `Command { std: "docker" "start" "d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba" "/opt/rustwide/cargo-home/bin/cargo" "+c60b92c03ca8a3b101eb9d57f51e2232690638c7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]    Compiling xml-rs v0.8.25
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]     Checking libloading v0.8.6
[INFO] [stderr]     Checking bitflags v2.9.0
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking bytemuck v1.22.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking miniz_oxide v0.8.7
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking wgpu-types v0.17.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]     Checking glow v0.12.3
[INFO] [stderr]     Checking xcursor v0.3.8
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]    Compiling palette v0.5.0
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking tiny-skia-path v0.8.4
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking gif v0.11.4
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking sid v0.6.1
[INFO] [stderr]     Checking float_next_after v0.1.5
[INFO] [stderr]     Checking lyon_geom v0.17.7
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking lyon_path v0.17.7
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking tiny-skia v0.8.4
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking lyon_algorithms v0.17.7
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking lyon_tessellation v0.17.10
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking rand_xorshift v0.2.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking crossbeam-deque v0.7.4
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]     Checking stb_truetype v0.3.1
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking lyon v0.17.10
[INFO] [stderr]     Checking pennereq v0.3.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking find_folder v0.3.0
[INFO] [stderr]     Checking notosans v0.1.0
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]     Checking ab_glyph v0.2.29
[INFO] [stderr]    Compiling palette_derive v0.5.0
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking tokio v1.44.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking naga v0.13.0
[INFO] [stderr]     Checking calloop v0.10.6
[INFO] [stderr]     Checking integrate v0.1.11
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/gauss_quadrature.rs:59:14
[INFO] [stdout]     |
[INFO] [stdout]  59 |           .map(|k| {
[INFO] [stdout]     |            --- ^--
[INFO] [stdout]     |            |   |
[INFO] [stdout]     |  __________|___within this `{closure@gauss_quadrature.rs:59:14}`
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          required by a bound introduced by this call
[INFO] [stdout]  60 | |             // getting gauss-legendre weights and nodes
[INFO] [stdout]  61 | |             let (_, weight, x) = glpair(n, k);
[INFO] [stdout] ...   |
[INFO] [stdout]  67 | |             weight * func(c * x + d).to_f64().unwrap() * c.to_f64().unwrap()
[INFO] [stdout]  68 | |         })
[INFO] [stdout]     | |_________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `d` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/gauss_quadrature.rs:67:35
[INFO] [stdout]     |
[INFO] [stdout]  67 |             weight * func(c * x + d).to_f64().unwrap() * c.to_f64().unwrap()
[INFO] [stdout]     |                                   ^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::map`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/mod.rs:603:41
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn map<F, R>(self, map_op: F) -> Map<Self, F>
[INFO] [stdout] 602 |     where
[INFO] [stdout] 603 |         F: Fn(Self::Item) -> R + Sync + Send,
[INFO] [stdout]     |                                         ^^^^ required by this bound in `ParallelIterator::map`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-4565717840268654672.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  38 |     F1: Float + Sync + std::marker::Send,
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/gauss_quadrature.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let integral: f64 = (1..=n)
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 58 | |         .into_par_iter()
[INFO] [stdout] 59 | |         .map(|k| {
[INFO] [stdout]    | |              --- within this `{closure@gauss_quadrature.rs:59:14}`
[INFO] [stdout] ...  |
[INFO] [stdout] 68 | |         })
[INFO] [stdout] 69 | |         .sum();
[INFO] [stdout]    | |______________^ `F1` cannot be sent between threads safely
[INFO] [stdout]    |
[INFO] [stdout] note: required because `d` is used within this closure
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/gauss_quadrature.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             weight * func(c * x + d).to_f64().unwrap() * c.to_f64().unwrap()
[INFO] [stdout]    |                                   ^
[INFO] [stdout]    = note: required for `Map<Iter<usize>, {closure@gauss_quadrature.rs:59:14}>` to implement `rayon::iter::ParallelIterator`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-4565717840268654672.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     F1: Float + Sync + std::marker::Send,
[INFO] [stdout]    |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:51:14
[INFO] [stdout]     |
[INFO] [stdout]  51 |           .map(|i| {
[INFO] [stdout]     |            --- ^--
[INFO] [stdout]     |            |   |
[INFO] [stdout]     |  __________|___within this `{closure@newton_cotes.rs:51:14}`
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          required by a bound introduced by this call
[INFO] [stdout]  52 | |             // subinterval index (as real)
[INFO] [stdout]  53 | |             let i = F1::from(i).expect("failed to convert subinterval index i");
[INFO] [stdout] ...   |
[INFO] [stdout]  63 | |         })
[INFO] [stdout]     | |_________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `lower_limit` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:56:21
[INFO] [stdout]     |
[INFO] [stdout]  56 |             let x = lower_limit
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::map`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/mod.rs:603:41
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn map<F, R>(self, map_op: F) -> Map<Self, F>
[INFO] [stdout] 602 |     where
[INFO] [stdout] 603 |         F: Fn(Self::Item) -> R + Sync + Send,
[INFO] [stdout]     |                                         ^^^^ required by this bound in `ParallelIterator::map`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-17976694380247642822.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  33 | pub fn rectangle_rule<Func, F1: Float + Sync + std::marker::Send, F2: Float + Sync, U: Unsigned + ToPrimitive + Copy>(
[INFO] [stdout]     |                                              +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |       let integral: f64 = (0..(n_intervals.to_usize().unwrap()))
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 50 | |         .into_par_iter()
[INFO] [stdout] 51 | |         .map(|i| {
[INFO] [stdout]    | |              --- within this `{closure@newton_cotes.rs:51:14}`
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |         })
[INFO] [stdout] 64 | |         .sum();
[INFO] [stdout]    | |______________^ `F1` cannot be sent between threads safely
[INFO] [stdout]    |
[INFO] [stdout] note: required because `lower_limit` is used within this closure
[INFO] [stdout]   --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let x = lower_limit
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Map<Iter<usize>, {closure@newton_cotes.rs:51:14}>` to implement `rayon::iter::ParallelIterator`
[INFO] [stdout]    = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-17976694380247642822.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn rectangle_rule<Func, F1: Float + Sync + std::marker::Send, F2: Float + Sync, U: Unsigned + ToPrimitive + Copy>(
[INFO] [stdout]    |                                              +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:119:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |           .map(|i| {
[INFO] [stdout]     |            --- ^--
[INFO] [stdout]     |            |   |
[INFO] [stdout]     |  __________|___within this `{closure@newton_cotes.rs:119:14}`
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          required by a bound introduced by this call
[INFO] [stdout] 120 | |             // subinterval index (as real)
[INFO] [stdout] 121 | |             let i = F1::from(i).expect("failed to convert subinterval index i");
[INFO] [stdout] 122 | |             func(lower_limit + i * h).to_f64().unwrap()
[INFO] [stdout] 123 | |         })
[INFO] [stdout]     | |_________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `lower_limit` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |             func(lower_limit + i * h).to_f64().unwrap()
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::map`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/mod.rs:603:41
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn map<F, R>(self, map_op: F) -> Map<Self, F>
[INFO] [stdout] 602 |     where
[INFO] [stdout] 603 |         F: Fn(Self::Item) -> R + Sync + Send,
[INFO] [stdout]     |                                         ^^^^ required by this bound in `ParallelIterator::map`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-12969779814282626774.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  95 |     F1: Float + Sync + std::marker::Send,
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:117:25
[INFO] [stdout]     |
[INFO] [stdout] 117 |       let integral: f64 = (1..(n_intervals.to_usize().unwrap()))
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 118 | |         .into_par_iter()
[INFO] [stdout] 119 | |         .map(|i| {
[INFO] [stdout]     | |              --- within this `{closure@newton_cotes.rs:119:14}`
[INFO] [stdout] ...   |
[INFO] [stdout] 123 | |         })
[INFO] [stdout] 124 | |         .sum();
[INFO] [stdout]     | |______________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `lower_limit` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:122:18
[INFO] [stdout]     |
[INFO] [stdout] 122 |             func(lower_limit + i * h).to_f64().unwrap()
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Map<Iter<usize>, {closure@newton_cotes.rs:119:14}>` to implement `rayon::iter::ParallelIterator`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-12969779814282626774.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout]  95 |     F1: Float + Sync + std::marker::Send,
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:182:14
[INFO] [stdout]     |
[INFO] [stdout] 182 |           .map(|i| {
[INFO] [stdout]     |            --- ^--
[INFO] [stdout]     |            |   |
[INFO] [stdout]     |  __________|___within this `{closure@newton_cotes.rs:182:14}`
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          required by a bound introduced by this call
[INFO] [stdout] 183 | |             // subinterval index (as real)
[INFO] [stdout] 184 | |             let i_plus_1 = F1::from(i + 1).expect("failed to convert subinterval index (i+1)");
[INFO] [stdout] 185 | |             let i = F1::from(i).expect("failed to convert subinterval index i");
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |                 + 4.0 * f(a + i_plus_1 * h_over_2).to_f64().unwrap()
[INFO] [stdout] 189 | |         })
[INFO] [stdout]     | |_________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `a` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:187:21
[INFO] [stdout]     |
[INFO] [stdout] 187 |             2.0 * f(a + i * h_over_2).to_f64().unwrap()
[INFO] [stdout]     |                     ^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::map`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/mod.rs:603:41
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn map<F, R>(self, map_op: F) -> Map<Self, F>
[INFO] [stdout] 602 |     where
[INFO] [stdout] 603 |         F: Fn(Self::Item) -> R + Sync + Send,
[INFO] [stdout]     |                                         ^^^^ required by this bound in `ParallelIterator::map`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-8786885459801090683.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn simpson_rule<Func, F1: Float + Sync + std::marker::Send, F2: Float, U: Unsigned + ToPrimitive + Copy>(
[INFO] [stdout]     |                                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:179:25
[INFO] [stdout]     |
[INFO] [stdout] 179 |       let integral: f64 = (2..(2 * n.to_usize().unwrap()))
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 180 | |         .into_par_iter()
[INFO] [stdout] 181 | |         .step_by(2)
[INFO] [stdout] 182 | |         .map(|i| {
[INFO] [stdout]     | |              --- within this `{closure@newton_cotes.rs:182:14}`
[INFO] [stdout] ...   |
[INFO] [stdout] 189 | |         })
[INFO] [stdout] 190 | |         .sum();
[INFO] [stdout]     | |______________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `a` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:187:21
[INFO] [stdout]     |
[INFO] [stdout] 187 |             2.0 * f(a + i * h_over_2).to_f64().unwrap()
[INFO] [stdout]     |                     ^
[INFO] [stdout]     = note: required for `Map<StepBy<Iter<usize>>, {closure@newton_cotes.rs:182:14}>` to implement `rayon::iter::ParallelIterator`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-8786885459801090683.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn simpson_rule<Func, F1: Float + Sync + std::marker::Send, F2: Float, U: Unsigned + ToPrimitive + Copy>(
[INFO] [stdout]     |                                            +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:254:14
[INFO] [stdout]     |
[INFO] [stdout] 254 |           .map(|i| {
[INFO] [stdout]     |            --- ^--
[INFO] [stdout]     |            |   |
[INFO] [stdout]     |  __________|___within this `{closure@newton_cotes.rs:254:14}`
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          required by a bound introduced by this call
[INFO] [stdout] 255 | |             // subinterval index (as real)
[INFO] [stdout] 256 | |             let i_plus_1 = F1::from(i + 1).expect("failed to convert subinterval index (i+1)");
[INFO] [stdout] 257 | |             let i_plus_2 = F1::from(i + 2).expect("failed to convert subinterval index (i+2)");
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |                         + func(lower_limit + i_plus_2 * h_over_3).to_f64().unwrap())
[INFO] [stdout] 264 | |         })
[INFO] [stdout]     | |_________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `lower_limit` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:260:24
[INFO] [stdout]     |
[INFO] [stdout] 260 |             2.0 * func(lower_limit + i * h_over_3).to_f64().unwrap()
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::map`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/mod.rs:603:41
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn map<F, R>(self, map_op: F) -> Map<Self, F>
[INFO] [stdout] 602 |     where
[INFO] [stdout] 603 |         F: Fn(Self::Item) -> R + Sync + Send,
[INFO] [stdout]     |                                         ^^^^ required by this bound in `ParallelIterator::map`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-8814938675277243525.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn newton_rule<Func, F1: Float + Sync + std::marker::Send, F2: Float, U: Unsigned + ToPrimitive + Copy>(
[INFO] [stdout]     |                                           +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:251:25
[INFO] [stdout]     |
[INFO] [stdout] 251 |       let integral: f64 = (3..(3 * n_intervals.to_usize().unwrap()))
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 252 | |         .into_par_iter()
[INFO] [stdout] 253 | |         .step_by(3)
[INFO] [stdout] 254 | |         .map(|i| {
[INFO] [stdout]     | |              --- within this `{closure@newton_cotes.rs:254:14}`
[INFO] [stdout] ...   |
[INFO] [stdout] 264 | |         })
[INFO] [stdout] 265 | |         .sum();
[INFO] [stdout]     | |______________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `lower_limit` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/newton_cotes.rs:260:24
[INFO] [stdout]     |
[INFO] [stdout] 260 |             2.0 * func(lower_limit + i * h_over_3).to_f64().unwrap()
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Map<StepBy<Iter<usize>>, {closure@newton_cotes.rs:254:14}>` to implement `rayon::iter::ParallelIterator`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-8814938675277243525.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn newton_rule<Func, F1: Float + Sync + std::marker::Send, F2: Float, U: Unsigned + ToPrimitive + Copy>(
[INFO] [stdout]     |                                           +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/romberg.rs:127:14
[INFO] [stdout]     |
[INFO] [stdout] 127 |           .map(|i| {
[INFO] [stdout]     |            --- ^--
[INFO] [stdout]     |            |   |
[INFO] [stdout]     |  __________|___within this `{closure@romberg.rs:127:14}`
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          required by a bound introduced by this call
[INFO] [stdout] 128 | |             let pow_2 = 2_usize.pow(i.try_into().unwrap()); // 2 ** i
[INFO] [stdout] 129 | |             let trapezoidal = trapezoidal_rule(func, lower_limit, upper_limit, pow_2);
[INFO] [stdout] 130 | |             F2::from(trapezoidal).unwrap()
[INFO] [stdout] 131 | |         })
[INFO] [stdout]     | |_________^ `F1` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout] note: required because `lower_limit` is used within this closure
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/romberg.rs:129:54
[INFO] [stdout]     |
[INFO] [stdout] 129 |             let trapezoidal = trapezoidal_rule(func, lower_limit, upper_limit, pow_2);
[INFO] [stdout]     |                                                      ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `rayon::iter::ParallelIterator::map`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/mod.rs:603:41
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub trait ParallelIterator: Sized + Send {
[INFO] [stdout] ...
[INFO] [stdout] 601 |     fn map<F, R>(self, map_op: F) -> Map<Self, F>
[INFO] [stdout] 602 |     where
[INFO] [stdout] 603 |         F: Fn(Self::Item) -> R + Sync + Send,
[INFO] [stdout]     |                                         ^^^^ required by this bound in `ParallelIterator::map`
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-9536316478242791482.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]     |
[INFO] [stdout] 108 |     F1: Float + Sync + std::marker::Send,
[INFO] [stdout]     |                      +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `F1` cannot be sent between threads safely
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/romberg.rs:132:10
[INFO] [stdout]      |
[INFO] [stdout]  127 |         .map(|i| {
[INFO] [stdout]      |              --- within this `{closure@romberg.rs:127:14}`
[INFO] [stdout] ...
[INFO] [stdout]  132 |         .collect_into_vec(&mut trapezoidals);
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^ `F1` cannot be sent between threads safely
[INFO] [stdout]      |
[INFO] [stdout] note: required because `lower_limit` is used within this closure
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/integrate-0.1.11/src/romberg.rs:129:54
[INFO] [stdout]      |
[INFO] [stdout]  129 |             let trapezoidal = trapezoidal_rule(func, lower_limit, upper_limit, pow_2);
[INFO] [stdout]      |                                                      ^^^^^^^^^^^
[INFO] [stdout]      = note: required for `Map<Iter<usize>, {closure@romberg.rs:127:14}>` to implement `rayon::iter::ParallelIterator`
[INFO] [stdout] note: required by a bound in `collect_into_vec`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rayon-1.10.0/src/iter/mod.rs:2451:36
[INFO] [stdout]      |
[INFO] [stdout] 2451 | pub trait IndexedParallelIterator: ParallelIterator {
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^ required by this bound in `IndexedParallelIterator::collect_into_vec`
[INFO] [stdout] ...
[INFO] [stdout] 2534 |     fn collect_into_vec(self, target: &mut Vec<Self::Item>) {
[INFO] [stdout]      = note: the full name for the type has been written to '/opt/rustwide/target/debug/build/integrate/0b1b9f100b152959/out/integrate-0b1b9f100b152959.long-type-9536316478242791482.txt'
[INFO] [stdout]      = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] help: consider further restricting type parameter `F1` with trait `Send`
[INFO] [stdout]      |
[INFO] [stdout]  108 |     F1: Float + Sync + std::marker::Send,
[INFO] [stdout]      |                      +++++++++++++++++++
[INFO] [stdout] help: consider removing this method call, as the receiver has type `rayon::range::Iter<usize>` and `rayon::range::Iter<usize>: Send` trivially holds
[INFO] [stdout]      |
[INFO] [stdout]  126 -         .into_par_iter()
[INFO] [stdout]  127 -         .map(|i| {
[INFO] [stdout]  128 -             let pow_2 = 2_usize.pow(i.try_into().unwrap()); // 2 ** i
[INFO] [stdout]  129 -             let trapezoidal = trapezoidal_rule(func, lower_limit, upper_limit, pow_2);
[INFO] [stdout]  130 -             F2::from(trapezoidal).unwrap()
[INFO] [stdout]  131 -         })
[INFO] [stdout]  126 +         .into_par_iter()
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `integrate` (lib) due to 12 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba", kill_on_drop: false }`
[INFO] [stdout] d63e17a38641513d04ad8197dce022f7b1c23e5b39672623326dc99978a975ba
