os-rust/compiler
Matthias Krüger ff8c7a7816
Rollup merge of #119172 - nnethercote:earlier-NulInCStr, r=petrochenkov
Detect `NulInCStr` error earlier.

By making it an `EscapeError` instead of a `LitError`. This makes it like the other errors produced when checking string literals contents, e.g. for invalid escape sequences or bare CR chars.

NOTE: this means these errors are issued earlier, before expansion, which changes behaviour. It will be possible to move the check back to the later point if desired. If that happens, it's likely that all the string literal contents checks will be delayed together.

One nice thing about this: the old approach had some code in `report_lit_error` to calculate the span of the nul char from a range. This code used a hardwired `+2` to account for the `c"` at the start of a C string literal, but this should have changed to a `+3` for raw C string literals to account for the `cr"`, which meant that the caret in `cr"` nul error messages was one short of where it should have been. The new approach doesn't need any of this and avoids the off-by-one error.

r? ```@fee1-dead```
2024-01-18 10:34:17 +01:00
..
rustc Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_abi Fix rustc_abi build on stable 2024-01-16 21:15:31 +01:00
rustc_arena rustc_arena: add alloc_str 2023-12-05 17:52:51 -08:00
rustc_ast Rollup merge of #119172 - nnethercote:earlier-NulInCStr, r=petrochenkov 2024-01-18 10:34:17 +01:00
rustc_ast_lowering Add check for ui_testing via promoting parameters from ParseSess to Session 2024-01-13 12:11:13 -05:00
rustc_ast_passes Auto merge of #119088 - George-lewis:glewis/suggest-upgrading-compiler, r=Nilstrieb 2024-01-13 20:06:03 +00:00
rustc_ast_pretty Delegation implementation: step 1 2024-01-12 14:11:16 +03:00
rustc_attr Add check for ui_testing via promoting parameters from ParseSess to Session 2024-01-13 12:11:13 -05:00
rustc_baked_icu_data Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_borrowck Rollup merge of #115291 - cjgillot:dest-prop-save, r=JakobDegen 2024-01-17 20:21:19 +01:00
rustc_builtin_macros Add check for ui_testing via promoting parameters from ParseSess to Session 2024-01-13 12:11:13 -05:00
rustc_codegen_cranelift compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
rustc_codegen_gcc Rename {create,emit}_warning as {create,emit}_warn. 2024-01-10 07:33:06 +11:00
rustc_codegen_llvm Update measureme crate to version 11 2024-01-13 16:32:03 +01:00
rustc_codegen_ssa Auto merge of #119922 - nnethercote:fix-Diag-code-is_lint, r=oli-obk 2024-01-17 07:33:52 +00:00
rustc_const_eval compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
rustc_data_structures Update measureme crate to version 11 2024-01-13 16:32:03 +01:00
rustc_driver Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
rustc_driver_impl Replace TrimmedDefPaths with a bool. 2024-01-15 09:16:14 +11:00
rustc_error_codes Add error code for missing base expression in struct update syntax 2024-01-09 19:25:54 +00:00
rustc_error_messages Remove rustc_error_messages/messages.ftl. 2023-11-26 08:37:27 +11:00
rustc_errors Rework how diagnostic lints are stored. 2024-01-14 14:04:25 +11:00
rustc_expand Add check for ui_testing via promoting parameters from ParseSess to Session 2024-01-13 12:11:13 -05:00
rustc_feature Rollup merge of #119866 - smoelius:patch-2, r=compiler-errors 2024-01-12 08:23:59 +01:00
rustc_fluent_macro annotate-snippets: update to 0.10 2024-01-07 16:53:32 +03:00
rustc_fs_util Clean up rustc_*/Cargo.toml. 2023-10-30 08:46:02 +11:00
rustc_graphviz remove unused pub fn 2023-11-23 14:11:02 +03:00
rustc_hir Auto merge of #119361 - sjwang05:issue-119352, r=WaffleLapkin 2024-01-14 09:39:03 +00:00
rustc_hir_analysis Rollup merge of #119975 - lukas-code:inferring-return-types-and-opaque-types-do-mix-sometimes, r=compiler-errors 2024-01-17 20:21:20 +01:00
rustc_hir_pretty Delegation implementation: step 1 2024-01-12 14:11:16 +03:00
rustc_hir_typeck Rollup merge of #120031 - compiler-errors:construct-closure-ty-eagerly, r=oli-obk 2024-01-17 20:21:22 +01:00
rustc_incremental Rename {create,emit}_warning as {create,emit}_warn. 2024-01-10 07:33:06 +11:00
rustc_index Auto merge of #119499 - cjgillot:dtm-opt, r=nnethercote 2024-01-06 11:54:15 +00:00
rustc_index_macros Rollup merge of #119963 - clubby789:spec-allow-internal-unstable, r=compiler-errors 2024-01-15 08:44:49 +01:00
rustc_infer Auto merge of #119922 - nnethercote:fix-Diag-code-is_lint, r=oli-obk 2024-01-17 07:33:52 +00:00
rustc_interface Add way to express no-values with check-cfg 2024-01-13 17:19:46 +01:00
rustc_lexer Detect NulInCStr error earlier. 2024-01-12 16:19:37 +11:00
rustc_lint Auto merge of #119930 - Urgau:check-cfg-empty-values-means-empty, r=petrochenkov 2024-01-17 14:01:05 +00:00
rustc_lint_defs Rollup merge of #117556 - obeis:static-mut-ref-lint, r=davidtwco 2024-01-09 13:23:15 +01:00
rustc_llvm Revert "Auto merge of #113923 - DianQK:restore-no-builtins-lto, r=pnkfelix" 2024-01-12 18:23:04 +08:00
rustc_log rustc_log: provide a way to init logging based on the values, not names, of the env vars 2023-11-11 15:24:33 +01:00
rustc_macros Rework how diagnostic lints are stored. 2024-01-14 14:04:25 +11:00
rustc_metadata Auto merge of #119088 - George-lewis:glewis/suggest-upgrading-compiler, r=Nilstrieb 2024-01-13 20:06:03 +00:00
rustc_middle Use FnOnceOutput instead of FnOnce where expected 2024-01-17 14:23:41 +00:00
rustc_mir_build Auto merge of #116520 - Enselic:large-copy-into-fn, r=oli-obk 2024-01-16 19:33:14 +00:00
rustc_mir_dataflow Rollup merge of #115291 - cjgillot:dest-prop-save, r=JakobDegen 2024-01-17 20:21:19 +01:00
rustc_mir_transform Rollup merge of #115291 - cjgillot:dest-prop-save, r=JakobDegen 2024-01-17 20:21:19 +01:00
rustc_monomorphize large_assignments: Lint on specific large args passed to functions 2024-01-15 19:07:12 +01:00
rustc_next_trait_solver Remove movability from TyKind::Coroutine 2023-12-28 16:35:01 +00:00
rustc_parse Rollup merge of #119172 - nnethercote:earlier-NulInCStr, r=petrochenkov 2024-01-18 10:34:17 +01:00
rustc_parse_format Removing redudant note from parse error 2024-01-08 19:41:01 +01:00
rustc_passes Rollup merge of #120020 - oli-obk:long_const_eval_err_taint, r=compiler-errors 2024-01-17 20:21:21 +01:00
rustc_pattern_analysis Rollup merge of #120039 - Nadrieril:remove-idx, r=compiler-errors 2024-01-17 20:21:23 +01:00
rustc_privacy Remove Session methods that duplicate DiagCtxt methods. 2023-12-24 08:05:28 +11:00
rustc_query_impl Update measureme crate to version 11 2024-01-13 16:32:03 +01:00
rustc_query_system Auto merge of #119977 - Mark-Simulacrum:defid-cache, r=cjgillot 2024-01-16 21:58:10 +00:00
rustc_resolve Auto merge of #119922 - nnethercote:fix-Diag-code-is_lint, r=oli-obk 2024-01-17 07:33:52 +00:00
rustc_serialize Remove more needless leb128 coding for enum variants 2024-01-09 20:08:44 -05:00
rustc_session Rollup merge of #119172 - nnethercote:earlier-NulInCStr, r=petrochenkov 2024-01-18 10:34:17 +01:00
rustc_smir compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
rustc_span compiler: Lower fn call arg spans down to MIR 2024-01-15 19:07:11 +01:00
rustc_symbol_mangling Rename consuming chaining methods on DiagnosticBuilder. 2024-01-10 07:40:00 +11:00
rustc_target Rollup merge of #119855 - rellerreller:freebsd-static, r=wesleywiser 2024-01-17 20:21:19 +01:00
rustc_trait_selection Auto merge of #120019 - lcnr:fn-wf, r=BoxyUwU 2024-01-17 02:35:06 +00:00
rustc_traits Remove redundant Code from FulfillmentErrorCode variants 2024-01-12 16:34:39 +00:00
rustc_transmute Fix an ICE that occurs after an error has already been reported 2024-01-09 16:09:30 +00:00
rustc_ty_utils Rollup merge of #119969 - compiler-errors:simplify-closure-env-ty, r=oli-obk 2024-01-16 17:55:23 +01:00
rustc_type_ir Fix tidy error 2023-12-31 20:58:36 +00:00
stable_mir Rollup merge of #119877 - celinval:smir-visit-projection, r=oli-obk 2024-01-12 15:16:57 +01:00