rust/compiler/rustc_data_structures/src
Jonas Schievink ae1916b3b4
Rollup merge of #79058 - dtolnay:likelymacro, r=Mark-Simulacrum
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.

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

**Before:** compiles cleanly.
**After:**

```console
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-15 13:40:03 +01:00
..
base_n mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
binary_search_util mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
graph Move post order walk to iterative approach 2020-10-31 18:52:00 +01:00
obligation_forest Turn Outcome into an opaque type to remove some runtime checks 2020-10-15 08:32:41 +02:00
owning_ref mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sip128 SipHasher128: improve constant names and add more comments 2020-10-11 23:48:35 -07:00
small_c_str mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
snapshot_map mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sorted_map mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sso Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
stable_hasher Stable hashing: add comments and tests concerning platform-independence 2020-09-30 00:57:35 -07:00
tagged_ptr Use T::BITS instead of size_of::<T> * 8. 2020-09-19 06:54:42 +02:00
tiny_list mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
transitive_relation mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
atomic_ref.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
base_n.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
box_region.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
captures.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
const_cstr.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
fingerprint.rs Replace absolute paths with relative ones 2020-10-13 14:16:45 +02:00
flock.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
frozen.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
fx.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
jobserver.rs datastructures: replace lazy_static by SyncLazy from std 2020-09-01 22:06:47 +01:00
lib.rs Rollup merge of #79058 - dtolnay:likelymacro, r=Mark-Simulacrum 2020-11-15 13:40:03 +01:00
macros.rs Remove unused static_assert macro 2020-09-20 11:40:51 +02:00
map_in_place.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
profiling.rs Upgrade to measureme 9.0.0 2020-10-24 22:39:42 -04:00
ptr_key.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sharded.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sip128.rs SipHasher128: improve constant names and add more comments 2020-10-11 23:48:35 -07:00
small_c_str.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sorted_map.rs Replace absolute paths with relative ones 2020-10-13 14:16:45 +02:00
stable_hasher.rs Replace absolute paths with relative ones 2020-10-13 14:16:45 +02:00
stable_map.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
stable_set.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
stack.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
steal.rs Move Steal to rustc_data_structures. 2020-11-14 01:30:56 +01:00
svh.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
sync.rs Use RwLock instead of Lock for SourceMap::files 2020-10-29 18:09:53 +01:00
tagged_ptr.rs Fix typos 2020-10-29 16:51:46 +01:00
temp_dir.rs Capitalize safety comments 2020-09-08 22:37:18 -04:00
thin_vec.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
tiny_list.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
transitive_relation.rs Fix typos 2020-10-29 16:51:46 +01:00
unhash.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
vec_linked_list.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
work_queue.rs Remove unused code from remaining compiler crates 2020-10-14 04:14:32 +02:00