Give `def_span` the same SyntaxContext as `span_with_body`. https://github.com/rust-lang/rust/issues/102217 I'm not sure how to add a test, since the erroneous span was crafted using a proc macro. The debug assertion in `def_span` will ensure we have the correct behaviour.
For more information about how rustc works, see the rustc dev guide.