Auto merge of #41320 - Mark-Simulacrum:cleanup-methodmatch, r=arielb1
Remove MethodMatchResult and MethodMatchedData. These two enums were unused. Fixes #41318. r? @nikomatsakis
This commit is contained in:
commit
13fd5e93de
@ -38,8 +38,6 @@ pub use self::project::{ProjectionCache, ProjectionCacheSnapshot, Reveal};
|
||||
pub use self::object_safety::ObjectSafetyViolation;
|
||||
pub use self::object_safety::MethodViolationCode;
|
||||
pub use self::select::{EvaluationCache, SelectionContext, SelectionCache};
|
||||
pub use self::select::{MethodMatchResult, MethodMatched, MethodAmbiguous, MethodDidNotMatch};
|
||||
pub use self::select::{MethodMatchedData}; // intentionally don't export variants
|
||||
pub use self::specialize::{OverlapError, specialization_graph, specializes, translate_substs};
|
||||
pub use self::specialize::{SpecializesCache, find_associated_item};
|
||||
pub use self::util::elaborate_predicates;
|
||||
|
@ -10,8 +10,6 @@
|
||||
|
||||
//! See `README.md` for high-level documentation
|
||||
|
||||
pub use self::MethodMatchResult::*;
|
||||
pub use self::MethodMatchedData::*;
|
||||
use self::SelectionCandidate::*;
|
||||
use self::EvaluationResult::*;
|
||||
|
||||
@ -110,23 +108,6 @@ pub struct SelectionCache<'tcx> {
|
||||
SelectionResult<'tcx, SelectionCandidate<'tcx>>>>,
|
||||
}
|
||||
|
||||
pub enum MethodMatchResult {
|
||||
MethodMatched(MethodMatchedData),
|
||||
MethodAmbiguous(/* list of impls that could apply */ Vec<DefId>),
|
||||
MethodDidNotMatch,
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone, Debug)]
|
||||
pub enum MethodMatchedData {
|
||||
// In the case of a precise match, we don't really need to store
|
||||
// how the match was found. So don't.
|
||||
PreciseMethodMatch,
|
||||
|
||||
// In the case of a coercion, we need to know the precise impl so
|
||||
// that we can determine the type to which things were coerced.
|
||||
CoerciveMethodMatch(/* impl we matched */ DefId)
|
||||
}
|
||||
|
||||
/// The selection process begins by considering all impls, where
|
||||
/// clauses, and so forth that might resolve an obligation. Sometimes
|
||||
/// we'll be able to say definitively that (e.g.) an impl does not
|
||||
@ -2982,13 +2963,3 @@ impl EvaluationResult {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl MethodMatchResult {
|
||||
pub fn may_apply(&self) -> bool {
|
||||
match *self {
|
||||
MethodMatched(_) => true,
|
||||
MethodAmbiguous(_) => true,
|
||||
MethodDidNotMatch => false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user