diff options
| author | GnomedDev <david2005thomas@gmail.com> | 2024-10-09 01:02:55 +0100 |
|---|---|---|
| committer | GnomedDev <david2005thomas@gmail.com> | 2024-10-12 15:17:08 +0100 |
| commit | 7ec06b0d1d08cbcc6ed2f7e6ae87fe18056f69ef (patch) | |
| tree | 84de21bf35650b6cadd11779c13bdee83e238afb /compiler/rustc_hir_analysis/src/autoderef.rs | |
| parent | 1ac72b94bc5e8536e61232125b99dd052ac74b38 (diff) | |
| download | rust-7ec06b0d1d08cbcc6ed2f7e6ae87fe18056f69ef.tar.gz rust-7ec06b0d1d08cbcc6ed2f7e6ae87fe18056f69ef.zip | |
Swap Vec<PredicateObligation> to type alias
Diffstat (limited to 'compiler/rustc_hir_analysis/src/autoderef.rs')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/autoderef.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/rustc_hir_analysis/src/autoderef.rs b/compiler/rustc_hir_analysis/src/autoderef.rs index 8d11328743c..5a66c31a0cc 100644 --- a/compiler/rustc_hir_analysis/src/autoderef.rs +++ b/compiler/rustc_hir_analysis/src/autoderef.rs @@ -1,4 +1,5 @@ use rustc_infer::infer::InferCtxt; +use rustc_infer::traits::PredicateObligations; use rustc_middle::ty::{self, Ty, TyCtxt, TypeVisitableExt}; use rustc_session::Limit; use rustc_span::Span; @@ -23,7 +24,7 @@ struct AutoderefSnapshot<'tcx> { reached_recursion_limit: bool, steps: Vec<(Ty<'tcx>, AutoderefKind)>, cur_ty: Ty<'tcx>, - obligations: Vec<traits::PredicateObligation<'tcx>>, + obligations: PredicateObligations<'tcx>, } pub struct Autoderef<'a, 'tcx> { @@ -119,7 +120,7 @@ impl<'a, 'tcx> Autoderef<'a, 'tcx> { state: AutoderefSnapshot { steps: vec![], cur_ty: infcx.resolve_vars_if_possible(base_ty), - obligations: vec![], + obligations: PredicateObligations::new(), at_start: true, reached_recursion_limit: false, }, @@ -165,7 +166,7 @@ impl<'a, 'tcx> Autoderef<'a, 'tcx> { pub fn structurally_normalize( &self, ty: Ty<'tcx>, - ) -> Option<(Ty<'tcx>, Vec<traits::PredicateObligation<'tcx>>)> { + ) -> Option<(Ty<'tcx>, PredicateObligations<'tcx>)> { let ocx = ObligationCtxt::new(self.infcx); let Ok(normalized_ty) = ocx.structurally_normalize( &traits::ObligationCause::misc(self.span, self.body_id), @@ -204,11 +205,11 @@ impl<'a, 'tcx> Autoderef<'a, 'tcx> { self.state.steps.len() } - pub fn into_obligations(self) -> Vec<traits::PredicateObligation<'tcx>> { + pub fn into_obligations(self) -> PredicateObligations<'tcx> { self.state.obligations } - pub fn current_obligations(&self) -> Vec<traits::PredicateObligation<'tcx>> { + pub fn current_obligations(&self) -> PredicateObligations<'tcx> { self.state.obligations.clone() } |
