From f8f5282e5c45db26ae4b4bed11b342dcb399b037 Mon Sep 17 00:00:00 2001 From: Mark Simulacrum Date: Sat, 15 Apr 2017 07:23:56 -0600 Subject: [PATCH] Remove MethodMatchResult and MethodMatchedData. These two enums were unused. --- src/librustc/traits/mod.rs | 2 -- src/librustc/traits/select.rs | 29 ----------------------------- 2 files changed, 31 deletions(-) diff --git a/src/librustc/traits/mod.rs b/src/librustc/traits/mod.rs index ea243d65881..0ff379b30ff 100644 --- a/src/librustc/traits/mod.rs +++ b/src/librustc/traits/mod.rs @@ -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; diff --git a/src/librustc/traits/select.rs b/src/librustc/traits/select.rs index 410eb2b8484..70ddcff5181 100644 --- a/src/librustc/traits/select.rs +++ b/src/librustc/traits/select.rs @@ -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), - 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, - } - } -}