rust/compiler
David Tolnay afb817054c
Move likely/unlikely argument outside of invisible unsafe block
The previous `likely!`/`unlikely!` macros were unsound because it
permits the caller's expr to contain arbitrary unsafe code.

    pub fn huh() -> bool {
        likely!(std::ptr::read(&() as *const () as *const bool))
    }

Before: compiles cleanly.
After:

    error[E0133]: call to unsafe function is unsafe and requires unsafe function or block
       |
    70 |     likely!(std::ptr::read(&() as *const () as *const bool))
       |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
       |
       = note: consult the function's documentation for information on how to avoid undefined behavior
2020-11-14 14:03:57 -08:00
..
rustc
rustc_apfloat
rustc_arena Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
rustc_ast Reserve space in advance 2020-11-13 11:19:25 +01:00
rustc_ast_lowering Reuse vector 2020-11-13 11:19:25 +01:00
rustc_ast_passes Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov 2020-11-12 19:46:09 +01:00
rustc_ast_pretty Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov 2020-11-12 19:46:09 +01:00
rustc_attr Improve deprecation attribute diagnostic messages. 2020-11-02 13:21:18 +01:00
rustc_builtin_macros Reserve space in advance 2020-11-13 11:19:25 +01:00
rustc_codegen_cranelift Changed unwrap_or to unwrap_or_else in some places. 2020-11-10 20:07:47 -08:00
rustc_codegen_llvm Auto merge of #78959 - petrochenkov:likeuefi, r=nagisa 2020-11-14 09:11:25 +00:00
rustc_codegen_ssa rustc_target: Mark UEFI targets as is_like_windows/is_like_msvc 2020-11-12 19:40:41 +03:00
rustc_data_structures Move likely/unlikely argument outside of invisible unsafe block 2020-11-14 14:03:57 -08:00
rustc_driver Enable thread names in debug logging only for parallel_compiler 2020-11-11 13:28:30 -05:00
rustc_error_codes deny(invalid_codeblock_attributes) 2020-11-05 12:13:28 -05:00
rustc_errors Auto merge of #76931 - oli-obk:const_prop_inline_lint_madness, r=wesleywiser 2020-11-03 16:32:34 +00:00
rustc_expand Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov 2020-11-12 19:46:09 +01:00
rustc_feature Add #[cfg(panic = "...")] 2020-11-09 15:30:49 +00:00
rustc_fs_util
rustc_graphviz Rust coverage before splitting instrument_coverage.rs 2020-11-05 18:24:12 -08:00
rustc_hir Rollup merge of #78836 - fanzier:struct-and-slice-destructuring, r=petrochenkov 2020-11-12 19:46:09 +01:00
rustc_hir_pretty Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
rustc_incremental Delete files immediately, instead of collecting into vector 2020-10-28 17:22:10 +01:00
rustc_index
rustc_infer Rollup merge of #78463 - varkor:placeholder-const, r=nikomatsakis 2020-11-13 15:26:14 +01:00
rustc_interface Add flags customizing behaviour of MIR inlining 2020-11-10 00:00:00 +00:00
rustc_lexer Add back missing comments 2020-10-30 10:13:41 -04:00
rustc_lint Reserve space in advance 2020-11-13 11:19:25 +01:00
rustc_lint_defs Rollup merge of #78114 - jyn514:private, r=oli-obk 2020-11-09 01:13:31 +01:00
rustc_llvm Rollup merge of #77950 - arlosi:sha256, r=eddyb 2020-11-03 19:32:26 +01:00
rustc_macros Small cleanup in TypeFoldable derive macro 2020-11-07 18:20:42 +01:00
rustc_metadata Push to result vector instead of allocating 2020-11-13 11:19:25 +01:00
rustc_middle Auto merge of #78809 - vn-ki:fix-issue-76064, r=oli-obk 2020-11-14 18:03:17 +00:00
rustc_mir review comments 2020-11-12 21:08:18 +05:30
rustc_mir_build Rollup merge of #78748 - fanzier:tuple-assignment, r=petrochenkov 2020-11-09 01:13:44 +01:00
rustc_parse Auto merge of #78736 - petrochenkov:lazyenum, r=Aaron1011 2020-11-14 04:21:56 +00:00
rustc_parse_format
rustc_passes Rollup merge of #78875 - petrochenkov:cleantarg, r=Mark-Simulacrum 2020-11-10 14:45:21 +01:00
rustc_plugin_impl
rustc_privacy Fix even more URLs 2020-11-05 20:11:29 +01:00
rustc_query_system Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
rustc_resolve Auto merge of #78826 - petrochenkov:mrscopes2, r=eddyb 2020-11-13 05:40:37 +00:00
rustc_save_analysis Implement destructuring assignment for structs and slices 2020-11-11 12:10:52 +00:00
rustc_serialize
rustc_session Rollup merge of #78873 - tmiasko:inline-opts, r=oli-obk 2020-11-11 20:59:03 +01:00
rustc_span Auto merge of #76256 - tgnottingham:issue-74890, r=nikomatsakis 2020-11-12 15:34:09 +00:00
rustc_symbol_mangling u128 truncation and sign extension are not just interpreter related 2020-11-04 13:41:58 +00:00
rustc_target Auto merge of #78959 - petrochenkov:likeuefi, r=nagisa 2020-11-14 09:11:25 +00:00
rustc_trait_selection Push to result vector instead of allocating 2020-11-13 11:19:25 +01:00
rustc_traits Rollup merge of #78502 - matthewjasper:chalkup, r=nikomatsakis 2020-11-09 19:06:46 +01:00
rustc_ty
rustc_typeck Changed unwrap_or to unwrap_or_else in some places. 2020-11-10 20:07:47 -08:00