about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLzu Tao <taolzu@gmail.com>2019-10-02 18:36:06 +0000
committerLzu Tao <taolzu@gmail.com>2019-10-02 18:36:06 +0000
commita87b44dbea5335c9b5d563b44e0e5f8b074ac9db (patch)
tree3604263efa4dc44ab142f15f0d4c014d4b460512
parentf2023ac599c38a59f86552089e6791c5a73412d3 (diff)
downloadrust-a87b44dbea5335c9b5d563b44e0e5f8b074ac9db.tar.gz
rust-a87b44dbea5335c9b5d563b44e0e5f8b074ac9db.zip
Always inline `mem::{size_of,align_of}` in debug builds
Those two are const fn and do not have any arguments. Inlining
helps reducing generated code size in debug builds.
-rw-r--r--src/libcore/mem/mod.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libcore/mem/mod.rs b/src/libcore/mem/mod.rs
index 95ad4272ced..12942af307b 100644
--- a/src/libcore/mem/mod.rs
+++ b/src/libcore/mem/mod.rs
@@ -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 {