rust/compiler/rustc_interface/src
Nicholas Nethercote 376cbc3787 Introduce -Zmacro-stats.
It collects data about macro expansions and prints them in a table after
expansion finishes. It's very useful for detecting macro bloat,
especially for proc macros.

Details:
- It measures code snippets by pretty-printing them and then measuring
  lines and bytes. This required a bunch of additional pretty-printing
  plumbing, in `rustc_ast_pretty` and `rustc_expand`.
- The measurement is done in `MacroExpander::expand_invoc`.
- The measurements are stored in `ExtCtxt::macro_stats`.
2025-06-12 21:17:17 +10:00
..
callbacks.rs Represent diagnostic side effects as dep nodes 2025-03-14 16:01:58 +01:00
errors.rs Remove attribute #[rustc_error] 2025-03-30 01:32:21 +03:00
interface.rs Fix review comments 2025-06-06 14:20:48 +00:00
lib.rs update cfg(bootstrap) 2025-05-12 15:33:37 +02:00
limits.rs Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
passes.rs Introduce -Zmacro-stats. 2025-06-12 21:17:17 +10:00
proc_macro_decls.rs Move methods from Map to TyCtxt, part 4. 2025-03-12 08:55:37 +11:00
queries.rs Remove the parse query 2024-12-14 14:24:49 +00:00
tests.rs Introduce -Zmacro-stats. 2025-06-12 21:17:17 +10:00
util.rs Fix review comments 2025-06-06 14:20:48 +00:00