about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/src/vec_cache.rs
diff options
context:
space:
mode:
authorThe rustc-josh-sync Cronjob Bot <github-actions@github.com>2025-07-18 19:06:49 +0000
committerThe rustc-josh-sync Cronjob Bot <github-actions@github.com>2025-07-18 19:06:49 +0000
commit3f04631ce0169be8cce54f6c6950e86d644c0fc4 (patch)
treec940ac7238ee892db09b59e9c3616bf19970380f /compiler/rustc_data_structures/src/vec_cache.rs
parent208687e9d39add66f4a4cd846fcaae1387caabfa (diff)
parent82310651b93a594a3fd69015e1562186a080d94c (diff)
downloadrust-3f04631ce0169be8cce54f6c6950e86d644c0fc4.tar.gz
rust-3f04631ce0169be8cce54f6c6950e86d644c0fc4.zip
Merge ref '82310651b93a' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh.

Upstream ref: 82310651b93a594a3fd69015e1562186a080d94c
Filtered ref: e13c0be8f13737c64082b89ce834546079767ac4

This merge was created using https://github.com/rust-lang/josh-sync.
Diffstat (limited to 'compiler/rustc_data_structures/src/vec_cache.rs')
-rw-r--r--compiler/rustc_data_structures/src/vec_cache.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/rustc_data_structures/src/vec_cache.rs b/compiler/rustc_data_structures/src/vec_cache.rs
index 3b448c056b7..599970663db 100644
--- a/compiler/rustc_data_structures/src/vec_cache.rs
+++ b/compiler/rustc_data_structures/src/vec_cache.rs
@@ -76,8 +76,8 @@ impl SlotIndex {
                 index_in_bucket: idx as usize,
             };
         }
-        // SAFETY: We already ruled out idx 0, so `checked_ilog2` can't return `None`.
-        let bucket = unsafe { idx.checked_ilog2().unwrap_unchecked() as usize };
+        // We already ruled out idx 0, so this `ilog2` never panics (and the check optimizes away)
+        let bucket = idx.ilog2() as usize;
         let entries = 1 << bucket;
         SlotIndex {
             bucket_idx: bucket - FIRST_BUCKET_SHIFT + 1,
@@ -257,7 +257,7 @@ unsafe impl<K: Idx, #[may_dangle] V, I> Drop for VecCache<K, V, I> {
         // we are also guaranteed to just need to deallocate any large arrays (not iterate over
         // contents).
         //
-        // Confirm no need to deallocate invidual entries. Note that `V: Copy` is asserted on
+        // Confirm no need to deallocate individual entries. Note that `V: Copy` is asserted on
         // insert/lookup but not necessarily construction, primarily to avoid annoyingly propagating
         // the bounds into struct definitions everywhere.
         assert!(!std::mem::needs_drop::<K>());