diff options
| author | Ana-Maria Mihalache <mihalacheana.maria@yahoo.com> | 2020-06-02 15:54:24 +0000 |
|---|---|---|
| committer | Ana-Maria Mihalache <mihalacheana.maria@yahoo.com> | 2020-06-05 13:31:48 +0000 |
| commit | 00c19adeb519707484a8872f353c9cb89ed5eea6 (patch) | |
| tree | 135628069162d8b514c14563a93bb21c7f707cc1 /src | |
| parent | e01896a36f36513676756ea3eb3b8284665263cf (diff) | |
| download | rust-00c19adeb519707484a8872f353c9cb89ed5eea6.tar.gz rust-00c19adeb519707484a8872f353c9cb89ed5eea6.zip | |
Rename traits::ImplSourceImpl to ImplSourceUserDefined.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_middle/traits/mod.rs | 14 | ||||
| -rw-r--r-- | src/librustc_middle/traits/structural_impls.rs | 24 | ||||
| -rw-r--r-- | src/librustc_mir/monomorphize/mod.rs | 7 | ||||
| -rw-r--r-- | src/librustc_trait_selection/traits/auto_trait.rs | 8 | ||||
| -rw-r--r-- | src/librustc_trait_selection/traits/project.rs | 10 | ||||
| -rw-r--r-- | src/librustc_trait_selection/traits/select/confirmation.rs | 14 | ||||
| -rw-r--r-- | src/librustc_ty/instance.rs | 4 | ||||
| -rw-r--r-- | src/librustc_typeck/check/method/probe.rs | 2 |
8 files changed, 44 insertions, 39 deletions
diff --git a/src/librustc_middle/traits/mod.rs b/src/librustc_middle/traits/mod.rs index 16545a19732..56787304d4e 100644 --- a/src/librustc_middle/traits/mod.rs +++ b/src/librustc_middle/traits/mod.rs @@ -374,11 +374,11 @@ pub type SelectionResult<'tcx, T> = Result<Option<T>, SelectionError<'tcx>>; /// /// ### The type parameter `N` /// -/// See explanation on `ImplSourceImplData`. +/// See explanation on `ImplSourceUserDefinedData`. #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, HashStable, TypeFoldable)] pub enum ImplSource<'tcx, N> { /// ImplSource identifying a particular impl. - ImplSourceImpl(ImplSourceImplData<'tcx, N>), + ImplSourceUserDefined(ImplSourceUserDefinedData<'tcx, N>), /// ImplSource for auto trait implementations. /// This carries the information and nested obligations with regards @@ -399,7 +399,7 @@ pub enum ImplSource<'tcx, N> { ImplSourceBuiltin(ImplSourceBuiltinData<N>), /// ImplSource automatically generated for a closure. The `DefId` is the ID - /// of the closure expression. This is a `ImplSourceImpl` in spirit, but the + /// of the closure expression. This is a `ImplSourceUserDefined` in spirit, but the /// impl is generated by the compiler and does not appear in the source. ImplSourceClosure(ImplSourceClosureData<'tcx, N>), @@ -419,7 +419,7 @@ pub enum ImplSource<'tcx, N> { impl<'tcx, N> ImplSource<'tcx, N> { pub fn nested_obligations(self) -> Vec<N> { match self { - ImplSourceImpl(i) => i.nested, + ImplSourceUserDefined(i) => i.nested, ImplSourceParam(n) => n, ImplSourceBuiltin(i) => i.nested, ImplSourceAutoImpl(d) => d.nested, @@ -434,7 +434,7 @@ impl<'tcx, N> ImplSource<'tcx, N> { pub fn borrow_nested_obligations(&self) -> &[N] { match &self { - ImplSourceImpl(i) => &i.nested[..], + ImplSourceUserDefined(i) => &i.nested[..], ImplSourceParam(n) => &n[..], ImplSourceBuiltin(i) => &i.nested[..], ImplSourceAutoImpl(d) => &d.nested[..], @@ -452,7 +452,7 @@ impl<'tcx, N> ImplSource<'tcx, N> { F: FnMut(N) -> M, { match self { - ImplSourceImpl(i) => ImplSourceImpl(ImplSourceImplData { + ImplSourceUserDefined(i) => ImplSourceUserDefined(ImplSourceUserDefinedData { impl_def_id: i.impl_def_id, substs: i.substs, nested: i.nested.into_iter().map(f).collect(), @@ -507,7 +507,7 @@ impl<'tcx, N> ImplSource<'tcx, N> { /// is `()`, because codegen only requires a shallow resolution of an /// impl, and nested obligations are satisfied later. #[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, HashStable, TypeFoldable)] -pub struct ImplSourceImplData<'tcx, N> { +pub struct ImplSourceUserDefinedData<'tcx, N> { pub impl_def_id: DefId, pub substs: SubstsRef<'tcx>, pub nested: Vec<N>, diff --git a/src/librustc_middle/traits/structural_impls.rs b/src/librustc_middle/traits/structural_impls.rs index 50ecf677dea..218bb144469 100644 --- a/src/librustc_middle/traits/structural_impls.rs +++ b/src/librustc_middle/traits/structural_impls.rs @@ -9,7 +9,7 @@ use std::rc::Rc; impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSource<'tcx, N> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match *self { - super::ImplSourceImpl(ref v) => write!(f, "{:?}", v), + super::ImplSourceUserDefined(ref v) => write!(f, "{:?}", v), super::ImplSourceAutoImpl(ref t) => write!(f, "{:?}", t), @@ -32,11 +32,11 @@ impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSource<'tcx, N> { } } -impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSourceImplData<'tcx, N> { +impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSourceUserDefinedData<'tcx, N> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!( f, - "ImplSourceImplData(impl_def_id={:?}, substs={:?}, nested={:?})", + "ImplSourceUserDefinedData(impl_def_id={:?}, substs={:?}, nested={:?})", self.impl_def_id, self.substs, self.nested ) } @@ -245,15 +245,17 @@ impl<'a, 'tcx> Lift<'tcx> for traits::ImplSource<'a, ()> { type Lifted = traits::ImplSource<'tcx, ()>; fn lift_to_tcx(&self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> { match self.clone() { - traits::ImplSourceImpl(traits::ImplSourceImplData { impl_def_id, substs, nested }) => { - tcx.lift(&substs).map(|substs| { - traits::ImplSourceImpl(traits::ImplSourceImplData { - impl_def_id, - substs, - nested, - }) + traits::ImplSourceUserDefined(traits::ImplSourceUserDefinedData { + impl_def_id, + substs, + nested, + }) => tcx.lift(&substs).map(|substs| { + traits::ImplSourceUserDefined(traits::ImplSourceUserDefinedData { + impl_def_id, + substs, + nested, }) - } + }), traits::ImplSourceAutoImpl(t) => Some(traits::ImplSourceAutoImpl(t)), traits::ImplSourceGenerator(traits::ImplSourceGeneratorData { generator_def_id, diff --git a/src/librustc_mir/monomorphize/mod.rs b/src/librustc_mir/monomorphize/mod.rs index 0b2ee3280df..76c1c465a8b 100644 --- a/src/librustc_mir/monomorphize/mod.rs +++ b/src/librustc_mir/monomorphize/mod.rs @@ -20,9 +20,10 @@ pub fn custom_coerce_unsize_info<'tcx>( }); match tcx.codegen_fulfill_obligation((ty::ParamEnv::reveal_all(), trait_ref)) { - Ok(traits::ImplSourceImpl(traits::ImplSourceImplData { impl_def_id, .. })) => { - tcx.coerce_unsized_info(impl_def_id).custom_kind.unwrap() - } + Ok(traits::ImplSourceUserDefined(traits::ImplSourceUserDefinedData { + impl_def_id, + .. + })) => tcx.coerce_unsized_info(impl_def_id).custom_kind.unwrap(), impl_source => { bug!("invalid `CoerceUnsized` impl_source: {:?}", impl_source); } diff --git a/src/librustc_trait_selection/traits/auto_trait.rs b/src/librustc_trait_selection/traits/auto_trait.rs index f773fa2ac6e..da945a19185 100644 --- a/src/librustc_trait_selection/traits/auto_trait.rs +++ b/src/librustc_trait_selection/traits/auto_trait.rs @@ -96,7 +96,7 @@ impl<'tcx> AutoTraitFinder<'tcx> { )); match result { - Ok(Some(ImplSource::ImplSourceImpl(_))) => { + Ok(Some(ImplSource::ImplSourceUserDefined(_))) => { debug!( "find_auto_trait_generics({:?}): \ manual impl found, bailing out", @@ -308,8 +308,10 @@ impl AutoTraitFinder<'tcx> { // If we see an explicit negative impl (e.g., `impl !Send for MyStruct`), // we immediately bail out, since it's impossible for us to continue. - if let ImplSource::ImplSourceImpl(ImplSourceImplData { impl_def_id, .. }) = - impl_source + if let ImplSource::ImplSourceUserDefined(ImplSourceUserDefinedData { + impl_def_id, + .. + }) = impl_source { // Blame 'tidy' for the weird bracket placement. if infcx.tcx.impl_polarity(*impl_def_id) == ty::ImplPolarity::Negative { diff --git a/src/librustc_trait_selection/traits/project.rs b/src/librustc_trait_selection/traits/project.rs index 8266f350e56..d6c79d1973a 100644 --- a/src/librustc_trait_selection/traits/project.rs +++ b/src/librustc_trait_selection/traits/project.rs @@ -13,7 +13,7 @@ use super::SelectionContext; use super::SelectionError; use super::{ ImplSourceClosureData, ImplSourceDiscriminantKindData, ImplSourceFnPointerData, - ImplSourceGeneratorData, ImplSourceImplData, + ImplSourceGeneratorData, ImplSourceUserDefinedData, }; use super::{Normalized, NormalizedTy, ProjectionCacheEntry, ProjectionCacheKey}; @@ -996,7 +996,7 @@ fn assemble_candidates_from_impls<'cx, 'tcx>( debug!("assemble_candidates_from_impls: impl_source={:?}", impl_source); true } - super::ImplSourceImpl(impl_data) => { + super::ImplSourceUserDefined(impl_data) => { // We have to be careful when projecting out of an // impl because of specialization. If we are not in // codegen (i.e., projection mode is not "any"), and the @@ -1165,7 +1165,7 @@ fn confirm_select_candidate<'cx, 'tcx>( impl_source: Selection<'tcx>, ) -> Progress<'tcx> { match impl_source { - super::ImplSourceImpl(data) => confirm_impl_candidate(selcx, obligation, data), + super::ImplSourceUserDefined(data) => confirm_impl_candidate(selcx, obligation, data), super::ImplSourceGenerator(data) => confirm_generator_candidate(selcx, obligation, data), super::ImplSourceClosure(data) => confirm_closure_candidate(selcx, obligation, data), super::ImplSourceFnPointer(data) => confirm_fn_pointer_candidate(selcx, obligation, data), @@ -1449,11 +1449,11 @@ fn confirm_param_env_candidate<'cx, 'tcx>( fn confirm_impl_candidate<'cx, 'tcx>( selcx: &mut SelectionContext<'cx, 'tcx>, obligation: &ProjectionTyObligation<'tcx>, - impl_impl_source: ImplSourceImplData<'tcx, PredicateObligation<'tcx>>, + impl_impl_source: ImplSourceUserDefinedData<'tcx, PredicateObligation<'tcx>>, ) -> Progress<'tcx> { let tcx = selcx.tcx(); - let ImplSourceImplData { impl_def_id, substs, nested } = impl_impl_source; + let ImplSourceUserDefinedData { impl_def_id, substs, nested } = impl_impl_source; let assoc_item_id = obligation.predicate.item_def_id; let trait_def_id = tcx.trait_id_of_impl(impl_def_id).unwrap(); diff --git a/src/librustc_trait_selection/traits/select/confirmation.rs b/src/librustc_trait_selection/traits/select/confirmation.rs index 4de4c2ec3da..f8d26c06a21 100644 --- a/src/librustc_trait_selection/traits/select/confirmation.rs +++ b/src/librustc_trait_selection/traits/select/confirmation.rs @@ -26,13 +26,13 @@ use crate::traits::TraitNotObjectSafe; use crate::traits::{BuiltinDerivedObligation, ImplDerivedObligation}; use crate::traits::{ ImplSourceAutoImpl, ImplSourceBuiltin, ImplSourceClosure, ImplSourceDiscriminantKind, - ImplSourceFnPointer, ImplSourceGenerator, ImplSourceImpl, ImplSourceObject, ImplSourceParam, - ImplSourceTraitAlias, + ImplSourceFnPointer, ImplSourceGenerator, ImplSourceObject, ImplSourceParam, + ImplSourceTraitAlias, ImplSourceUserDefined, }; use crate::traits::{ ImplSourceAutoImplData, ImplSourceBuiltinData, ImplSourceClosureData, ImplSourceDiscriminantKindData, ImplSourceFnPointerData, ImplSourceGeneratorData, - ImplSourceImplData, ImplSourceObjectData, ImplSourceTraitAliasData, + ImplSourceObjectData, ImplSourceTraitAliasData, ImplSourceUserDefinedData, }; use crate::traits::{ObjectCastObligation, PredicateObligation, TraitObligation}; use crate::traits::{Obligation, ObligationCause}; @@ -64,7 +64,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { } ImplCandidate(impl_def_id) => { - Ok(ImplSourceImpl(self.confirm_impl_candidate(obligation, impl_def_id))) + Ok(ImplSourceUserDefined(self.confirm_impl_candidate(obligation, impl_def_id))) } AutoImplCandidate(trait_def_id) => { @@ -260,7 +260,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { &mut self, obligation: &TraitObligation<'tcx>, impl_def_id: DefId, - ) -> ImplSourceImplData<'tcx, PredicateObligation<'tcx>> { + ) -> ImplSourceUserDefinedData<'tcx, PredicateObligation<'tcx>> { debug!("confirm_impl_candidate({:?},{:?})", obligation, impl_def_id); // First, create the substitutions by matching the impl again, @@ -288,7 +288,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { cause: ObligationCause<'tcx>, recursion_depth: usize, param_env: ty::ParamEnv<'tcx>, - ) -> ImplSourceImplData<'tcx, PredicateObligation<'tcx>> { + ) -> ImplSourceUserDefinedData<'tcx, PredicateObligation<'tcx>> { debug!( "vtable_impl(impl_def_id={:?}, substs={:?}, recursion_depth={})", impl_def_id, substs, recursion_depth, @@ -314,7 +314,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> { // e.g., `impl<U: Tr, V: Iterator<Item=U>> Foo<<U as Tr>::T> for V` impl_obligations.append(&mut substs.obligations); - ImplSourceImplData { impl_def_id, substs: substs.value, nested: impl_obligations } + ImplSourceUserDefinedData { impl_def_id, substs: substs.value, nested: impl_obligations } } fn confirm_object_candidate( diff --git a/src/librustc_ty/instance.rs b/src/librustc_ty/instance.rs index 2b4daad6610..0acf7691681 100644 --- a/src/librustc_ty/instance.rs +++ b/src/librustc_ty/instance.rs @@ -84,9 +84,9 @@ fn resolve_associated_item<'tcx>( // Now that we know which impl is being used, we can dispatch to // the actual function: Ok(match vtbl { - traits::ImplSourceImpl(impl_data) => { + traits::ImplSourceUserDefined(impl_data) => { debug!( - "resolving ImplSourceImpl: {:?}, {:?}, {:?}, {:?}", + "resolving ImplSourceUserDefined: {:?}, {:?}, {:?}, {:?}", param_env, trait_item, rcvr_substs, impl_data ); assert!(!rcvr_substs.needs_infer()); diff --git a/src/librustc_typeck/check/method/probe.rs b/src/librustc_typeck/check/method/probe.rs index f533e1097c2..4095ab5e10f 100644 --- a/src/librustc_typeck/check/method/probe.rs +++ b/src/librustc_typeck/check/method/probe.rs @@ -1303,7 +1303,7 @@ impl<'a, 'tcx> ProbeContext<'a, 'tcx> { .at(&ObligationCause::dummy(), self.param_env) .sup(candidate.xform_self_ty, self_ty); match self.select_trait_candidate(trait_ref) { - Ok(Some(traits::ImplSource::ImplSourceImpl(ref impl_data))) => { + Ok(Some(traits::ImplSource::ImplSourceUserDefined(ref impl_data))) => { // If only a single impl matches, make the error message point // to that impl. ImplSource(impl_data.impl_def_id) |
