-
Notifications
You must be signed in to change notification settings - Fork 13k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
regression: ICE: Failed to normalize Alias(Opaque, AliasTy #135668
Comments
This comment has been minimized.
This comment has been minimized.
Minimized: use std::future::Future;
pub async fn foo() {
let _ = create_task().await;
}
async fn create_task() -> impl Sized {
bind(documentation)
}
async fn documentation() {
include_str!("nonexistent");
}
fn bind<F>(_filter: F) -> impl Sized
where
F: FilterBase,
{
|| -> <F as FilterBase>::Assoc { panic!() }
}
trait FilterBase {
type Assoc;
}
impl<F, R> FilterBase for F
where
F: Fn() -> R,
// Removing the below line makes it correctly error on both stable and beta
R: Future,
// Removing the below line makes it ICE on both stable and beta
R: Send,
// Removing the above two bounds makes it ICE on stable but correctly error on beta
{
type Assoc = F;
} The above code correctly produces an error with Error output
(In other words: The code ICEs on stable iff there is not an |
The most recent minimized example bisects to #134798 in |
cc @compiler-errors (author of the aforementioned PR) |
given this is error->ICE i'll consider this P-low. i'll look into a fix though. |
The text was updated successfully, but these errors were encountered: