From 8118a31e86ac0f468e47a3ba794b01c8e36db25d Mon Sep 17 00:00:00 2001
From: Scott McMurray <scottmcm@users.noreply.github.com>
Date: Thu, 18 Aug 2022 16:04:00 -0700
Subject: [PATCH] Inline `<T as From<T>>::from`

I noticed in the MIR for <https://play.rust-lang.org/?version=nightly&mode=release&edition=2021&gist=67097e0494363ee27421a4e3bdfaf513> that it's inlined most stuff
```
scope 5 (inlined <Result<i32, u32> as Try>::branch)
```
```
scope 8 (inlined <Result<i32, u32> as Try>::from_output)
```

But yet the do-nothing `from` call was still there:
```
_17 = <u32 as From<u32>>::from(move _18) -> bb9;
```

So let's give this a try and see what perf has to say.
---
 library/core/src/convert/mod.rs | 1 +
 1 file changed, 1 insertion(+)

diff --git a/library/core/src/convert/mod.rs b/library/core/src/convert/mod.rs
index b30c8a4aeabdd..ff10a243d907a 100644
--- a/library/core/src/convert/mod.rs
+++ b/library/core/src/convert/mod.rs
@@ -556,6 +556,7 @@ where
 #[rustc_const_unstable(feature = "const_convert", issue = "88674")]
 impl<T> const From<T> for T {
     /// Returns the argument unchanged.
+    #[inline(always)]
     fn from(t: T) -> T {
         t
     }