From: Niko Matsakis Date: Tue, 6 May 2014 13:52:04 +0000 (-0400) Subject: Rename and move ty_param_substs_and_ty X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=7ead6bed48a0877a9752cfa2022351cec1773533;p=rust.git Rename and move ty_param_substs_and_ty --- diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index c5e84b8e0c8..588ae76ba3b 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -1054,11 +1054,6 @@ pub struct ItemSubsts { pub substs: Substs, } -pub struct ty_param_substs_and_ty { - pub substs: Substs, - pub ty: ty::t -} - pub type type_cache = RefCell>; pub type node_type_table = RefCell>; diff --git a/src/librustc/middle/typeck/astconv.rs b/src/librustc/middle/typeck/astconv.rs index 7ca8a74ae63..e9ee4b17abb 100644 --- a/src/librustc/middle/typeck/astconv.rs +++ b/src/librustc/middle/typeck/astconv.rs @@ -54,9 +54,10 @@ use middle::lang_items::FnMutTraitLangItem; use rl = middle::resolve_lifetime; use middle::subst::{Subst, Substs}; -use middle::subst; -use middle::ty::ty_param_substs_and_ty; use middle::ty; +use middle::typeck::TypeAndSubsts; +use middle::typeck::rscope; +use middle::typeck::rscope::{RegionScope}; use middle::typeck::lookup_def_tcx; use middle::typeck::rscope::RegionScope; use middle::typeck::rscope; @@ -289,7 +290,7 @@ pub fn ast_path_to_ty( rscope: &RS, did: ast::DefId, path: &ast::Path) - -> ty_param_substs_and_ty + -> TypeAndSubsts { let tcx = this.tcx(); let ty::ty_param_bounds_and_ty { @@ -299,7 +300,7 @@ pub fn ast_path_to_ty( let substs = ast_path_substs(this, rscope, &generics, None, path); let ty = decl_ty.subst(tcx, &substs); - ty_param_substs_and_ty { substs: substs, ty: ty } + TypeAndSubsts { substs: substs, ty: ty } } pub static NO_REGIONS: uint = 1; diff --git a/src/librustc/middle/typeck/check/method.rs b/src/librustc/middle/typeck/check/method.rs index fafc84d2b10..4270ff1e795 100644 --- a/src/librustc/middle/typeck/check/method.rs +++ b/src/librustc/middle/typeck/check/method.rs @@ -93,6 +93,7 @@ trait `ToStr` imported, and I call `to_str()` on a value of type `T`, use middle::typeck::{MethodStatic, MethodObject}; use middle::typeck::{param_index}; use middle::typeck::check::regionmanip::replace_late_bound_regions_in_fn_sig; +use middle::typeck::TypeAndSubsts; use util::common::indenter; use util::ppaux; use util::ppaux::Repr; @@ -688,7 +689,7 @@ fn push_candidates_from_impl(&mut self, // variables for each parameter: let span = self.self_expr.map_or(self.span, |e| e.span); let vcx = self.fcx.vtable_context(); - let ty::ty_param_substs_and_ty { + let TypeAndSubsts { substs: impl_substs, ty: impl_ty } = impl_self_ty(&vcx, span, impl_did); diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs index c5a7fe7e206..1bb01be36da 100644 --- a/src/librustc/middle/typeck/check/mod.rs +++ b/src/librustc/middle/typeck/check/mod.rs @@ -85,7 +85,7 @@ use middle::subst; use middle::subst::{Subst, Substs, VecPerParamSpace, ParamSpace}; use middle::ty::{FnSig, VariantInfo}; -use middle::ty::{ty_param_bounds_and_ty, ty_param_substs_and_ty}; +use middle::ty::{ty_param_bounds_and_ty}; use middle::ty::{ParamTy, Disr, ExprTyProvider}; use middle::ty; use middle::ty_fold::TypeFolder; @@ -109,6 +109,7 @@ use middle::typeck::no_params; use middle::typeck::{require_same_types, vtable_map}; use middle::typeck::{MethodCall, MethodMap}; +use middle::typeck::{TypeAndSubsts}; use middle::lang_items::TypeIdLangItem; use util::common::{block_query, indenter, loop_query}; use util::ppaux; @@ -1791,7 +1792,7 @@ fn check_expr_with_lvalue_pref(fcx: &FnCtxt, expr: &ast::Expr, pub fn impl_self_ty(vcx: &VtableContext, span: Span, // (potential) receiver for this impl did: ast::DefId) - -> ty_param_substs_and_ty { + -> TypeAndSubsts { let tcx = vcx.tcx(); let ity = ty::lookup_item_type(tcx, did); @@ -1805,7 +1806,7 @@ pub fn impl_self_ty(vcx: &VtableContext, let substs = subst::Substs::new_type(tps, rps); let substd_ty = raw_ty.subst(tcx, &substs); - ty_param_substs_and_ty { substs: substs, ty: substd_ty } + TypeAndSubsts { substs: substs, ty: substd_ty } } // Only for fields! Returns for methods> diff --git a/src/librustc/middle/typeck/check/vtable.rs b/src/librustc/middle/typeck/check/vtable.rs index 6ac6cdce859..7e118291f34 100644 --- a/src/librustc/middle/typeck/check/vtable.rs +++ b/src/librustc/middle/typeck/check/vtable.rs @@ -23,6 +23,7 @@ use middle::typeck::{vtable_static, vtable_param, vtable_error}; use middle::typeck::{param_index}; use middle::typeck::MethodCall; +use middle::typeck::TypeAndSubsts; use middle::subst; use middle::subst::{Subst, VecPerParamSpace}; use util::common::indenter; @@ -353,7 +354,7 @@ fn search_for_vtable(vcx: &VtableContext, // FIXME: document a bit more what this means // // FIXME(#5781) this should be mk_eqty not mk_subty - let ty::ty_param_substs_and_ty { + let TypeAndSubsts { substs: substs, ty: for_ty } = impl_self_ty(vcx, span, impl_did); diff --git a/src/librustc/middle/typeck/mod.rs b/src/librustc/middle/typeck/mod.rs index bc2768ce214..76fccf8cc97 100644 --- a/src/librustc/middle/typeck/mod.rs +++ b/src/librustc/middle/typeck/mod.rs @@ -176,6 +176,11 @@ pub enum ExprAdjustment { AutoObject } +pub struct TypeAndSubsts { + pub substs: subst::Substs, + pub ty: ty::t, +} + impl MethodCall { pub fn expr(id: ast::NodeId) -> MethodCall { MethodCall {