Skip to content
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 from higher ranked subtyping #67498

Closed
matthewjasper opened this issue Dec 21, 2019 · 1 comment · Fixed by #97882
Closed

ICE from higher ranked subtyping #67498

matthewjasper opened this issue Dec 21, 2019 · 1 comment · Fixed by #97882
Assignees
Labels
A-lifetimes Area: lifetime related C-bug Category: This is a bug. E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. glacier ICE tracked in rust-lang/glacier. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthewjasper
Copy link
Contributor

The following code ICEs

fn f<'a, 'b, 'd, 'e> (
    x: for<'c> fn(
        fn(&'c fn(&'c ())),
        fn(&'c fn(&'c ())),
        fn(&'c fn(&'c ())),
        fn(&'c fn(&'c ())),
    )
) -> fn(
        fn(&'a fn(&'d ())),
        fn(&'b fn(&'d ())),
        fn(&'a fn(&'e ())),
        fn(&'b fn(&'e ())),
) {
    x
}

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=169cdb4aaa19abce2baa2b45e876f797

@matthewjasper matthewjasper added A-lifetimes Area: lifetime related I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ C-bug Category: This is a bug. labels Dec 21, 2019
@matthewjasper matthewjasper self-assigned this Dec 21, 2019
@Centril Centril added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Dec 21, 2019
@rust-lang-glacier-bot rust-lang-glacier-bot added the glacier ICE tracked in rust-lang/glacier. label Dec 22, 2019
@JohnTitor
Copy link
Member

Triage: Fixed by #95565, marking as E-needs-test.

@JohnTitor JohnTitor added the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Jun 8, 2022
JohnTitor added a commit to JohnTitor/rust that referenced this issue Jun 8, 2022
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue Jun 8, 2022
…rrors

Add regresion test for rust-lang#67498

Closes rust-lang#67498
r? ``@compiler-errors``
bors added a commit to rust-lang-ci/rust that referenced this issue Jun 8, 2022
…piler-errors

Rollup of 9 pull requests

Successful merges:

 - rust-lang#97557 (Fix indices and remove some unwraps in arg mismatch algorithm)
 - rust-lang#97830 (Add std::alloc::set_alloc_error_hook example)
 - rust-lang#97856 (Don't suggest adding `let` in certain `if` conditions)
 - rust-lang#97857 (Suggest escaping `box` as identifier)
 - rust-lang#97871 (Suggest using `iter()` or `into_iter()` for `Vec`)
 - rust-lang#97882 (Add regresion test for rust-lang#67498)
 - rust-lang#97883 (Remove `ignore-compare-mode-nll` annotations from tests)
 - rust-lang#97891 (Update books)
 - rust-lang#97894 (Fix polonius compare mode.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors closed this as completed in a36671a Jun 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-lifetimes Area: lifetime related C-bug Category: This is a bug. E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. glacier ICE tracked in rust-lang/glacier. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ 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.

4 participants