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

Fix ICE regarding infinite recursive type inference ( Issue -> #92470 ) #98613

Closed
wants to merge 4 commits into from
Closed

Conversation

gimbling-away
Copy link
Contributor

Fixes #92470

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Jun 28, 2022
@rust-highfive
Copy link
Collaborator

r? @davidtwco

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 28, 2022
@ChrisDenton
Copy link
Member

You seem to have accidentally a binary file in your commit?

@gimbling-away
Copy link
Contributor Author

Oh whoops! Was testing out the new build and might've added it, removing. 😅

@LoganDark
Copy link

I think you should force push to properly remove the binary from history

@gimbling-away
Copy link
Contributor Author

I think you should force push to properly remove the binary from history

I will squash the PR when it's ready anyways so it's not an issue.

@gimbling-away gimbling-away marked this pull request as draft June 28, 2022 10:56
@gimbling-away gimbling-away changed the title Revert #81055 and Fix #92470 Fix #92470 Jun 28, 2022
@rust-log-analyzer

This comment has been minimized.

@davidtwco
Copy link
Member

r? @jackh726

You should squash before this is reviewed so that the reviewer can approve immediately rather than waiting for the squash to happen :)

@rust-highfive rust-highfive assigned jackh726 and unassigned davidtwco Jun 28, 2022
@gimbling-away
Copy link
Contributor Author

It is currently drafted as I'm figuring out how to fix the tests. I will remember to squash though.

@rustbot author

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 28, 2022
@rust-log-analyzer

This comment has been minimized.

@gimbling-away gimbling-away changed the title Fix #92470 Fix ICE regarding infinite recursive type inference ( Issue -> #92470 ) Jun 29, 2022
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-12 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
failures:

---- [ui] src/test/ui/associated-types/hr-associated-type-bound-2.rs stdout ----

error: /checkout/src/test/ui/associated-types/hr-associated-type-bound-2.rs:11: unexpected error: '11:1: 16:2: overflow evaluating the requirement `<u32 as X<'b>>::U` [E0275]'

error: /checkout/src/test/ui/associated-types/hr-associated-type-bound-2.rs:11: expected message not found: overflow evaluating the requirement `for<'b> u32: X<'b>`
error: 1 unexpected errors found, 1 expected errors not found
status: exit status: 1
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/associated-types/hr-associated-type-bound-2.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-types/hr-associated-type-bound-2" "-A" "unused" "-Crpath" "-O" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-types/hr-associated-type-bound-2/auxiliary"
    Error {
        line_num: 11,
        kind: Some(
            Error,
            Error,
        ),
        msg: "11:1: 16:2: overflow evaluating the requirement `<u32 as X<'b>>::U` [E0275]",
Some tests failed in compiletest suite=ui mode=ui host=x86_64-unknown-linux-gnu target=x86_64-unknown-linux-gnu
]

not found errors (from test file): [
not found errors (from test file): [
    Error {
        line_num: 11,
        kind: None,
        msg: "overflow evaluating the requirement `for<'b> u32: X<'b>`",
]

thread '[ui] src/test/ui/associated-types/hr-associated-type-bound-2.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:1392:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- [ui] src/test/ui/associated-types/project-recursion-limit-non-fatal.rs stdout ----

error: test compilation failed although it shouldn't!
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/associated-types/project-recursion-limit-non-fatal.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-types/project-recursion-limit-non-fatal" "-A" "unused" "-Crpath" "-O" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-types/project-recursion-limit-non-fatal/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0275]: overflow evaluating the requirement `<Self as FilterDsl<_>>::Output`
   |
   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`project_recursion_limit_non_fatal`)
note: required because of the requirements on the impl of `HandleDelete` for `Self`
   |
   |
LL | impl<T> HandleDelete for T

error: aborting due to previous error

For more information about this error, try `rustc --explain E0275`.

@bors
Copy link
Contributor

bors commented Jul 2, 2022

☔ The latest upstream changes (presumably #91743) made this pull request unmergeable. Please resolve the merge conflicts.

@gimbling-away
Copy link
Contributor Author

cc @matthewjasper Any idea? Ignore the merge conflict I'll fix it later 🙃

@jackh726
Copy link
Member

jackh726 commented Jul 2, 2022

This is a really hard issue to fix. I've done some experimenting around this before. Don't remember exactly what I tried, but wasn't successful. (There is a whole host of issues, including some under GATs, that stem from this.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ICE: bincode v2 alpha cannot be used with nightly rustc
9 participants