]> git.lizzy.rs Git - rust.git/commitdiff
Rename traits::ImplSourceImpl to ImplSourceUserDefined.
authorAna-Maria Mihalache <mihalacheana.maria@yahoo.com>
Tue, 2 Jun 2020 15:54:24 +0000 (15:54 +0000)
committerAna-Maria Mihalache <mihalacheana.maria@yahoo.com>
Fri, 5 Jun 2020 13:31:48 +0000 (13:31 +0000)
src/librustc_middle/traits/mod.rs
src/librustc_middle/traits/structural_impls.rs
src/librustc_mir/monomorphize/mod.rs
src/librustc_trait_selection/traits/auto_trait.rs
src/librustc_trait_selection/traits/project.rs
src/librustc_trait_selection/traits/select/confirmation.rs
src/librustc_ty/instance.rs
src/librustc_typeck/check/method/probe.rs

index 16545a19732a6cbcd38a8d62fb626be783f4c04b..56787304d4e7e1e10700610137e0ee75d2c76342 100644 (file)
@@ -374,11 +374,11 @@ pub enum 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 @@ pub fn nested_obligations(self) -> Vec<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 @@ pub fn map<M, F>(self, f: F) -> ImplSource<'tcx, M>
         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 @@ pub fn map<M, F>(self, f: F) -> ImplSource<'tcx, M>
 /// 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>,
index 50ecf677deaa401780d5a276425935a9e9f290e6..218bb144469b4b3848815aa50da15419a695bd1d 100644 (file)
@@ -9,7 +9,7 @@
 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 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
     }
 }
 
-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,
index 0b2ee3280df6ab06ae44606576783d32d100d82f..76c1c465a8be0ac9a951dffeee14fcccd6965933 100644 (file)
@@ -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);
         }
index f773fa2ac6e6c7e5930fb31d1c008c05a3101d94..da945a19185240dc7489f2a3325cccab82e118c3 100644 (file)
@@ -96,7 +96,7 @@ pub fn find_auto_trait_generics<A>(
             ));
 
             match result {
-                Ok(Some(ImplSource::ImplSourceImpl(_))) => {
+                Ok(Some(ImplSource::ImplSourceUserDefined(_))) => {
                     debug!(
                         "find_auto_trait_generics({:?}): \
                          manual impl found, bailing out",
@@ -308,8 +308,10 @@ fn evaluate_predicates(
                     // 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 {
index 8266f350e5655d98953bb184191a1322d6107ec6..d6c79d1973a71f8ebce94b9c49e2c64c3efe71e0 100644 (file)
@@ -13,7 +13,7 @@
 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();
 
index 4de4c2ec3daac32f90903e5422d85b6d65b49d28..f8d26c06a219d8546aa3471be5532a89ef7e1fb0 100644 (file)
 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 @@ pub(super) fn confirm_candidate(
             }
 
             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 @@ fn confirm_impl_candidate(
         &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 @@ fn vtable_impl(
         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 @@ fn vtable_impl(
         // 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(
index 2b4daad66101465c7a228130508cd2fd93c2384f..0acf7691681374387d2d5118b7ee2f2eeee3c8b0 100644 (file)
@@ -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());
index f533e1097c210825b866a5f9d49d8ae7a084d955..4095ab5e10fa5e34e4931788f0f621900a75e983 100644 (file)
@@ -1303,7 +1303,7 @@ fn candidate_source(&self, candidate: &Candidate<'tcx>, self_ty: Ty<'tcx>) -> Ca
                     .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)