pub struct IssueRegistry { /* private fields */ }Expand description
Central in-memory store for all IDE issues.
All mutations are performed through the pub(crate) methods called by
apply_operation in app.rs. After each successful mutation a
corresponding IssueAdded / IssueRemoved / IssueUpdated operation is
enqueued by the caller so views can react.
Implementations§
Source§impl IssueRegistry
impl IssueRegistry
Sourcepub fn add_issue(&mut self, new: NewIssue) -> IssueId
pub fn add_issue(&mut self, new: NewIssue) -> IssueId
Add a new issue and return its IssueId.
Typically called by apply_operation(Operation::AddIssue { .. }),
which also enqueues Operation::IssueAdded { id } so views can react.
For direct use (e.g., integration tests), the IssueAdded event is not
emitted automatically — callers must notify views if needed.
Sourcepub fn list_by_file(&self, path: &Path) -> Vec<&Issue>
pub fn list_by_file(&self, path: &Path) -> Vec<&Issue>
Issues for a specific file, sorted by ascending ID.
Sourcepub fn list_by_severity(&self, severity: Severity) -> Vec<&Issue>
pub fn list_by_severity(&self, severity: Severity) -> Vec<&Issue>
Issues with a specific severity, sorted by ascending ID.
Sourcepub fn list_persistent(&self) -> Vec<Issue>
pub fn list_persistent(&self) -> Vec<Issue>
Cloned snapshot of all persistent issues (marker: None), sorted
by ascending ID.
Used by the Persistent Component to build a save snapshot after any mutation that affects a persistent issue.
Trait Implementations§
Source§impl Debug for IssueRegistry
impl Debug for IssueRegistry
Auto Trait Implementations§
impl Freeze for IssueRegistry
impl RefUnwindSafe for IssueRegistry
impl Send for IssueRegistry
impl Sync for IssueRegistry
impl Unpin for IssueRegistry
impl UnsafeUnpin for IssueRegistry
impl UnwindSafe for IssueRegistry
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more