about summary refs log tree commit diff
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2022-02-04 11:10:02 +0100
committerlcnr <rust@lcnr.de>2022-02-04 11:10:02 +0100
commit711e736262a5ef0c738a8bdfba55501bcfbe19a2 (patch)
tree33e35eceb4221c0bf072099bf2fbf23001c55c20
parent4e8fb743ccbec27344b2dd42de7057f41d4ebfdd (diff)
fold substs
-rw-r--r--compiler/rustc_middle/src/ty/subst.rs10
1 files changed, 1 insertions, 9 deletions
diff --git a/compiler/rustc_middle/src/ty/subst.rs b/compiler/rustc_middle/src/ty/subst.rs
index cf97344f18e..c723df83905 100644
--- a/compiler/rustc_middle/src/ty/subst.rs
+++ b/compiler/rustc_middle/src/ty/subst.rs
@@ -396,15 +396,7 @@ impl<'tcx> TypeFoldable<'tcx> for SubstsRef<'tcx> {
                 }
             }
             0 => Ok(self),
-            _ => {
-                let params: SmallVec<[_; 8]> =
-                    self.iter().map(|k| k.try_fold_with(folder)).collect::<Result<_, _>>()?;
-                if params[..] == self[..] {
-                    Ok(self)
-                } else {
-                    Ok(folder.tcx().intern_substs(&params))
-                }
-            }
+            _ => ty::util::fold_list(self, folder, |tcx, v| tcx.intern_substs(v)),
         }
     }