Rollup merge of #131197 - EFanZh:avoid-emptyness-check-in-peekmut-pop… · qinheping/verify-rust-std@1bd16cd (original) (raw)
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -374,7 +374,10 @@ impl<'a, T: Ord, A: Allocator> PeekMut<'a, T, A> { | ||
| 374 | 374 | // the caller could've mutated the element. It is removed from the |
| 375 | 375 | // heap on the next line and pop() is not sensitive to its value. |
| 376 | 376 | } |
| 377 | - this.heap.pop().unwrap() | |
| 377 | + | |
| 378 | +// SAFETY: Have a `PeekMut` element proves that the associated binary heap being non-empty, | |
| 379 | +// so the `pop` operation will not fail. | |
| 380 | +unsafe { this.heap.pop().unwrap_unchecked() } | |
| 378 | 381 | } |
| 379 | 382 | } |
| 380 | 383 |