Many AsRef and AsMut implementations in core do not have #[inline] and yet these tiny no-op functions are called from the assembly.
The following assembly maps to AsMut<[T]> for [T]
Any quick search for as_ref or as_mut in convert.rs shows many instances, some with but many without #[inline].
_ZN63_$LT$$RF$mut$u20$T$u20$as$u20$core..convert..AsMut$LT$U$GT$$GT$6as_mut17h47b72d0f8c3b94ffE:
.cfi_startproc
movq (%rdi), %rax
movq 8(%rdi), %rdx
retq
Edit: Default::default is another example where more aggressive inlining should be used
Many
AsRefandAsMutimplementations in core do not have#[inline]and yet these tiny no-op functions are called from the assembly.The following assembly maps to
AsMut<[T]> for [T]Any quick search for
as_reforas_mutinconvert.rsshows many instances, some with but many without#[inline].Edit:
Default::defaultis another example where more aggressive inlining should be used