-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
ICE: encountered unexpected unsized field in layout of
#135020
Comments
encountered unexpected unsized field in layout of
This compiled without error with previous nightly |
This caught my eye because with
|
reduced: fn problem_thingy(items: &mut impl Iterator<Item = str>) {
items.peekable();
} and without any external items: struct Wrap<T>(T);
struct Peekable<I: Iterator>(Wrap<I::Item>);
fn problem_thingy(items: impl Iterator<Item = str>) {
p(items);
}
trait Iterator {
type Item;
}
fn p<I: Iterator>(_: I) -> Peekable<I> {
loop {}
} |
thanks @cyrgani for reducing the sample. I've run your code and run a bisection (without the additional compile flags mentioned in this comment) and I was taken to #129970, so cc @compiler-errors @lukas-code for an opinion here. searched nightlies: from nightly-2024-07-20 to nightly-2025-01-02 bisected with cargo-bisect-rustc v0.6.9Host triple: x86_64-unknown-linux-gnu cargo bisect-rustc --without-cargo --preserve --start 1.81.0 --script test.sh |
Looks like this assertion is actually wrong: rust/compiler/rustc_ty_utils/src/layout.rs Lines 107 to 111 in 6ca6659
Currently When we compute the layout of Keeping this assertion in some sensible manner seems like it would be more effort than it's worth, so I'm inclined to just remove it. |
Code
This is a more reduced & modified version of one of the snippets of #131342 but none of those seem to bisect to same nightly for me (
nightly-2024-04-05
)Meta
rustc --version --verbose
:Error output
Backtrace
The text was updated successfully, but these errors were encountered: