Repository navigation
regression: error[E0275]: overflow evaluating the requirement (related to pin-project) #134709
Copy link
Copy link
Closed
Closed
Copy link
Labels
C-bugCategory: This is a bug.Category: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.
Milestone
Description
These look similar, but feel free to split the issue if they have distinct causes.
[INFO] [stdout] error[E0275]: overflow evaluating the requirement `(PhantomData<warp::filters::any::AnyFut>, PhantomData<()>, PhantomData<Exact<...>>): Sized`
[INFO] [stdout] |
[INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`http_api`)
[INFO] [stdout] = note: required for `AlwaysUnpin<'_, (PhantomData<AnyFut>, PhantomData<()>, ...)>` to implement `Unpin`
[INFO] [stdout] note: required because it appears within the type `__State<'_, AnyFut, (), Exact<Opaque<__StaticPath>>>`
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.0/src/filter/and.rs:46:6
[INFO] [stdout] |
[INFO] [stdout] 46 | enum State<T, TE, U: Filter> {
[INFO] [stdout] | ^^^^^
[INFO] [stdout] = note: required for `State<AnyFut, (), Exact<Opaque<__StaticPath>>>` to implement `Unpin`
[INFO] [stdout] note: required because it appears within the type `__AndFuture<'_, Any, Exact<Opaque<__StaticPath>>>`
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.0/src/filter/and.rs:40:12
[INFO] [stdout] |
[INFO] [stdout] 40 | pub struct AndFuture<T: Filter, U: Filter> {
[INFO] [stdout] | ^^^^^^^^^
[INFO] [stdout] = note: required for `AndFuture<Any, Exact<Opaque<__StaticPath>>>` to implement `Unpin`
[INFO] [stdout] note: required because it appears within the type `__State<'_, AndFuture<Any, Exact<Opaque<__StaticPath>>>, (), ...>`
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.0/src/filter/and.rs:46:6
[INFO] [stdout] |
[INFO] [stdout] 46 | enum State<T, TE, U: Filter> {
[INFO] [stdout] | ^^^^^
[INFO] [stdout] = note: required for `State<AndFuture<Any, Exact<Opaque<__StaticPath>>>, (), Exact<...>>` to implement `Unpin`
[INFO] [stdout] note: required because it appears within the type `__AndFuture<'_, And<Any, Exact<Opaque<__StaticPath>>>, Exact<...>>`
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.0/src/filter/and.rs:40:12
[INFO] [stdout] |
[INFO] [stdout] 40 | pub struct AndFuture<T: Filter, U: Filter> {
[INFO] [stdout] | ^^^^^^^^^
[INFO] [stdout] = note: required for `AndFuture<And<Any, Exact<Opaque<__StaticPath>>>, Exact<Opaque<...>>>` to implement `Unpin`
[...]
[INFO] [stdout] error[E0275]: overflow evaluating the requirement `pin_project::__private::AlwaysUnpin<'_, (PhantomData<warp::filters::any::Any>, PhantomData<Exact<warp::path::internal::Opaque<...>>>)>: Unpin`
[INFO] [stdout] |
[INFO] [stdout] = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`diesel_demo`)
[INFO] [stdout] note: required because it appears within the type `__AndFuture<'_, Any, Exact<Opaque<__StaticPath>>>`
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.1/src/filter/and.rs:40:12
[INFO] [stdout] |
[INFO] [stdout] 40 | pub struct AndFuture<T: Filter, U: Filter> {
[INFO] [stdout] | ^^^^^^^^^
[INFO] [stdout] = note: required for `AndFuture<Any, Exact<Opaque<__StaticPath>>>` to implement `Unpin`
[INFO] [stdout] note: required because it appears within the type `__State<'_, AndFuture<Any, Exact<Opaque<__StaticPath>>>, (), ...>`
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.1/src/filter/and.rs:46:6
[INFO] [stdout] |
[INFO] [stdout] 46 | enum State<T, TE, U: Filter> {
[INFO] [stdout] | ^^^^^
[INFO] [stdout] = note: required for `State<AndFuture<Any, Exact<Opaque<__StaticPath>>>, (), Exact<...>>` to implement `Unpin`
[INFO] [stdout] note: required because it appears within the type `__AndFuture<'_, And<Any, Exact<Opaque<__StaticPath>>>, Exact<...>>`
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.1/src/filter/and.rs:40:12
[INFO] [stdout] |
[INFO] [stdout] 40 | pub struct AndFuture<T: Filter, U: Filter> {
[INFO] [stdout] | ^^^^^^^^^
[INFO] [stdout] = note: required for `AndFuture<And<Any, Exact<Opaque<__StaticPath>>>, Exact<Opaque<...>>>` to implement `Unpin`
[INFO] [stdout] note: required because it appears within the type `__State<'_, AndFuture<And<Any, Exact<Opaque<...>>>, ...>, ..., ...>`
[INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/warp-0.3.1/src/filter/and.rs:46:6
[INFO] [stdout] |
[INFO] [stdout] 46 | enum State<T, TE, U: Filter> {
[INFO] [stdout] | ^^^^^
[INFO] [stdout] = note: required for `State<AndFuture<And<Any, Exact<Opaque<__StaticPath>>>, ...>, ..., ...>` to implement `Unpin`
[...]
Version it worked on
It most recently worked on: 1.83.0
Version with regression
Using rustc 1.84.0-beta.4 in crater #134138.
@rustbot modify labels: +regression-from-stable-to-beta -regression-untriaged
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-betaPerformance or correctness regression from stable to beta.Performance or correctness regression from stable to beta.
Activity
compiler-errors commentedon Dec 23, 2024
Interestingly, the mousse regression seems to bisect to 7660aed / #132173.
theemathas commentedon Jan 4, 2025
Somewhat minimized from
diesel-demo:cargo +stable check,cargo +stable build, andcargo +beta checkwork fine, butcargo +beta buildproduces an error.lib.rs
Cargo.toml
Cargo.lock
apiraino commentedon Jan 6, 2025
also cc @veluca93 as author of #132173
veluca93 commentedon Jan 6, 2025
I don't see what in that PR might be the cause of this - any ideas?
My best guess is that this is caused by changing the order of evaluation of some queries, possibly unveiling some pre-existing issues, but I am not sure.
jieyouxu commentedon Jan 6, 2025
This example builds with
cargo +beta buildif I bump the recursion limit+#![recursion_limit = "256"] use warp::Filter;jieyouxu commentedon Jan 6, 2025
FWIW https://github.com/ethereum-mousse/mousse also builds with
cargo +beta buildif I add a#![recursion_limit = "256"]to itshttp_api/src/main.rs.apiraino commentedon Jan 6, 2025
thanks @jieyouxu. I guess this means those crates would probably need to be updated by their maintainers
@rustbot label -needs-triage
apiraino commentedon Jan 15, 2025
Makes sense closing this one? It looks like that updating the code of these crates should fix the issue (
warpis known to us at triaging for being somewhat problematic)