Closed
Description
An ICE occurs when invoking a procedural macro attribute on the root of a crate with #![my_proc_macro]
.
Relevant backtrace frames:
thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src\libcore\option.rs:329
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
0: syntax::ext::expand::MacroExpander::expand_crate
at C:\Users\cyber\Rust\rust\src\libsyntax\ext\expand.rs:225
1: rustc_driver::driver::phase_2_configure_and_expand::{{closure}}<closure>
at C:\Users\cyber\Rust\rust\src\librustc_driver\driver.rs:699
This happens on the latest nightly [rustc 1.18.0-nightly (ad36c2f55 2017-04-09)
], however because I'm lazy I got this backtrace from the last debug build from my last PR so the lines have moved. I suspect it's one of the two unwraps()
at line 217.
cc @jseyfried
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
proc_macro_attribute
on crate root #41322abonander commentedon Apr 18, 2017
@jseyfried If you haven't started on this one I'll go ahead and take a crack at it since people are stumbling on it.
abonander commentedon Apr 18, 2017
That second unwrap is
syntax::ptr::P::unwrap()
which is infallible. That's kind of misleading, but okay.Don't panic if an attribute macro fails to resolve at crate root
Rollup merge of rust-lang#41432 - abonander:issue_41211, r=jseyfried
Rollup merge of rust-lang#41432 - abonander:issue_41211, r=jseyfried
Rollup merge of rust-lang#41432 - abonander:issue_41211, r=jseyfried