rust/compiler
Dylan DPC ab88c19f15
Rollup merge of #101061 - RalfJung:panic-on-uninit, r=oli-obk
panic-on-uninit: adjust checks to 0x01-filling

Now that `mem::uninitiailized` actually fills memory with `0x01` (https://github.com/rust-lang/rust/pull/99182), we can make it panic in a few less cases without risking a lot more UB -- which hopefully slightly improves compatibility with some old code, and which might increase the chance that we can check inside arrays in the future.

We detect almost all of these with our lint, so authors of such code should still be warned -- but if this happens deep inside a dependency, the panic can be quite interruptive, so it might be better not to do it when there is no risk of LLVM UB.  Therefore, adjust the `might_permit_raw_init` logic to care primarily about LLVM UB. To my knowledge, it actually covers all cases of LLVM UB now.

Fixes https://github.com/rust-lang/rust/issues/66151

Cc ``@5225225``
2022-10-05 17:27:32 +05:30
..
rustc
rustc_apfloat
rustc_arena Make use of [wrapping_]byte_{add,sub} 2022-08-23 19:32:37 +04:00
rustc_ast Rewrite Token::is_op. 2022-10-03 11:42:29 +11:00
rustc_ast_lowering create def ids for impl traits during ast lowering 2022-09-30 15:12:01 -03:00
rustc_ast_passes Rollup merge of #102273 - woppopo:relax_const_bound, r=fee1-dead 2022-09-26 19:19:21 +02:00
rustc_ast_pretty make mk_attr_id part of ParseSess 2022-09-14 08:49:10 +08:00
rustc_attr remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
rustc_borrowck It's not about types or consts, but the lack of regions 2022-10-04 14:10:44 +00:00
rustc_builtin_macros Rollup merge of #101040 - danielhenrymantilla:no-bounds-for-default-annotated-derive, r=joshtriplett 2022-10-03 20:58:55 +02:00
rustc_codegen_cranelift Stabilize bench_black_box 2022-09-27 17:38:51 +02:00
rustc_codegen_gcc Remove type argument of array_alloca and rename to byte_array_alloca 2022-10-02 13:42:14 +00:00
rustc_codegen_llvm Auto merge of #102551 - bjorn3:cg_ssa_cleanup, r=davidtwco 2022-10-03 11:02:58 +00:00
rustc_codegen_ssa Remove type argument of array_alloca and rename to byte_array_alloca 2022-10-02 13:42:14 +00:00
rustc_const_eval change might_permit_raw_init to fully detect LLVM UB, but not more than that 2022-10-05 09:22:50 +02:00
rustc_data_structures Use a SortedMap instead of a VecMap. 2022-10-01 16:24:30 +02:00
rustc_driver rustc_typeck to rustc_hir_analysis 2022-09-27 10:37:23 +02:00
rustc_error_codes Cleanup some error code explanations 2022-10-03 08:53:06 +02:00
rustc_error_messages Rollup merge of #102568 - compiler-errors:lint-unsatisfied-opaques, r=oli-obk 2022-10-04 16:11:02 +05:30
rustc_errors Compute lint_levels by definition 2022-10-01 16:12:50 +02:00
rustc_expand Improve spans when splitting multi-char operator tokens for proc macros. 2022-10-04 09:08:02 +11:00
rustc_feature attributes: Add #[rustc_safe_intrinsic] builtin 2022-09-27 15:55:42 +02:00
rustc_fs_util
rustc_graphviz
rustc_hir Shrink hir::def::Res. 2022-09-29 08:44:52 +10:00
rustc_hir_analysis Rollup merge of #102650 - Rageking8:slightly-improve-no-return-for-returning-function-error, r=compiler-errors 2022-10-04 20:45:13 -07:00
rustc_hir_pretty Handle generic parameters. 2022-09-09 01:31:46 +00:00
rustc_incremental remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
rustc_index Rollup merge of #102232 - Urgau:stabilize-bench_black_box, r=TaKO8Ki 2022-09-28 13:07:17 +09:00
rustc_infer stop suggesting adding generic args for turbofish 2022-10-05 16:58:29 +09:00
rustc_interface Fix typo 2022-09-30 21:02:53 +02:00
rustc_lexer Auto merge of #102302 - nnethercote:more-lexer-improvements, r=matklad 2022-09-28 08:14:04 +00:00
rustc_lint Rollup merge of #102568 - compiler-errors:lint-unsatisfied-opaques, r=oli-obk 2022-10-04 16:11:02 +05:30
rustc_lint_defs Compute lint_levels by definition 2022-10-01 16:12:50 +02:00
rustc_llvm Avoid LLVM-deprecated Optional::hasValue 2022-09-26 16:51:18 -07:00
rustc_log
rustc_macros errors: rename typeck.ftl to hir_analysis.ftl 2022-10-03 13:52:17 +01:00
rustc_metadata Auto merge of #102164 - compiler-errors:rpitit-foreign, r=TaKO8Ki 2022-09-30 04:24:14 +00:00
rustc_middle Rollup merge of #102651 - oli-obk:non_region_things, r=lcnr 2022-10-04 18:26:41 +02:00
rustc_mir_build Auto merge of #101986 - WaffleLapkin:move_lint_note_to_the_bottom, r=estebank 2022-10-01 10:44:25 +00:00
rustc_mir_dataflow remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
rustc_mir_transform Refactor rustc lint API 2022-10-01 10:03:06 +00:00
rustc_monomorphize It's not about types or consts, but the lack of regions 2022-10-04 14:10:44 +00:00
rustc_parse Invert is_top_level to avoid negation. 2022-10-03 11:42:29 +11:00
rustc_parse_format Fix span of byte-escaped left format args brace 2022-09-28 13:47:17 -07:00
rustc_passes Merge the ~const and impl const checks and add some explanatory notes 2022-10-04 08:59:20 +00:00
rustc_plugin_impl UPDATE - rename DiagnosticHandler macro to Diagnostic 2022-09-21 11:39:53 -04:00
rustc_privacy Shrink hir::def::Res. 2022-09-29 08:44:52 +10:00
rustc_query_impl Correct Key impl for HirId. 2022-10-01 16:20:08 +02:00
rustc_query_system Allow query system to recover a HirId. 2022-10-01 15:58:42 +02:00
rustc_resolve Rollup merge of #102483 - spastorino:create-defs-on-lowering, r=cjgillot 2022-09-30 23:38:25 +02:00
rustc_save_analysis Shrink hir::def::Res. 2022-09-29 08:44:52 +10:00
rustc_serialize remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
rustc_session Remove expr_parentheses_needed from ParseSess 2022-09-30 01:39:20 +00:00
rustc_smir Only keep one version of ImplicitSelfKind. 2022-09-13 19:18:23 +02:00
rustc_span Rollup merge of #102382 - cuviper:defid-order, r=fee1-dead 2022-09-30 19:06:05 +02:00
rustc_symbol_mangling It's not about types or consts, but the lack of regions 2022-10-04 14:10:44 +00:00
rustc_target change might_permit_raw_init to fully detect LLVM UB, but not more than that 2022-10-05 09:22:50 +02:00
rustc_trait_selection Rollup merge of #102670 - lyming2007:issue-101866-fix, r=compiler-errors 2022-10-04 20:45:14 -07:00
rustc_traits It's not about types or consts, but the lack of regions 2022-10-04 14:10:44 +00:00
rustc_transmute check if const is ADT or not 2022-10-03 17:51:18 +09:00
rustc_ty_utils Rollup merge of #102653 - lcnr:delay_span_bug, r=fee1-dead 2022-10-04 18:26:41 +02:00
rustc_type_ir Address code review comments 2022-09-13 14:50:12 -07:00