Rocket uses three nightly features:
* proc_macro_hygiene - this feature lets you call procedural macros in more places than you can today. https://github.com/rust-lang/rust/issues/54727#issuecomment-... might be a bit too in-the-weeds, but the TL;DR is that there seems to be a path forward for stabilizing what Rocket needs in a near-ish timeframe.
* proc_macro_diagnostics and proc_macro_span: these purely give Rocket better error messages in some situations. With the first thing stabilized, this could be dropped to get things compiling fully on stable, though diagnostics would regress from nightly.
In general, these last bits of things Rocket needs aren't changing a whole lot.