@@ -42,15 +42,15 @@ r[macro.proc.error]
4242Procedural macros have two ways of reporting errors. The first is to panic. The
4343second is to emit a [`compile_error`] macro invocation.
4444
45- r[macro.proc.proc_macro]
45+ r[macro.proc.proc_macro-crate ]
4646# # The `proc_macro` crate
4747
48- r[macro.proc.proc_macro.intro]
48+ r[macro.proc.proc_macro-crate .intro]
4949Procedural macro crates almost always will link to the compiler-provided
5050[`proc_macro` crate ]. The `proc_macro` crate provides types required for
5151writing procedural macros and facilities to make it easier.
5252
53- r[macro.proc.proc_macro.token-stream]
53+ r[macro.proc.proc_macro-crate .token-stream]
5454This crate primarily contains a [`TokenStream`] type. Procedural macros operate
5555over *token streams* instead of AST nodes, which is a far more stable interface
5656over time for both the compiler and for procedural macros to target. A
@@ -59,7 +59,7 @@ can roughly be thought of as lexical token. For example `foo` is an `Ident`
5959token, `.` is a `Punct` token, and `1.2` is a `Literal` token. The `TokenStream`
6060type, unlike `Vec<TokenTree>`, is cheap to clone.
6161
62- r[macro.proc.proc_macro.span]
62+ r[macro.proc.proc_macro-crate .span]
6363All tokens have an associated `Span`. A `Span` is an opaque value that cannot
6464be modified but can be manufactured. `Span`s represent an extent of source
6565code within a program and are primarily used for error reporting. While you
0 commit comments