-
Notifications
You must be signed in to change notification settings - Fork 13k
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
[Nightly ICE] Deep in proc macro: panicked at 'empty field list in the map' #75062
Comments
I have reduced this reproducer from about 500 lines of code total to 130 lines total. There are more syntax errors in it now, but the panic still triggers before them. Most of the other things I could change create an error that short circuits the compiler before the panic could trigger. EDIT: I also just updated the backtrace, because I didn't ask for a |
Let's get a MCVE and bisect the culprit PR. |
Hey Cleanup Crew ICE-breakers! This bug has been identified as a good cc @AminArria @camelid @chrissimpkins @contrun @DutchGhost @elshize @ethanboxx @h-michael @HallerPatrick @hdhoang @hellow554 @imtsuki @kanru @KarlK90 @LeSeulArtichaut @MAdrianMattocks @matheus-consoli @mental32 @nmccarty @Noah-Kennedy @pard68 @PeytonT @pierreN @Redblueflame @RobbieClarken @RobertoSnap @robjtede @SarthakSingh31 @senden9 @shekohex @sinato @spastorino @turboladen @woshilapin @yerke |
Minimized: mod foo {
struct Bar();
}
fn main() {
foo::Bar();
} |
#74211 is the likely cause. |
Assigning |
…, r=varkor Handle fieldless tuple structs in diagnostic code Fixes rust-lang#75062
…, r=varkor Handle fieldless tuple structs in diagnostic code Fixes rust-lang#75062
…, r=varkor Handle fieldless tuple structs in diagnostic code Fixes rust-lang#75062
Code
It is very finicky to reproduce. This GHE branch is as minimal as I could get without significantly changing the structure of the macro or having other errors cover it up. Apologies for the mess!
Updated 2020-08-04: I got it down to a total of only 130 lines of code. Please review the improved
cargo expand
output below.Instructions:
git clone -b nightly_ice https://github.com/jhwgh1968/rhai.git
cd rhai/codegen
RUST_BACKTRACE=1 cargo check --tests
Meta
The ICE was triggered by change in
44600aa2
, where I simply changed the scoping on a nested innerstruct
generated by a macro from public to private.rustc --version --verbose
:Error output
On stable, errors regarding scoping are printed (this error is repeated many times):
On nightly, a backtrace occurs.
Backtrace
cargo expand with pub struct (updated 2020-08-04)
The text was updated successfully, but these errors were encountered: