-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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: has escaping bound vars, so it cannot be wrapped in a dummy binder
in is_copy_raw
#11309
Comments
I'm currently working to produce a minimized repro. |
Looks like it's from the The issue seems to be in this line:
Once that minimized repro is available I'll take a look into this. |
Got the minimized repro:
|
to fix, you can probably take that type, wrap it in a binder with That would be the least hacky way to deal with those bound vars. |
If this is a new lint, could we revert the lint to prevent the ICE from triggering while the fix is being worked on? We don't know exactly which commit this started in since our toolchain was also broken by rust-lang/rust#114597 earlier. |
It was this one. #11115 I doubt there's any reason we can't make a PR against rustc itself, but I don't think I've seen that done before for a clippy issue. Maybe we could do that instead, though that'd result in the two being out of sync intentionally. |
I believe a PR on the rust repo would follow the revert policy at https://forge.rust-lang.org/compiler/reviews.html#reverts, but since it's a T-compiler policy it doesn't automatically apply here. The policy says it's okay to self-approve reverts. edit: The other reason it's nicer to revert on the rust repo is that we don't have to wait for the next subtree sync. |
I think I'll revert it manually and open a PR for that. However, this will result in some issues come the next sync so heads up @flip1995, come the next sync you'll likely need to ignore that PR on the rust -> clippy side, but revert it on clippy -> rust. |
Before completely reverting the lint, did you try @compiler-errors' solution? In the PR it says that the ICE is unpreventable, but maybe it would fix it. |
Yes, I opened a PR for that (#11318). I mean unpreventable in that it cannot be prevented by the user because in some cases, type annotations are needed (which creates late bound vars, for some reason) |
Oooh, so rust-lang/rust#114715 reverts the lint so nobody encounters the bug while #11318 fixes it. Right? |
yep |
…ishearth Revert clippy lint [`filter_map_bool_then`] r? `@Manishearth` Issue in question is rust-lang/rust-clippy#11309. We usually wait until the next sync but this ICE is entirely unpreventable and happens often for code where type annotations are needed alongside a lifetime parameter so I think it's a good idea to revert it here. Also, this got into 1.71.1: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=620a95846a0e4810dffb39d7594d62d7
Summary
Not yet minimized. Seems to come from https://cs.opensource.google/fuchsia/fuchsia/+/main:src/connectivity/network/tests/integration/inspect/src/lib.rs;l=1617;drc=40f5937c45609e364e4914cc5b35db2b2b951717
Where
diagnostics_hierarchy::Property
is defined as seen here https://fuchsia-docs.firebaseapp.com/rust/diagnostics_hierarchy/enum.Property.htmlVersion
Error output
Backtrace
The text was updated successfully, but these errors were encountered: