Skip to content

regression 1.49: unexpected unsized tail ICE #79902

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

Closed
Mark-Simulacrum opened this issue Dec 10, 2020 · 4 comments · Fixed by #80132
Closed

regression 1.49: unexpected unsized tail ICE #79902

Mark-Simulacrum opened this issue Dec 10, 2020 · 4 comments · Fixed by #80132
Labels
A-trait-system Area: Trait system C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Milestone

Comments

@Mark-Simulacrum
Copy link
Member

https://crater-reports.s3.amazonaws.com/beta-1.49-1/beta-2020-11-26/gh/folex.libp2p-multilang/log.txt

@rustbot modify labels: +regression-from-stable-to-beta I-ICE

@rustbot rustbot added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-beta Performance or correctness regression from stable to beta. I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Dec 10, 2020
@Mark-Simulacrum Mark-Simulacrum added this to the 1.49.0 milestone Dec 10, 2020
@dillona
Copy link
Contributor

dillona commented Dec 11, 2020

searched nightlies: from nightly-2020-09-24 to nightly-2020-12-11
regressed nightly: nightly-2020-10-07
searched commits: from a1dfd24 to 98edd1f
regressed commit: 08e2d46

bisected with cargo-bisect-rustc v0.6.0

Host triple: aarch64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc

@Mark-Simulacrum
Copy link
Member Author

cc @matthewjasper -- seems like this one might be an actual bug #73905

@matthewjasper
Copy link
Contributor

Small case that I think shows this issue, it incorrectly fails to compile on beta/nightly.

trait A {
    type B;
}
trait M {}

struct G<T, U>(*const T, *const U);

impl<T, U> Clone for G<T, U> {
    fn clone(&self) -> Self {
        G { ..*self }
    }
}

impl<T, U> Copy for G<T, U::B>
where 
T: A<B = U>,
U: A
{}

impl A for () {
    type B = ();
}

fn is_m<T: M>(_: T) {}

fn main() {
    let x = G(&(), &());
    drop(x);
    drop(x);
}

@JohnTitor JohnTitor added A-trait-system Area: Trait system C-bug Category: This is a bug. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 15, 2020
@fanninpm
Copy link

Playground link of previous example

N.B. I haven't gotten it to ICE, so I can't add it to the glacier.

@bors bors closed this as completed in 1b6b06a Dec 19, 2020
@jyn514 jyn514 removed the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label Feb 28, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-trait-system Area: Trait system C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-beta Performance or correctness regression from stable to beta. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants