struct FlycheckActor {Show 14 fields
id: usize,
generation: usize,
sender: Sender<FlycheckMessage>,
config: FlycheckConfig,
config_json: FlycheckConfigJson,
manifest_path: Option<AbsPathBuf>,
ws_target_dir: Option<Utf8PathBuf>,
root: Arc<AbsPathBuf>,
sysroot_root: Option<AbsPathBuf>,
scope: FlycheckScope,
command_handle: Option<CommandHandle<CheckMessage>>,
command_receiver: Option<Receiver<CheckMessage>>,
diagnostics_cleared_for: FxHashSet<PackageSpecifier>,
diagnostics_received: DiagnosticsReceived,
}Expand description
A FlycheckActor is a single check instance of a workspace.
Fields§
§id: usizeThe workspace id of this flycheck instance.
generation: usize§sender: Sender<FlycheckMessage>§config: FlycheckConfig§config_json: FlycheckConfigJson§manifest_path: Option<AbsPathBuf>§ws_target_dir: Option<Utf8PathBuf>§root: Arc<AbsPathBuf>Either the workspace root of the workspace we are flychecking, or the project root of the project.
sysroot_root: Option<AbsPathBuf>§scope: FlycheckScope§command_handle: Option<CommandHandle<CheckMessage>>CargoHandle exists to wrap around the communication needed to be able to
run cargo check without blocking. Currently the Rust standard library
doesn’t provide a way to read sub-process output without blocking, so we
have to wrap sub-processes output handling in a thread and pass messages
back over a channel.
command_receiver: Option<Receiver<CheckMessage>>The receiver side of the channel mentioned above.
diagnostics_cleared_for: FxHashSet<PackageSpecifier>§diagnostics_received: DiagnosticsReceivedImplementations§
Source§impl FlycheckActor
impl FlycheckActor
fn new( id: usize, generation: usize, sender: Sender<FlycheckMessage>, config: FlycheckConfig, config_json: FlycheckConfigJson, sysroot_root: Option<AbsPathBuf>, workspace_root: AbsPathBuf, manifest_path: Option<AbsPathBuf>, ws_target_dir: Option<Utf8PathBuf>, ) -> FlycheckActor
fn report_progress(&self, progress: Progress)
fn next_event(&self, inbox: &Receiver<StateChange>) -> Option<Event>
fn run(self, inbox: Receiver<StateChange>)
fn cancel_check_process(&mut self)
fn clear_diagnostics_state(&mut self)
fn explicit_check_command( &self, scope: &FlycheckScope, saved_file: Option<&AbsPath>, ) -> Option<Command>
Sourcefn check_command(
&self,
scope: &FlycheckScope,
saved_file: Option<&AbsPath>,
target: Option<Target>,
) -> Option<(Command, FlycheckCommandOrigin)>
fn check_command( &self, scope: &FlycheckScope, saved_file: Option<&AbsPath>, target: Option<Target>, ) -> Option<(Command, FlycheckCommandOrigin)>
Construct a Command object for checking the user’s code. If the user
has specified a custom command with placeholders that we cannot fill,
return None.
fn send(&self, check_task: FlycheckMessage)
Auto Trait Implementations§
impl Freeze for FlycheckActor
impl !RefUnwindSafe for FlycheckActor
impl Send for FlycheckActor
impl Sync for FlycheckActor
impl Unpin for FlycheckActor
impl UnsafeUnpin for FlycheckActor
impl !UnwindSafe for FlycheckActor
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
Mutably borrows from an owned value. Read more
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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