]> git.lizzy.rs Git - rust.git/commitdiff
Always inline `mem::{size_of,align_of}` in debug builds
authorLzu Tao <taolzu@gmail.com>
Wed, 2 Oct 2019 18:36:06 +0000 (18:36 +0000)
committerLzu Tao <taolzu@gmail.com>
Wed, 2 Oct 2019 18:36:06 +0000 (18:36 +0000)
Those two are const fn and do not have any arguments. Inlining
helps reducing generated code size in debug builds.

src/libcore/mem/mod.rs

index 95ad4272cedd0568a953edb9d0434cc6490a47dd..12942af307b4ca34f3831c2bc94a3f596ee1c268 100644 (file)
@@ -236,7 +236,7 @@ pub fn forget_unsized<T: ?Sized>(t: T) {
 /// ```
 ///
 /// [alignment]: ./fn.align_of.html
-#[inline]
+#[inline(always)]
 #[stable(feature = "rust1", since = "1.0.0")]
 #[rustc_promotable]
 pub const fn size_of<T>() -> usize {
@@ -328,7 +328,7 @@ pub fn min_align_of_val<T: ?Sized>(val: &T) -> usize {
 ///
 /// assert_eq!(4, mem::align_of::<i32>());
 /// ```
-#[inline]
+#[inline(always)]
 #[stable(feature = "rust1", since = "1.0.0")]
 #[rustc_promotable]
 pub const fn align_of<T>() -> usize {