]> git.lizzy.rs Git - rust.git/commit - src/tools/miri
Auto merge of #100733 - scottmcm:inline-from-from-identity, r=m-ou-se
authorbors <bors@rust-lang.org>
Tue, 6 Sep 2022 14:33:31 +0000 (14:33 +0000)
committerbors <bors@rust-lang.org>
Tue, 6 Sep 2022 14:33:31 +0000 (14:33 +0000)
commit380addd7d2971447d7f6828c508a93fa8018a9b6
tree29b4ea9db78492ef7c2149abbeb49b7bca23cf22
parent3c7278846102bb829c9a789e91bc43f0ed612943
parent8118a31e86ac0f468e47a3ba794b01c8e36db25d
Auto merge of #100733 - scottmcm:inline-from-from-identity, r=m-ou-se

Inline `<T as From<T>>::from`

I noticed (in https://github.com/rust-lang/rust/pull/100693#issuecomment-1218520141) that the MIR for <https://play.rust-lang.org/?version=nightly&mode=release&edition=2021&gist=67097e0494363ee27421a4e3bdfaf513> has 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