Skip to content

Commit 00c19ad

Browse files
committed
Rename traits::ImplSourceImpl to ImplSourceUserDefined.
1 parent e01896a commit 00c19ad

File tree

8 files changed

+44
-39
lines changed

8 files changed

+44
-39
lines changed

src/librustc_middle/traits/mod.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -374,11 +374,11 @@ pub type SelectionResult<'tcx, T> = Result<Option<T>, SelectionError<'tcx>>;
374374
///
375375
/// ### The type parameter `N`
376376
///
377-
/// See explanation on `ImplSourceImplData`.
377+
/// See explanation on `ImplSourceUserDefinedData`.
378378
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, HashStable, TypeFoldable)]
379379
pub enum ImplSource<'tcx, N> {
380380
/// ImplSource identifying a particular impl.
381-
ImplSourceImpl(ImplSourceImplData<'tcx, N>),
381+
ImplSourceUserDefined(ImplSourceUserDefinedData<'tcx, N>),
382382

383383
/// ImplSource for auto trait implementations.
384384
/// This carries the information and nested obligations with regards
@@ -399,7 +399,7 @@ pub enum ImplSource<'tcx, N> {
399399
ImplSourceBuiltin(ImplSourceBuiltinData<N>),
400400

401401
/// ImplSource automatically generated for a closure. The `DefId` is the ID
402-
/// of the closure expression. This is a `ImplSourceImpl` in spirit, but the
402+
/// of the closure expression. This is a `ImplSourceUserDefined` in spirit, but the
403403
/// impl is generated by the compiler and does not appear in the source.
404404
ImplSourceClosure(ImplSourceClosureData<'tcx, N>),
405405

@@ -419,7 +419,7 @@ pub enum ImplSource<'tcx, N> {
419419
impl<'tcx, N> ImplSource<'tcx, N> {
420420
pub fn nested_obligations(self) -> Vec<N> {
421421
match self {
422-
ImplSourceImpl(i) => i.nested,
422+
ImplSourceUserDefined(i) => i.nested,
423423
ImplSourceParam(n) => n,
424424
ImplSourceBuiltin(i) => i.nested,
425425
ImplSourceAutoImpl(d) => d.nested,
@@ -434,7 +434,7 @@ impl<'tcx, N> ImplSource<'tcx, N> {
434434

435435
pub fn borrow_nested_obligations(&self) -> &[N] {
436436
match &self {
437-
ImplSourceImpl(i) => &i.nested[..],
437+
ImplSourceUserDefined(i) => &i.nested[..],
438438
ImplSourceParam(n) => &n[..],
439439
ImplSourceBuiltin(i) => &i.nested[..],
440440
ImplSourceAutoImpl(d) => &d.nested[..],
@@ -452,7 +452,7 @@ impl<'tcx, N> ImplSource<'tcx, N> {
452452
F: FnMut(N) -> M,
453453
{
454454
match self {
455-
ImplSourceImpl(i) => ImplSourceImpl(ImplSourceImplData {
455+
ImplSourceUserDefined(i) => ImplSourceUserDefined(ImplSourceUserDefinedData {
456456
impl_def_id: i.impl_def_id,
457457
substs: i.substs,
458458
nested: i.nested.into_iter().map(f).collect(),
@@ -507,7 +507,7 @@ impl<'tcx, N> ImplSource<'tcx, N> {
507507
/// is `()`, because codegen only requires a shallow resolution of an
508508
/// impl, and nested obligations are satisfied later.
509509
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, HashStable, TypeFoldable)]
510-
pub struct ImplSourceImplData<'tcx, N> {
510+
pub struct ImplSourceUserDefinedData<'tcx, N> {
511511
pub impl_def_id: DefId,
512512
pub substs: SubstsRef<'tcx>,
513513
pub nested: Vec<N>,

src/librustc_middle/traits/structural_impls.rs

+13-11
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use std::rc::Rc;
99
impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSource<'tcx, N> {
1010
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
1111
match *self {
12-
super::ImplSourceImpl(ref v) => write!(f, "{:?}", v),
12+
super::ImplSourceUserDefined(ref v) => write!(f, "{:?}", v),
1313

1414
super::ImplSourceAutoImpl(ref t) => write!(f, "{:?}", t),
1515

@@ -32,11 +32,11 @@ impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSource<'tcx, N> {
3232
}
3333
}
3434

35-
impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSourceImplData<'tcx, N> {
35+
impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSourceUserDefinedData<'tcx, N> {
3636
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
3737
write!(
3838
f,
39-
"ImplSourceImplData(impl_def_id={:?}, substs={:?}, nested={:?})",
39+
"ImplSourceUserDefinedData(impl_def_id={:?}, substs={:?}, nested={:?})",
4040
self.impl_def_id, self.substs, self.nested
4141
)
4242
}
@@ -245,15 +245,17 @@ impl<'a, 'tcx> Lift<'tcx> for traits::ImplSource<'a, ()> {
245245
type Lifted = traits::ImplSource<'tcx, ()>;
246246
fn lift_to_tcx(&self, tcx: TyCtxt<'tcx>) -> Option<Self::Lifted> {
247247
match self.clone() {
248-
traits::ImplSourceImpl(traits::ImplSourceImplData { impl_def_id, substs, nested }) => {
249-
tcx.lift(&substs).map(|substs| {
250-
traits::ImplSourceImpl(traits::ImplSourceImplData {
251-
impl_def_id,
252-
substs,
253-
nested,
254-
})
248+
traits::ImplSourceUserDefined(traits::ImplSourceUserDefinedData {
249+
impl_def_id,
250+
substs,
251+
nested,
252+
}) => tcx.lift(&substs).map(|substs| {
253+
traits::ImplSourceUserDefined(traits::ImplSourceUserDefinedData {
254+
impl_def_id,
255+
substs,
256+
nested,
255257
})
256-
}
258+
}),
257259
traits::ImplSourceAutoImpl(t) => Some(traits::ImplSourceAutoImpl(t)),
258260
traits::ImplSourceGenerator(traits::ImplSourceGeneratorData {
259261
generator_def_id,

src/librustc_mir/monomorphize/mod.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ pub fn custom_coerce_unsize_info<'tcx>(
2020
});
2121

2222
match tcx.codegen_fulfill_obligation((ty::ParamEnv::reveal_all(), trait_ref)) {
23-
Ok(traits::ImplSourceImpl(traits::ImplSourceImplData { impl_def_id, .. })) => {
24-
tcx.coerce_unsized_info(impl_def_id).custom_kind.unwrap()
25-
}
23+
Ok(traits::ImplSourceUserDefined(traits::ImplSourceUserDefinedData {
24+
impl_def_id,
25+
..
26+
})) => tcx.coerce_unsized_info(impl_def_id).custom_kind.unwrap(),
2627
impl_source => {
2728
bug!("invalid `CoerceUnsized` impl_source: {:?}", impl_source);
2829
}

src/librustc_trait_selection/traits/auto_trait.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ impl<'tcx> AutoTraitFinder<'tcx> {
9696
));
9797

9898
match result {
99-
Ok(Some(ImplSource::ImplSourceImpl(_))) => {
99+
Ok(Some(ImplSource::ImplSourceUserDefined(_))) => {
100100
debug!(
101101
"find_auto_trait_generics({:?}): \
102102
manual impl found, bailing out",
@@ -308,8 +308,10 @@ impl AutoTraitFinder<'tcx> {
308308
// If we see an explicit negative impl (e.g., `impl !Send for MyStruct`),
309309
// we immediately bail out, since it's impossible for us to continue.
310310

311-
if let ImplSource::ImplSourceImpl(ImplSourceImplData { impl_def_id, .. }) =
312-
impl_source
311+
if let ImplSource::ImplSourceUserDefined(ImplSourceUserDefinedData {
312+
impl_def_id,
313+
..
314+
}) = impl_source
313315
{
314316
// Blame 'tidy' for the weird bracket placement.
315317
if infcx.tcx.impl_polarity(*impl_def_id) == ty::ImplPolarity::Negative {

src/librustc_trait_selection/traits/project.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use super::SelectionContext;
1313
use super::SelectionError;
1414
use super::{
1515
ImplSourceClosureData, ImplSourceDiscriminantKindData, ImplSourceFnPointerData,
16-
ImplSourceGeneratorData, ImplSourceImplData,
16+
ImplSourceGeneratorData, ImplSourceUserDefinedData,
1717
};
1818
use super::{Normalized, NormalizedTy, ProjectionCacheEntry, ProjectionCacheKey};
1919

@@ -996,7 +996,7 @@ fn assemble_candidates_from_impls<'cx, 'tcx>(
996996
debug!("assemble_candidates_from_impls: impl_source={:?}", impl_source);
997997
true
998998
}
999-
super::ImplSourceImpl(impl_data) => {
999+
super::ImplSourceUserDefined(impl_data) => {
10001000
// We have to be careful when projecting out of an
10011001
// impl because of specialization. If we are not in
10021002
// codegen (i.e., projection mode is not "any"), and the
@@ -1165,7 +1165,7 @@ fn confirm_select_candidate<'cx, 'tcx>(
11651165
impl_source: Selection<'tcx>,
11661166
) -> Progress<'tcx> {
11671167
match impl_source {
1168-
super::ImplSourceImpl(data) => confirm_impl_candidate(selcx, obligation, data),
1168+
super::ImplSourceUserDefined(data) => confirm_impl_candidate(selcx, obligation, data),
11691169
super::ImplSourceGenerator(data) => confirm_generator_candidate(selcx, obligation, data),
11701170
super::ImplSourceClosure(data) => confirm_closure_candidate(selcx, obligation, data),
11711171
super::ImplSourceFnPointer(data) => confirm_fn_pointer_candidate(selcx, obligation, data),
@@ -1449,11 +1449,11 @@ fn confirm_param_env_candidate<'cx, 'tcx>(
14491449
fn confirm_impl_candidate<'cx, 'tcx>(
14501450
selcx: &mut SelectionContext<'cx, 'tcx>,
14511451
obligation: &ProjectionTyObligation<'tcx>,
1452-
impl_impl_source: ImplSourceImplData<'tcx, PredicateObligation<'tcx>>,
1452+
impl_impl_source: ImplSourceUserDefinedData<'tcx, PredicateObligation<'tcx>>,
14531453
) -> Progress<'tcx> {
14541454
let tcx = selcx.tcx();
14551455

1456-
let ImplSourceImplData { impl_def_id, substs, nested } = impl_impl_source;
1456+
let ImplSourceUserDefinedData { impl_def_id, substs, nested } = impl_impl_source;
14571457
let assoc_item_id = obligation.predicate.item_def_id;
14581458
let trait_def_id = tcx.trait_id_of_impl(impl_def_id).unwrap();
14591459

src/librustc_trait_selection/traits/select/confirmation.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ use crate::traits::TraitNotObjectSafe;
2626
use crate::traits::{BuiltinDerivedObligation, ImplDerivedObligation};
2727
use crate::traits::{
2828
ImplSourceAutoImpl, ImplSourceBuiltin, ImplSourceClosure, ImplSourceDiscriminantKind,
29-
ImplSourceFnPointer, ImplSourceGenerator, ImplSourceImpl, ImplSourceObject, ImplSourceParam,
30-
ImplSourceTraitAlias,
29+
ImplSourceFnPointer, ImplSourceGenerator, ImplSourceObject, ImplSourceParam,
30+
ImplSourceTraitAlias, ImplSourceUserDefined,
3131
};
3232
use crate::traits::{
3333
ImplSourceAutoImplData, ImplSourceBuiltinData, ImplSourceClosureData,
3434
ImplSourceDiscriminantKindData, ImplSourceFnPointerData, ImplSourceGeneratorData,
35-
ImplSourceImplData, ImplSourceObjectData, ImplSourceTraitAliasData,
35+
ImplSourceObjectData, ImplSourceTraitAliasData, ImplSourceUserDefinedData,
3636
};
3737
use crate::traits::{ObjectCastObligation, PredicateObligation, TraitObligation};
3838
use crate::traits::{Obligation, ObligationCause};
@@ -64,7 +64,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
6464
}
6565

6666
ImplCandidate(impl_def_id) => {
67-
Ok(ImplSourceImpl(self.confirm_impl_candidate(obligation, impl_def_id)))
67+
Ok(ImplSourceUserDefined(self.confirm_impl_candidate(obligation, impl_def_id)))
6868
}
6969

7070
AutoImplCandidate(trait_def_id) => {
@@ -260,7 +260,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
260260
&mut self,
261261
obligation: &TraitObligation<'tcx>,
262262
impl_def_id: DefId,
263-
) -> ImplSourceImplData<'tcx, PredicateObligation<'tcx>> {
263+
) -> ImplSourceUserDefinedData<'tcx, PredicateObligation<'tcx>> {
264264
debug!("confirm_impl_candidate({:?},{:?})", obligation, impl_def_id);
265265

266266
// First, create the substitutions by matching the impl again,
@@ -288,7 +288,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
288288
cause: ObligationCause<'tcx>,
289289
recursion_depth: usize,
290290
param_env: ty::ParamEnv<'tcx>,
291-
) -> ImplSourceImplData<'tcx, PredicateObligation<'tcx>> {
291+
) -> ImplSourceUserDefinedData<'tcx, PredicateObligation<'tcx>> {
292292
debug!(
293293
"vtable_impl(impl_def_id={:?}, substs={:?}, recursion_depth={})",
294294
impl_def_id, substs, recursion_depth,
@@ -314,7 +314,7 @@ impl<'cx, 'tcx> SelectionContext<'cx, 'tcx> {
314314
// e.g., `impl<U: Tr, V: Iterator<Item=U>> Foo<<U as Tr>::T> for V`
315315
impl_obligations.append(&mut substs.obligations);
316316

317-
ImplSourceImplData { impl_def_id, substs: substs.value, nested: impl_obligations }
317+
ImplSourceUserDefinedData { impl_def_id, substs: substs.value, nested: impl_obligations }
318318
}
319319

320320
fn confirm_object_candidate(

src/librustc_ty/instance.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ fn resolve_associated_item<'tcx>(
8484
// Now that we know which impl is being used, we can dispatch to
8585
// the actual function:
8686
Ok(match vtbl {
87-
traits::ImplSourceImpl(impl_data) => {
87+
traits::ImplSourceUserDefined(impl_data) => {
8888
debug!(
89-
"resolving ImplSourceImpl: {:?}, {:?}, {:?}, {:?}",
89+
"resolving ImplSourceUserDefined: {:?}, {:?}, {:?}, {:?}",
9090
param_env, trait_item, rcvr_substs, impl_data
9191
);
9292
assert!(!rcvr_substs.needs_infer());

src/librustc_typeck/check/method/probe.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1303,7 +1303,7 @@ impl<'a, 'tcx> ProbeContext<'a, 'tcx> {
13031303
.at(&ObligationCause::dummy(), self.param_env)
13041304
.sup(candidate.xform_self_ty, self_ty);
13051305
match self.select_trait_candidate(trait_ref) {
1306-
Ok(Some(traits::ImplSource::ImplSourceImpl(ref impl_data))) => {
1306+
Ok(Some(traits::ImplSource::ImplSourceUserDefined(ref impl_data))) => {
13071307
// If only a single impl matches, make the error message point
13081308
// to that impl.
13091309
ImplSource(impl_data.impl_def_id)

0 commit comments

Comments
 (0)