-
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 in StableHasher #89118
Comments
@rustbot claim |
Any way we can get an MCVE for this? Seems like an important test case for normalization under binders. @rustbot ping icebreakers-cleanup-crew |
Hey Cleanup Crew ICE-breakers! This bug has been identified as a good cc @AminArria @camelid @chrissimpkins @contrun @DutchGhost @elshize @h-michael @HallerPatrick @hdhoang @hellow554 @henryboisdequin @imtsuki @JamesPatrickGill @kanru @KarlK90 @MAdrianMattocks @matheus-consoli @mental32 @nmccarty @Noah-Kennedy @pard68 @PeytonT @pierreN @Redblueflame @RobbieClarken @RobertoSnap @robjtede @SarthakSingh31 @shekohex @sinato @smmalis37 @steffahn @Stupremee @tamuhey @turboladen @woshilapin @yerke |
@jackh726 does that mean this is a stable-to-beta regression? If so, could you add that label (and the 1.56 milestone) to this issue so we can track it better? |
I would have no idea how to do that for the change that caused the issue. I was deep in the middle of tearing my hair out trying to figure out why a certain trait (in a very hairy mess of traits) wasn't implemented. I was confused enough as it was without the ICE 😂 MCVE would be great, but I unfortunately can't provide one starting from the offending change. Perhaps someone else can create a snippet tabula rasa based on where the ICE occurred? |
Fix match for placeholder region cc rust-lang#89118
This is a terrible MCVE, but it works and panics with two ICE: trait BufferMut {}
struct Ctx<D>(D);
trait BufferUdpStateContext<B> {}
impl<B: BufferMut, C> BufferUdpStateContext<B> for C {}
trait StackContext
where
Ctx<()>: for<'a> BufferUdpStateContext<&'a ()>,
{
type Dispatcher;
}
trait TimerContext {
type Handler;
}
impl<C> TimerContext for C
where
C: StackContext,
{
type Handler = Ctx<C::Dispatcher>;
}
struct EthernetWorker<C>(C)
where
Ctx<()>: for<'a> BufferUdpStateContext<&'a ()>;
impl<C> EthernetWorker<C> {}
fn main() {} After fiddling a bit more with this, the culprit is indeed that |
@hellow554 wow! You rock! |
Wow, fantastic work, @hellow554 ! |
This is fixed on nightly, just needs a test (#89118 (comment)) in |
@rustbot claim |
…ckh726 Add test for issue 89118. This PR adds a test for issue 89118. Closes rust-lang#89118.
…ckh726 Add test for issue 89118. This PR adds a test for issue 89118. Closes rust-lang#89118.
…ckh726 Add test for issue 89118. This PR adds a test for issue 89118. Closes rust-lang#89118.
Code
The code in question is from this change in Fuchsia.
In order to reproduce, first download Fuchsia and then build.
Once that's done, perform the following steps from inside the Fuchsia repository:
Meta
Version from error output:
Error output
The text was updated successfully, but these errors were encountered: