Files
rust/tests/ui/suggestions
bors adea7cbc09 Auto merge of #138379 - estebank:macro-backtrace-note, r=petrochenkov
Do not suggest using `-Zmacro-backtrace` for builtin macros

For macros that are implemented on the compiler, or that are annotated with `rustc_diagnostic_item`, which have arbitrary implementations from the point of view of the user and might as well be intrinsics, we do *not* mention the `-Zmacro-backtrace` flag. This includes `derive`s and standard macros like `panic!` and `format!`.

This PR adds a field to every `Span`'s `ExpnData` stating whether it comes from a builtin macro. This is determined by the macro being annotated with either `#[rustc_builtin_macro]` or `#[rustc_diagnostic_item]`. An alternative to using these attributes that already exist for other uses would be to introduce another attribute like `#[rustc_no_backtrace]` to have finer control on which macros are affected (for example, an error within `vec![]` now doesn't mention the backtrace, but one could make the case that it should). Ideally, instead of carrying this information in the `ExpnData` we'd instead try to query the `DefId` of the macro (that is already stored) to see if it is annotated in some way, but we do not have access to the `TyCtxt` from `rustc_errors`.

r? `@petrochenkov`
2025-03-15 05:29:22 +00:00
..
2024-06-30 07:12:26 -04:00
2025-02-28 03:35:13 +00:00
2024-02-07 10:42:01 +08:00
2024-02-04 11:34:10 +08:00
2023-05-19 20:58:06 +02:00
2023-05-19 20:58:06 +02:00
2023-08-15 10:58:33 +00:00
2023-05-01 16:15:13 +08:00
2024-02-07 10:42:01 +08:00
2024-03-13 23:05:17 +00:00
2023-11-20 23:44:37 +00:00
2023-05-01 16:15:13 +08:00