-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Stable ICE: assertion failed: (left == right)
#77329
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
This started happening on stable 1.36 |
I'm realy unsure on how much this bisect can be trusted, I'm happy to run other ones with a little bit of help, this is the best I got. searched nightlies: from nightly-2020-04-30 to nightly-2020-08-28 bisected with cargo-bisect-rustc v0.5.2Host triple: x86_64-unknown-linux-gnu cargo bisect-rustc --regress=non-error |
My bisect:
Command: |
Smaller example: trait Foo {}
fn bug() -> impl Foo<[(); |_: ()| {}]> {} Something wrong with the inference when |
Using regular const generics on nightly produces the same error, so it's probably related: #![feature(min_const_generics)]
trait Foo {}
struct Bar<const N: usize>;
fn bug() -> impl Foo<Bar<{|_: ()| {}}>> {} |
All example include closure. So I don't think it is particular bug for const generics. |
Looks like something blocking const generics, even if it's not directly caused by it. Also something I want to look into myself, so @rustbot claim |
This also breaks code which, if nonsensical, should be working. Don't think we have to increase the priority because of this though. fn bug<T>() -> impl Iterator<Item = [(); { |x: u32| { x }; 4 }]> {
std::iter::empty()
}
fn ok<T>() -> Box<dyn Iterator<Item = [(); { |x: u32| { x }; 4 }]>> {
Box::new(std::iter::empty())
} |
It is a regression - stable 1.26.0 correctly outputs a compile error |
Not something I can fix myself, releasing assignment. |
Something I can fix myself, #77546 (with a lot of guidance by eddyb) |
Uh oh!
There was an error while loading. Please reload this page.
Code
Meta
rustc --version --verbose
:Error output
Backtrace
The text was updated successfully, but these errors were encountered: