pub enum FrameResolution {
Resolved,
Ambiguous,
NotFound,
NotAttempted,
}Expand description
What the project graph could say about a frame’s identifier.
not_attempted is not a softer not_found: it records that the graph was
never consulted, because the frame does not point at project source. Keeping
them apart is what lets resolved + ambiguous + not_found + not_attempted
equal the frame count without any of the four lying about what it measured.
Variants§
Resolved
Exactly one definition matched. candidates holds that one entry.
Ambiguous
More than one definition matched. Every match is listed and none is preferred; the caller decides, or narrows the question.
NotFound
The graph was asked and knows no definition under this identifier. A module-local function is not in the graph’s definition set, so this is also the answer for a frame naming one.
NotAttempted
The graph was not asked. Either the frame does not point at project
source, or it points at project source but carries nothing addressable
to ask about: no printed function name, or a placeholder such as
Object.<anonymous>. reason names which case applies, so this is
never a silent shrug.
Implementations§
Trait Implementations§
Source§impl Clone for FrameResolution
impl Clone for FrameResolution
impl Copy for FrameResolution
Source§impl Debug for FrameResolution
impl Debug for FrameResolution
impl Eq for FrameResolution
Source§impl PartialEq for FrameResolution
impl PartialEq for FrameResolution
Source§impl Serialize for FrameResolution
impl Serialize for FrameResolution
impl StructuralPartialEq for FrameResolution
Auto Trait Implementations§
impl Freeze for FrameResolution
impl RefUnwindSafe for FrameResolution
impl Send for FrameResolution
impl Sync for FrameResolution
impl Unpin for FrameResolution
impl UnsafeUnpin for FrameResolution
impl UnwindSafe for FrameResolution
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.