about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeón Orell Valerian Liehr <me@fmease.dev>2025-06-13 01:14:41 +0200
committerLeón Orell Valerian Liehr <me@fmease.dev>2025-06-13 01:16:01 +0200
commit3a31f624216245f21e7b18ad9baeb0b700c0f18c (patch)
tree2f5d97ba58a58e27332ac7d9b0db1abbc1a702f2
parenta58fdd18a2aff990cd7e9ca9a4903e2deebc109d (diff)
downloadrust-3a31f624216245f21e7b18ad9baeb0b700c0f18c.tar.gz
rust-3a31f624216245f21e7b18ad9baeb0b700c0f18c.zip
Use more slicing and slice interning over iterable interning
-rw-r--r--compiler/rustc_hir_analysis/src/delegation.rs3
-rw-r--r--compiler/rustc_middle/src/ty/generic_args.rs2
2 files changed, 2 insertions, 3 deletions
diff --git a/compiler/rustc_hir_analysis/src/delegation.rs b/compiler/rustc_hir_analysis/src/delegation.rs
index b907ec090e5..f5821aed03f 100644
--- a/compiler/rustc_hir_analysis/src/delegation.rs
+++ b/compiler/rustc_hir_analysis/src/delegation.rs
@@ -276,8 +276,7 @@ fn create_generic_args<'tcx>(
                 tcx.impl_trait_header(parent).unwrap().trait_ref.instantiate_identity().args;
 
             let trait_args = ty::GenericArgs::identity_for_item(tcx, sig_id);
-            let method_args =
-                tcx.mk_args_from_iter(trait_args.iter().skip(callee_generics.parent_count));
+            let method_args = tcx.mk_args(&trait_args[callee_generics.parent_count..]);
             let method_args = build_generic_args(tcx, sig_id, def_id, method_args);
 
             tcx.mk_args_from_iter(parent_args.iter().chain(method_args))
diff --git a/compiler/rustc_middle/src/ty/generic_args.rs b/compiler/rustc_middle/src/ty/generic_args.rs
index 5e038f91675..7d34d8df3f3 100644
--- a/compiler/rustc_middle/src/ty/generic_args.rs
+++ b/compiler/rustc_middle/src/ty/generic_args.rs
@@ -588,7 +588,7 @@ impl<'tcx> GenericArgs<'tcx> {
     }
 
     pub fn truncate_to(&self, tcx: TyCtxt<'tcx>, generics: &ty::Generics) -> GenericArgsRef<'tcx> {
-        tcx.mk_args_from_iter(self.iter().take(generics.count()))
+        tcx.mk_args(&self[..generics.count()])
     }
 
     pub fn print_as_list(&self) -> String {