6

I just found How do I see the expanded macro code that's causing my compile error?. Is it possible to get the expansion of a single macro instead of the whole file?

Peter Hall
  • 43,946
  • 11
  • 101
  • 168
bertfred
  • 364
  • 3
  • 9

2 Answers2

12

The cargo-expand command is really just a thin wrapper around cargo rustc -- -Zunstable-options --pretty=expanded, which is itself a blunt instrument. You can't target a specific macro.

However, since version 0.4, you can reduce some noise by specifying an extra path argument to expand only macros used by that module:

$ cargo expand path::to::module
Peter Hall
  • 43,946
  • 11
  • 101
  • 168
7

"Show expanded macro" and "Show recursively expanded macro" commands were recently added to IntelliJ Rust.

A gif demo from CLion blog post:

Demo

ozkriff
  • 1,101
  • 13
  • 22