diff options
| author | León Orell Valerian Liehr <me@fmease.dev> | 2024-03-15 02:19:29 +0100 |
|---|---|---|
| committer | León Orell Valerian Liehr <me@fmease.dev> | 2024-03-15 05:06:38 +0100 |
| commit | 5beda81b71509175f1661361a56eb8306b730639 (patch) | |
| tree | 5f3cff5b66fcaffc80ad46b8bdd895c4df3cf84d /compiler/rustc_hir_analysis/src/lib.rs | |
| parent | e61dcc7a0ac33ef054d76453307124233edcf545 (diff) | |
| download | rust-5beda81b71509175f1661361a56eb8306b730639.tar.gz rust-5beda81b71509175f1661361a56eb8306b730639.zip | |
Clean up AstConv
Diffstat (limited to 'compiler/rustc_hir_analysis/src/lib.rs')
| -rw-r--r-- | compiler/rustc_hir_analysis/src/lib.rs | 37 |
1 files changed, 4 insertions, 33 deletions
diff --git a/compiler/rustc_hir_analysis/src/lib.rs b/compiler/rustc_hir_analysis/src/lib.rs index b1b36ade508..e5307f57a2f 100644 --- a/compiler/rustc_hir_analysis/src/lib.rs +++ b/compiler/rustc_hir_analysis/src/lib.rs @@ -99,19 +99,16 @@ pub mod structured_errors; mod variance; use rustc_hir as hir; +use rustc_hir::def::DefKind; use rustc_middle::middle; use rustc_middle::query::Providers; -use rustc_middle::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::{Ty, TyCtxt}; use rustc_middle::util; use rustc_session::parse::feature_err; -use rustc_span::{symbol::sym, Span, DUMMY_SP}; +use rustc_span::{symbol::sym, Span}; use rustc_target::spec::abi::Abi; use rustc_trait_selection::traits; -use astconv::{AstConv, OnlySelfBounds}; -use bounds::Bounds; -use rustc_hir::def::DefKind; - rustc_fluent_macro::fluent_messages! { "../messages.ftl" } fn require_c_abi_if_c_variadic(tcx: TyCtxt<'_>, decl: &hir::FnDecl<'_>, abi: Abi, span: Span) { @@ -200,31 +197,5 @@ pub fn hir_ty_to_ty<'tcx>(tcx: TyCtxt<'tcx>, hir_ty: &hir::Ty<'tcx>) -> Ty<'tcx> // def-ID that will be used to determine the traits/predicates in // scope. This is derived from the enclosing item-like thing. let env_def_id = tcx.hir().get_parent_item(hir_ty.hir_id); - let item_cx = self::collect::ItemCtxt::new(tcx, env_def_id.def_id); - item_cx.astconv().ast_ty_to_ty(hir_ty) -} - -pub fn hir_trait_to_predicates<'tcx>( - tcx: TyCtxt<'tcx>, - hir_trait: &hir::TraitRef<'tcx>, - self_ty: Ty<'tcx>, -) -> Bounds<'tcx> { - // In case there are any projections, etc., find the "environment" - // def-ID that will be used to determine the traits/predicates in - // scope. This is derived from the enclosing item-like thing. - let env_def_id = tcx.hir().get_parent_item(hir_trait.hir_ref_id); - let item_cx = self::collect::ItemCtxt::new(tcx, env_def_id.def_id); - let mut bounds = Bounds::default(); - let _ = &item_cx.astconv().instantiate_poly_trait_ref( - hir_trait, - DUMMY_SP, - ty::BoundConstness::NotConst, - ty::ImplPolarity::Positive, - self_ty, - &mut bounds, - true, - OnlySelfBounds(false), - ); - - bounds + collect::ItemCtxt::new(tcx, env_def_id.def_id).to_ty(hir_ty) } |
