From a8a58cd876453bdd450564593cee2a6cc3f0faaa Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Sun, 1 May 2022 17:27:30 -0700 Subject: [PATCH 1/3] Add `inline(always)` to `TypeId::of` --- library/core/src/any.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/library/core/src/any.rs b/library/core/src/any.rs index 3b15ab1e6895b..f2a56334064d8 100644 --- a/library/core/src/any.rs +++ b/library/core/src/any.rs @@ -619,6 +619,7 @@ impl TypeId { #[must_use] #[stable(feature = "rust1", since = "1.0.0")] #[rustc_const_unstable(feature = "const_type_id", issue = "77125")] + #[inline(always)] pub const fn of() -> TypeId { TypeId { t: intrinsics::type_id::() } } From 824a15a434f3816484d755fe378f55d628916cd4 Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Sun, 1 May 2022 17:27:58 -0700 Subject: [PATCH 2/3] Add `inline(always)` to `Vec`'s `AsRef`/`AsMut` impls for slices --- library/alloc/src/vec/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/alloc/src/vec/mod.rs b/library/alloc/src/vec/mod.rs index cbb5b0627b77d..c748c6cad51f2 100644 --- a/library/alloc/src/vec/mod.rs +++ b/library/alloc/src/vec/mod.rs @@ -2914,6 +2914,7 @@ impl AsMut> for Vec { #[stable(feature = "rust1", since = "1.0.0")] impl AsRef<[T]> for Vec { + #[inline(always)] fn as_ref(&self) -> &[T] { self } @@ -2921,6 +2922,7 @@ impl AsRef<[T]> for Vec { #[stable(feature = "vec_as_mut", since = "1.5.0")] impl AsMut<[T]> for Vec { + #[inline(always)] fn as_mut(&mut self) -> &mut [T] { self } From b977314327c4e99783580346a377ece6d67b1fc6 Mon Sep 17 00:00:00 2001 From: Thom Chiovoloni Date: Sun, 1 May 2022 18:59:48 -0700 Subject: [PATCH 3/3] Add `inline(always)` to `Vec`'s `Deref`/`DerefMut` impls --- library/alloc/src/vec/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/alloc/src/vec/mod.rs b/library/alloc/src/vec/mod.rs index c748c6cad51f2..4c164952bde48 100644 --- a/library/alloc/src/vec/mod.rs +++ b/library/alloc/src/vec/mod.rs @@ -2491,6 +2491,7 @@ impl ExtendFromWithinSpec for Vec { impl ops::Deref for Vec { type Target = [T]; + #[inline(always)] fn deref(&self) -> &[T] { unsafe { slice::from_raw_parts(self.as_ptr(), self.len) } } @@ -2498,6 +2499,7 @@ impl ops::Deref for Vec { #[stable(feature = "rust1", since = "1.0.0")] impl ops::DerefMut for Vec { + #[inline(always)] fn deref_mut(&mut self) -> &mut [T] { unsafe { slice::from_raw_parts_mut(self.as_mut_ptr(), self.len) } }