diff options
| author | Yuri Astrakhan <YuriAstrakhan@gmail.com> | 2024-07-19 11:51:21 -0400 |
|---|---|---|
| committer | Yuri Astrakhan <YuriAstrakhan@gmail.com> | 2024-07-19 14:52:07 -0400 |
| commit | aef0e346de744faeaa522b9c08562bb3e1814adc (patch) | |
| tree | 1d670ae42ce9ba8f4160dae59cc5ad09ace97d86 /compiler/rustc_pattern_analysis/src | |
| parent | 0cd01aac6a80735cc936f75b45e3545a5273e2ad (diff) | |
| download | rust-aef0e346de744faeaa522b9c08562bb3e1814adc.tar.gz rust-aef0e346de744faeaa522b9c08562bb3e1814adc.zip | |
Avoid ref when using format! in compiler
Clean up a few minor refs in `format!` macro, as it has a performance cost. Apparently the compiler is unable to inline `format!("{}", &variable)`, and does a run-time double-reference instead (format macro already does one level referencing). Inlining format args prevents accidental `&` misuse.
Diffstat (limited to 'compiler/rustc_pattern_analysis/src')
| -rw-r--r-- | compiler/rustc_pattern_analysis/src/constructor.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_pattern_analysis/src/constructor.rs b/compiler/rustc_pattern_analysis/src/constructor.rs index fb103705475..f3e8e547066 100644 --- a/compiler/rustc_pattern_analysis/src/constructor.rs +++ b/compiler/rustc_pattern_analysis/src/constructor.rs @@ -904,7 +904,7 @@ impl<Cx: PatCx> Constructor<Cx> { // be careful to detect strings here. However a string literal pattern will never // be reported as a non-exhaustiveness witness, so we can ignore this issue. Ref => { - write!(f, "&{:?}", &fields.next().unwrap())?; + write!(f, "&{:?}", fields.next().unwrap())?; } Slice(slice) => { write!(f, "[")?; |
