-
Notifications
You must be signed in to change notification settings - Fork 904
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 formatting macro #5928
Comments
Thanks for the report. Out of curiosity, does that macro compile? I think the issue is with macro_rules! foo {
($self:ident) => {
foo!($self::Bar::X)
};
} |
The original macro compiles, I reduced to this one. Here is a reduced that compiles and causes the ICE: macro_rules! foo {
($self:ident) => {
foo!($self.Bar::X)
};
($self:ident.$State:ident::$Discriminant:ident) => {
};
}
pub struct Foo {}
impl Foo {
pub fn set_state(&mut self) {
foo!(self);
}
} I worked around the issue on my end by replacing the separators with comma |
Thanks for putting together the minimal reproduction that compiles. That should help when diving into what's going on here. |
The ICE details getting swallowed is caused by rust-lang/rust#111529 |
Tested this again with |
Formatting this reduced code:
Causes an unknown panic in stable and nightly:
The nightly ICE file can't be written in Windows (os error 123, rust-lang/rust#115180), in Linux it is is empty.
The text was updated successfully, but these errors were encountered: