`array::Guard`'s `drop` isn't removed in `opt-level=s` for `Copy` types
Happened to notice this in passing in https://rust.godbolt.org/z/eYxz4v4h3
The do-nothing function is still there:
define void @"_ZN69_$LT$core..array..Guard$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hbb47c41452ebef2fE"(ptr noalias nocapture noundef readnone align 8 dereferenceable(24) %self) unnamed_addr #0 { start: ret void }
My guess is that this drop should be marked #[inline]:
rust/library/core/src/array/mod.rs
Lines 891 to 892 in 3e9bd8b
| impl<T> Drop for Guard<'_, T> { | |
| fn drop(&mut self) { |