1
Fork 0
rust/compiler
Matthias Krüger 2e41425de6
Rollup merge of #122402 - weiznich:fix/122391, r=compiler-errors
Make `#[diagnostic::on_unimplemented]` format string parsing more robust

This commit fixes several issues with the format string parsing of the `#[diagnostic::on_unimplemented]` attribute that were pointed out by `@ehuss.`
In detail it fixes:

* Appearing format specifiers (display, etc). For these we generate a warning that the specifier is unsupported. Otherwise we ignore them
* Positional arguments. For these we generate a warning that positional arguments are unsupported in that location and replace them with the format string equivalent (so `{}` or `{n}` where n is the index of the positional argument)
* Broken format strings with enclosed }. For these we generate a warning about the broken format string and set the emitted message literally to the provided unformatted string
* Unknown format specifiers. For these we generate an additional warning about the unknown specifier. Otherwise we emit the literal string as message.

This essentially makes those strings behave like `format!` with the minor difference that we do not generate hard errors but only warnings. After that we continue trying to do something unsuprising (mostly either ignoring the broken parts or falling back to just giving back the literal string as provided).

Fix #122391

r? `@compiler-errors`
2024-03-21 17:46:48 +01:00
..
rustc
rustc_abi Auto merge of #121668 - erikdesjardins:commonprim, r=scottmcm,oli-obk 2024-03-13 15:25:35 +00:00
rustc_arena rename ptr::invalid -> ptr::without_provenance 2024-02-21 20:15:52 +01:00
rustc_ast Auto merge of #122754 - Mark-Simulacrum:bootstrap-bump, r=albertlarsan68 2024-03-20 13:43:41 +00:00
rustc_ast_ir Fix typo in VisitorResult 2024-03-08 23:20:29 -05:00
rustc_ast_lowering Auto merge of #121587 - ShoyuVanilla:fix-issue-121267, r=TaKO8Ki 2024-03-21 04:11:09 +00:00
rustc_ast_passes Add barest-bones deref patterns 2024-03-20 22:30:27 +01:00
rustc_ast_pretty Rename ast::StmtKind::Local into ast::StmtKind::Let 2024-03-14 12:42:04 +01:00
rustc_attr Rename IntoDiagnostic as Diagnostic. 2024-03-11 09:15:09 +11:00
rustc_baked_icu_data
rustc_borrowck Auto merge of #121123 - compiler-errors:item-assumptions, r=oli-obk 2024-03-21 06:12:24 +00:00
rustc_builtin_macros Make type_ascribe! not a built-in 2024-03-20 22:28:56 -04:00
rustc_codegen_cranelift Make ptr_guaranteed_cmp a rustc_intrinsic and favor its body over backends implementing it 2024-03-19 09:17:40 +00:00
rustc_codegen_gcc Auto merge of #122055 - compiler-errors:stabilize-atb, r=oli-obk 2024-03-19 00:04:09 +00:00
rustc_codegen_llvm Rollup merge of #121543 - onur-ozkan:clippy-args, r=oli-obk 2024-03-20 05:51:22 +01:00
rustc_codegen_ssa Rollup merge of #122691 - veera-sivarajan:bugfix-121099, r=Amanieu 2024-03-19 18:03:51 +01:00
rustc_const_eval Rollup merge of #121543 - onur-ozkan:clippy-args, r=oli-obk 2024-03-20 05:51:22 +01:00
rustc_data_structures Auto merge of #122568 - RalfJung:mentioned-items, r=oli-obk 2024-03-21 09:01:18 +00:00
rustc_driver
rustc_driver_impl Rollup merge of #121764 - Zoxc:incr-sess-no-source, r=oli-obk 2024-03-14 20:00:18 +01:00
rustc_error_codes Auto merge of #122055 - compiler-errors:stabilize-atb, r=oli-obk 2024-03-19 00:04:09 +00:00
rustc_error_messages Rename SubdiagnosticMessage as SubdiagMessage. 2024-03-05 12:14:49 +11:00
rustc_errors Auto merge of #122754 - Mark-Simulacrum:bootstrap-bump, r=albertlarsan68 2024-03-20 13:43:41 +00:00
rustc_expand Rollup merge of #122773 - tshepang:make-expand-translatable, r=fee1-dead 2024-03-21 12:05:07 +01:00
rustc_feature Add barest-bones deref patterns 2024-03-20 22:30:27 +01:00
rustc_fluent_macro Rename SubdiagnosticMessage as SubdiagMessage. 2024-03-05 12:14:49 +11:00
rustc_fs_util Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_graphviz Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_hir Auto merge of #121587 - ShoyuVanilla:fix-issue-121267, r=TaKO8Ki 2024-03-21 04:11:09 +00:00
rustc_hir_analysis Rollup merge of #122799 - estebank:issue-122569, r=fee1-dead 2024-03-21 12:05:08 +01:00
rustc_hir_pretty Rename hir::Let into hir::LetExpr 2024-03-20 16:47:11 +01:00
rustc_hir_typeck Rollup merge of #122799 - estebank:issue-122569, r=fee1-dead 2024-03-21 12:05:08 +01:00
rustc_incremental Make incremental sessions identity no longer depend on the crate names provided by source code 2024-03-13 16:40:02 +01:00
rustc_index doc: Add better explanation 2024-03-06 16:54:42 +01:00
rustc_index_macros Step all bootstrap cfgs forward 2024-02-08 07:44:34 -05:00
rustc_infer Rollup merge of #122799 - estebank:issue-122569, r=fee1-dead 2024-03-21 12:05:08 +01:00
rustc_interface Rollup merge of #121764 - Zoxc:incr-sess-no-source, r=oli-obk 2024-03-14 20:00:18 +01:00
rustc_lexer Invert diagnostic lints. 2024-02-06 13:12:33 +11:00
rustc_lint Split item bounds and item super predicates 2024-03-20 13:00:34 -04:00
rustc_lint_defs Rollup merge of #121720 - tmandry:split-refining, r=compiler-errors 2024-03-16 23:28:47 +01:00
rustc_llvm Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
rustc_log rustc_log: expose tracing-tree "wraparound" in an env var 2024-03-03 12:33:26 +01:00
rustc_macros Rename diagnostic derive things. 2024-03-11 10:06:34 +11:00
rustc_metadata Auto merge of #121123 - compiler-errors:item-assumptions, r=oli-obk 2024-03-21 06:12:24 +00:00
rustc_middle Rollup merge of #122799 - estebank:issue-122569, r=fee1-dead 2024-03-21 12:05:08 +01:00
rustc_mir_build Rollup merge of #122222 - Nadrieril:deref-pat-feature-gate, r=compiler-errors 2024-03-21 12:05:05 +01:00
rustc_mir_dataflow step cfgs 2024-03-20 08:49:13 -04:00
rustc_mir_transform Auto merge of #122568 - RalfJung:mentioned-items, r=oli-obk 2024-03-21 09:01:18 +00:00
rustc_monomorphize Auto merge of #122568 - RalfJung:mentioned-items, r=oli-obk 2024-03-21 09:01:18 +00:00
rustc_next_trait_solver Allow a way to add constructors for rustc_type_ir types 2024-03-04 15:39:59 +00:00
rustc_parse Auto merge of #122822 - matthiaskrgr:rollup-rjgmnbe, r=matthiaskrgr 2024-03-21 13:28:59 +00:00
rustc_parse_format Extend format arg help for simple tuple index access expression 2024-03-16 22:33:02 +00:00
rustc_passes Rollup merge of #122719 - oli-obk:nested_static_feed_hir, r=fee1-dead 2024-03-19 18:03:53 +01:00
rustc_pattern_analysis Add barest-bones deref patterns 2024-03-20 22:30:27 +01:00
rustc_privacy Test and implement reachability for trait objects and generic parameters of functions 2024-03-14 14:10:45 +00:00
rustc_query_impl Verify that query keys result in unique dep nodes 2024-03-12 05:31:41 +01:00
rustc_query_system Rollup merge of #122245 - saethlin:check-dep-graph-size, r=petrochenkov 2024-03-12 09:04:00 -07:00
rustc_resolve Auto merge of #121587 - ShoyuVanilla:fix-issue-121267, r=TaKO8Ki 2024-03-21 04:11:09 +00:00
rustc_serialize Stabilize associated type bounds 2024-03-08 20:56:25 +00:00
rustc_session Rollup merge of #122748 - nnethercote:rustc_session-pub, r=jackh726 2024-03-20 05:51:24 +01:00
rustc_smir s/place_debug/place_pretty in SMIR 2024-03-20 18:02:11 -07:00
rustc_span Add barest-bones deref patterns 2024-03-20 22:30:27 +01:00
rustc_symbol_mangling Only split by-ref/by-move futures for async closures 2024-03-19 16:59:23 -04:00
rustc_target Rollup merge of #122696 - royb3:riscv32ima, r=petrochenkov 2024-03-21 12:05:06 +01:00
rustc_trait_selection Rollup merge of #122402 - weiznich:fix/122391, r=compiler-errors 2024-03-21 17:46:48 +01:00
rustc_traits Merge check_mod_impl_wf and check_mod_type_wf 2024-03-07 06:27:09 +00:00
rustc_transmute Avoid various uses of Option<Span> in favor of using DUMMY_SP in the few cases that used None 2024-03-18 09:34:08 +00:00
rustc_ty_utils Fix ABI for FnMut/Fn impls for async closures 2024-03-19 16:59:24 -04:00
rustc_type_ir make type_flags(ReError) & HAS_ERROR 2024-03-20 17:29:58 +00:00
stable_mir Rollup merge of #122801 - celinval:smir-pretty, r=compiler-errors 2024-03-21 12:05:08 +01:00