rust/tests/ui/rfcs
Jacob Pratt c92d61d121
Rollup merge of #144409 - GuillaumeGomez:macro-expansion-early-abort, r=oli-obk
Stop compilation early if macro expansion failed

Fixes rust-lang/rust#116180.

So there isn't really a type that is central for macro expansion and some errors are actually emitted (because the resolution happens after the expansion I suppose) after the expansion pass (like "not found macro"). Sometimes, errors are only emitted on the second "try" (to improve error output). So I couldn't reach a similar solution than what was done in https://github.com/rust-lang/rust/pull/133937 and suggested by ````@estebank```` in https://github.com/rust-lang/rust/issues/116180#issuecomment-3109468922. But maybe I missed something?

So in the end, I realized that there is method called every time (except one, described below) a macro error is actually emitted: `ExtCtxt::trace_macros_diag`. Considering I updated what it did, I renamed it into `macro_error_and_trace_macros_diag` to better reflect it.

There is only one call of `trace_macros_diag` which isn't reporting an error but just used for `macro_trace` feature, so I kept it as is.

r? ````@oli-obk````
2025-07-26 22:42:35 -04:00
..
impl-trait Remove some annotations that just specify the default 2024-02-22 16:56:26 +00:00
rfc-0000-never_patterns Error message for top-level or-patterns suggesting a solution 2025-05-09 22:16:34 +09:00
rfc-0107-bind-by-move-pattern-guards Suggest .clone() in some move errors 2024-04-11 16:41:41 +00:00
rfc-1014-stdout-existential-crisis Remove libc from more tests 2024-04-17 08:36:49 -04:00
rfc-1445-restrict-constants-in-patterns Remove attribute #[rustc_error] 2025-03-30 01:32:21 +03:00
rfc-1623-static properly fill a promoted's required_consts 2024-04-23 23:02:54 +02:00
rfc-1717-dllimport compiletest: Require //~ annotations even if error-pattern is specified 2025-04-03 11:08:55 +03:00
rfc-1789-as-cell [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rfc-1857-stabilize-drop-order [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rfc-1937-termination-trait Remove global next_disambiguator state and handle it with a DisambiguatorState type 2025-04-29 13:22:38 +02:00
rfc-2005-default-binding-mode [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rfc-2008-non-exhaustive Port #[non_exhaustive] to the new attribute parsing infrastructure 2025-07-04 20:30:42 +02:00
rfc-2091-track-caller Add ignore-backends annotations in failing GCC backend ui tests 2025-07-23 13:48:04 +02:00
rfc-2093-infer-outlives Avoid looking at HIR for trait and impl items 2025-06-30 08:45:43 +00:00
rfc-2126-crate-paths Show number in error message even for one error 2023-11-24 19:15:52 +01:00
rfc-2126-extern-absolute-paths Trim suggestion parts to the subset that is purely additive 2025-02-14 00:44:10 -08:00
rfc-2151-raw-identifiers [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rfc-2175-or-if-while-let [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rfc-2294-if-let-guard Update ui tests with new macro early erroring 2025-07-25 23:46:28 +02:00
rfc-2302-self-struct-ctor [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rfc-2306-convert-id [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rfc-2361-dbg-macro Stop dbg! macro yapping about format modifiers 2025-06-22 10:58:27 +02:00
rfc-2396-target_feature-11 future-incompat lints: don't link to the nightly edition-guide version 2025-07-16 01:44:02 -07:00
rfc-2421-unreserve-pure-offsetof-sizeof-alignof [AUTO-GENERATED] Migrate ui tests from // to //@ directives 2024-02-16 20:02:50 +00:00
rfc-2457-non-ascii-idents Move more tests/ui tests 2025-05-12 16:35:09 +02:00
rfc-2497-if-let-chains Remove let_chains feature 2025-06-30 07:49:20 -05:00
rfc-2528-type-changing-struct-update UI tests: add missing diagnostic kinds where possible 2025-04-08 23:06:31 +03:00
rfc-2565-param-attrs Use cfg(false) in UI tests 2025-04-03 21:41:58 +00:00
rfc-3348-c-string-literals Update tests to use new proc-macro header 2024-11-27 07:18:25 -08:00
rfc-3467-unsafe-pinned Initial UnsafePinned/UnsafeUnpin impl [Part 1: Libs] 2025-04-13 01:11:04 -04:00
type-alias-impl-trait Implement #[define_opaque] attribute for functions. 2025-03-11 12:05:02 +00:00
rfc-3391-result-ffi-guarantees.rs lang: Strengthen RFC 3391 guarantees to match T-lang consensus 2024-10-21 00:43:36 -07:00