about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2024-08-12 15:53:45 +1000
committerNicholas Nethercote <n.nethercote@gmail.com>2024-08-12 16:03:18 +1000
commitbbd1c3ab73a931bf4823eec836de57e837d2161c (patch)
treef66c365126ef2cc36524f293b08b76b3a7dc0a20
parentb9f3db6adb77cce9ec5a5476003a5cf1803b6262 (diff)
downloadrust-bbd1c3ab73a931bf4823eec836de57e837d2161c.tar.gz
rust-bbd1c3ab73a931bf4823eec836de57e837d2161c.zip
Streamline some inputs/output traversals.
-rw-r--r--compiler/rustc_middle/src/ty/flags.rs3
-rw-r--r--compiler/rustc_middle/src/ty/walk.rs6
2 files changed, 3 insertions, 6 deletions
diff --git a/compiler/rustc_middle/src/ty/flags.rs b/compiler/rustc_middle/src/ty/flags.rs
index 1e38e30628a..fc079592583 100644
--- a/compiler/rustc_middle/src/ty/flags.rs
+++ b/compiler/rustc_middle/src/ty/flags.rs
@@ -251,8 +251,7 @@ impl FlagComputation {
             }
 
             &ty::FnPtr(sig_tys, _) => self.bound_computation(sig_tys, |computation, sig_tys| {
-                computation.add_tys(sig_tys.inputs());
-                computation.add_ty(sig_tys.output());
+                computation.add_tys(sig_tys.inputs_and_output);
             }),
         }
     }
diff --git a/compiler/rustc_middle/src/ty/walk.rs b/compiler/rustc_middle/src/ty/walk.rs
index 0a328352e2e..abd6df17514 100644
--- a/compiler/rustc_middle/src/ty/walk.rs
+++ b/compiler/rustc_middle/src/ty/walk.rs
@@ -189,11 +189,9 @@ fn push_inner<'tcx>(stack: &mut TypeWalkerStack<'tcx>, parent: GenericArg<'tcx>)
                 stack.extend(args.iter().rev());
             }
             ty::Tuple(ts) => stack.extend(ts.iter().rev().map(GenericArg::from)),
-            ty::FnPtr(sig_tys, hdr) => {
-                let fn_sig = sig_tys.with(hdr);
-                stack.push(fn_sig.skip_binder().output().into());
+            ty::FnPtr(sig_tys, _hdr) => {
                 stack.extend(
-                    fn_sig.skip_binder().inputs().iter().copied().rev().map(|ty| ty.into()),
+                    sig_tys.skip_binder().inputs_and_output.iter().rev().map(|ty| ty.into()),
                 );
             }
         },