Skip to main content

GlobalResponse

Enum GlobalResponse 

Source
pub enum GlobalResponse {
Show 171 variants ThreadExited, WithDeadline(Duration, Box<GlobalResponse>), Granted(Box<GlobalResponse>), RequestResources(ResumeStatus), ParkedRequest(ResourceReply), ResumeParkedRequest(ResourceReply), FinishParkedObservation(Result<FinishAck, ProtocolFailure>), SignalDequeued { ack: Result<DequeueAck, TimerFailure>, terminal: bool, }, ReleaseResources(()), ReleaseAllResources(()), ReportUnsupportedSyscall(()), AnnounceSignalHandlerNotInstalled(()), PolicyRefusal(()), PrepareExec(()), CancelExec(()), ReconnectExec(bool), ResumeExec(ResumeStatus, Option<LogicalTime>), RetireExec(bool), MarkPastFirstExecve(Box<ExecFdState>), CreateChildThread(Option<MmId>), StartNewThread(Option<ThreadHistory>), DeregisterThread(()), SetChildTidAddress(()), SetSavedGuestSigmask(()), PublishedGuestSigmask(Option<u64>), SetSigtimedwaitSet(()), OwnProcessSignalInputs(OwnProcessSignalInputs), ProcessSignalReceiver(ProcessSignalReceiver), ProcessSignalSent(()), OwnProcessSignalChoice(()), RecordGuestMarkerSignal(()), FutexAction(Option<SchedValue>), DeterminizeInode((DetInode, LogicalTime)), DeterminizeMappingInodes(Vec<DetInode>), DeterminizeDevice(u64), DeterminizeMountId(Option<u64>), ResolveMountinfoIds(Option<Vec<u64>>), RetireInode(()), ForgetRetiredInode(()), DirectorySnapshotMark(SnapshotMark), ReadyChannel(ReadyOutcome), HandOffTurn(bool), CommitFatalDelivery(bool), TouchFile(()), SetFileMtime(()), GlobalTimeLowerBound(LogicalTime), TraceSchedEvent(TraceSchedEventResponse), RegisterAlarm((LogicalTime, LogicalTime)), RegisterPosixTimer(()), ReadyChildWait((Option<DetPid>, bool)), ConsumeChildWait(bool), ProcessGroup(Option<DetPid>), SetProcessGroup(bool), CreateSession(bool), AlarmRemaining(ItimerSnapshot), ReconcileAlarm, NoteGuestSigalrm, ResolveKillTargets(Vec<DetTid>, Option<bool>), NamesHermitTask(bool), NotifySignalPending(()), HoldTurnForGroupExit(bool), NotifyUnresolvedSigkill(()), ThreadIsLive(bool), PendingRealTimeExpirations(u64), DiscardPendingRealTimeExpirations(()), RegisterSignalfd(()), RecordHandlerRestoreMask(()), ExactChildWaitState(ExactChildWaitState), UnrecoverableShutdown(()), RequestPort(u16), AddUsedPort, ReleasePort(Option<u16>), PortFull, RobustListWakes(Vec<u64>), Network(Result<NetworkReply, NetworkEngineError>), RecordHostInput(()), RecordHostMutation(()), HostTimedSignals(u64), SharedOpenFile(Result<OpenFileControlReply, SharedOpenFileError>), Sigalrm(bool), ChildExitSigchld(ChildExitSigchldAnswer), RecordDeterminismLoss(()), SetChildSubreaper(()), RegisteredProcessOf(Option<DetPid>), SetSigchldDisposition(()), SignalTargetProcess(Option<DetPid>), ReserveSigkill(Option<SigkillReservation>), CommitSigkill(()), Retired, PosixTimerThread(PosixTimerThread), ForgetThreadTimerCopies(()), GuestPid(GuestPidAnswer), LocalPid(Result<Option<i32>, String>), ExecTimerFlush(Result<ExecTimerFlush, String>), RetireExitedLeader(bool), DiscardedSignal(DiscardedSignalAnswer), DescriptorsReplaced(()), ThreadIdRefused(bool), ProcfsListing(ListingFacts), ParentDeathSignal(i32), PrepareNativeExec(Result<ExecTicket, ExecControlError>), SealNativeExecStats(Result<[u8; 32], ExecControlError>), IssueNativeExec(Result<(), ExecControlError>), CancelNativeExec(Result<(), ExecControlError>), CompleteNativeExec(Result<(), ExecControlError>), NamesARetiredExitedLeader(bool), ProcfsIds(Vec<Option<i32>>), GroupOrSession(Option<DetPid>), SetsidDecision(Result<(), i32>), SetpgidDecision(Result<(DetPid, DetPid), i32>), ProcessImage(Option<Box<ExecRecord>>), ProcfsTask(ProcfsTaskAnswer), RenderedFileState(RenderedFileState), PublishSignalDispositions(Option<PublicationAnswer>), GuestLog(()), PublishSignalMask(bool), RecordProcessAuxv(()), ProcessAuxv(Option<ProcessAuxv>), AuxvFromKernel(bool), AnnounceRefusedSignalControls(()), CheckBrkMappings(Option<bool>), PublishRuntimePrivateMemory(bool), MarkChangedRoot(()), RootChanged(bool), DescriptionLocks(()), TableReleased(()), GuestLockRows(Result<Vec<bool>, String>), TableExec(()), AliasedInode(()), HostTimedAndPrivateSigchld(u64, u64), LockLedgerRefused(()), MappingCapture(Reply), WithSliceBoundaryBudget(Budget, Box<GlobalResponse>), WithSliceBoundaryOwner(Owner, Box<GlobalResponse>), WithSliceBoundaryStack(Option<PathBuf>, Box<GlobalResponse>), ProcessCmdline(DetPid, Option<CmdlineArea>), KernelRunTarget(Option<KernelRunBlock>), WithCallbackHistory(Startup, Box<GlobalResponse>), CallbackCheckpointMismatch(()), TaskStatFacts(TaskStatFacts), SetTaskComm(()), RecordExternalParent(()), SetRssLimit(()), GuestSigmaskForStatus(StatusGuestMask), PublishTemporaryMask(Option<CommittedSendWindow>), InPidNamespaceInit(bool), VirtualInotifyCookies(Vec<u32>), RegisterPlaceholder(Option<u64>), Placeholder(Option<(PlaceholderDirectory, OpenFileId)>), PlaceholderFlock(PlaceholderFlockOutcome), PlaceholderWriteHint(u64), PlaceholderCopies(Result<(), OpenFileId>), CpuAffinity(TaskAffinity), WithLoneGrant(Box<GlobalResponse>), SigkillDyingThreads(Vec<(DetTid, MmId)>), RecordSigkillRobustLists(()), TakeSigkillRobustList(Option<RobustListSnapshot>), NextGuestId(Option<i32>), GaveHostId(()), ReplayDeparture(Result<(), Refusal>), DescriptionLocksTaken(()), LockOwners(Result<Vec<i64>, String>), LedgerLockRows(Result<Vec<(HeldLock, i64)>, String>), SecondIdentityLocks(()), HoldTable(Result<(), String>), RecordLocksHeldAsOfd(()), HostDiskstats(Result<Vec<u8>, i32>), UserNamespaceRelation(UserNamespaceRelation, bool), UserNamespaceOwnerMayDiffer(()), ProcfsSequence(Option<ProcfsSequence>), StoreProcfsSequence(()),
}
Expand description

Existing full response wire type; neutral native responses carry no clock. Responses from the global object

Variants§

§

ThreadExited

The scheduler permanently removed this raw TID. Guest-side RPC handling retires this task without cancelling a live group-exit issuer or resuming the operation.

§

WithDeadline(Duration, Box<GlobalResponse>)

A reply, with the virtual time that remained before the earliest pending deadline when the thread was granted the turn it resumes, or armed a timer (Scheduler::deadline_remaining_from). Unwrapped by send_and_update_time, which caps the thread’s slice there.

§

Granted(Box<GlobalResponse>)

A reply to a request while which the thread was granted a turn (Scheduler::take_grant): other threads may have run since it was sent. Unwrapped by send_and_update_time, which notes the hand-off (ThreadState::note_scheduler_handoff).

§

RequestResources(ResumeStatus)

§

ParkedRequest(ResourceReply)

§

ResumeParkedRequest(ResourceReply)

§

FinishParkedObservation(Result<FinishAck, ProtocolFailure>)

§

SignalDequeued

Fields

§ack: Result<DequeueAck, TimerFailure>
§terminal: bool
§

ReleaseResources(())

§

ReleaseAllResources(())

§

ReportUnsupportedSyscall(())

§

AnnounceSignalHandlerNotInstalled(())

§

PolicyRefusal(())

§

PrepareExec(())

§

CancelExec(())

§

ReconnectExec(bool)

§

ResumeExec(ResumeStatus, Option<LogicalTime>)

§

RetireExec(bool)

§

MarkPastFirstExecve(Box<ExecFdState>)

§

CreateChildThread(Option<MmId>)

§

StartNewThread(Option<ThreadHistory>)

Includes optional preemption points for the new thread.

§

DeregisterThread(())

§

SetChildTidAddress(())

§

SetSavedGuestSigmask(())

§

PublishedGuestSigmask(Option<u64>)

§

SetSigtimedwaitSet(())

§

OwnProcessSignalInputs(OwnProcessSignalInputs)

§

ProcessSignalReceiver(ProcessSignalReceiver)

§

ProcessSignalSent(())

§

OwnProcessSignalChoice(())

§

RecordGuestMarkerSignal(())

§

FutexAction(Option<SchedValue>)

§

DeterminizeInode((DetInode, LogicalTime))

Return the mtime as well:

§

DeterminizeMappingInodes(Vec<DetInode>)

§

DeterminizeDevice(u64)

§

DeterminizeMountId(Option<u64>)

§

ResolveMountinfoIds(Option<Vec<u64>>)

§

RetireInode(())

§

ForgetRetiredInode(())

§

DirectorySnapshotMark(SnapshotMark)

§

ReadyChannel(ReadyOutcome)

§

HandOffTurn(bool)

§

CommitFatalDelivery(bool)

Whether the process’s other threads were retired.

§

TouchFile(())

§

SetFileMtime(())

§

GlobalTimeLowerBound(LogicalTime)

§

TraceSchedEvent(TraceSchedEventResponse)

§

RegisterAlarm((LogicalTime, LogicalTime))

§

RegisterPosixTimer(())

§

ReadyChildWait((Option<DetPid>, bool))

§

ConsumeChildWait(bool)

§

ProcessGroup(Option<DetPid>)

§

SetProcessGroup(bool)

§

CreateSession(bool)

§

AlarmRemaining(ItimerSnapshot)

§

ReconcileAlarm

§

NoteGuestSigalrm

§

ResolveKillTargets(Vec<DetTid>, Option<bool>)

§

NamesHermitTask(bool)

§

NotifySignalPending(())

§

HoldTurnForGroupExit(bool)

§

NotifyUnresolvedSigkill(())

§

ThreadIsLive(bool)

§

PendingRealTimeExpirations(u64)

§

DiscardPendingRealTimeExpirations(())

§

RegisterSignalfd(())

§

RecordHandlerRestoreMask(())

§

ExactChildWaitState(ExactChildWaitState)

§

UnrecoverableShutdown(())

§

RequestPort(u16)

§

AddUsedPort

§

ReleasePort(Option<u16>)

§

PortFull

§

RobustListWakes(Vec<u64>)

§

Network(Result<NetworkReply, NetworkEngineError>)

§

RecordHostInput(())

Appended at the end, so that adding it left every earlier variant’s tag unchanged.

§

RecordHostMutation(())

Appended at the end, so that adding it left every earlier variant’s tag unchanged.

§

HostTimedSignals(u64)

Appended after RecordHostMutation, so that adding it left every earlier variant’s tag unchanged.

§

SharedOpenFile(Result<OpenFileControlReply, SharedOpenFileError>)

Appended after HostTimedSignals, for the same reason.

§

Sigalrm(bool)

Whether the SIGALRM ledger refused the control message. Appended after SharedOpenFile, for the same reason.

§

ChildExitSigchld(ChildExitSigchldAnswer)

§

RecordDeterminismLoss(())

Appended after ChildExitSigchld, for the same reason.

§

SetChildSubreaper(())

Appended after RecordDeterminismLoss, for the same reason.

§

RegisteredProcessOf(Option<DetPid>)

Appended after SetChildSubreaper, for the same reason.

§

SetSigchldDisposition(())

Appended after RegisteredProcessOf, for the same reason.

§

SignalTargetProcess(Option<DetPid>)

Appended after SetSigchldDisposition, for the same reason.

§

ReserveSigkill(Option<SigkillReservation>)

The reservation token, or none when the send keeps the ordinary path. Appended after RegisteredProcessOf, for the same reason.

§

CommitSigkill(())

Appended after ReserveSigkill, for the same reason.

§

Retired

The sender is a committed SIGKILL victim (Scheduler::is_unaccounted_sigkill_victim): its request is never answered, and the client waits for the kernel to end it. Unlike ThreadExited, it never tail-injects an exit. Appended after CommitSigkill, for the same reason.

§

PosixTimerThread(PosixTimerThread)

Appended after Retired, for the same reason.

§

ForgetThreadTimerCopies(())

Appended after PosixTimerThread, for the same reason.

§

GuestPid(GuestPidAnswer)

Appended after Retired, for the same reason.

§

LocalPid(Result<Option<i32>, String>)

Appended after GuestPid, for the same reason.

§

ExecTimerFlush(Result<ExecTimerFlush, String>)

Appended after LocalPid, for the same reason.

§

RetireExitedLeader(bool)

Appended after ExecTimerFlush, for the same reason.

§

DiscardedSignal(DiscardedSignalAnswer)

Appended after RetireExitedLeader, for the same reason.

§

DescriptorsReplaced(())

Appended after DiscardedSignal, for the same reason.

§

ThreadIdRefused(bool)

Appended after DescriptorsReplaced, for the same reason.

§

ProcfsListing(ListingFacts)

Appended after ThreadIdRefused, for the same reason.

§

ParentDeathSignal(i32)

Appended after ProcfsListing, for the same reason.

§

PrepareNativeExec(Result<ExecTicket, ExecControlError>)

Exact native responses, appended without changing existing wire tags.

§

SealNativeExecStats(Result<[u8; 32], ExecControlError>)

§

IssueNativeExec(Result<(), ExecControlError>)

§

CancelNativeExec(Result<(), ExecControlError>)

§

CompleteNativeExec(Result<(), ExecControlError>)

§

NamesARetiredExitedLeader(bool)

Appended last, for the same reason.

§

ProcfsIds(Vec<Option<i32>>)

Appended last, for the same reason.

§

GroupOrSession(Option<DetPid>)

Appended last, for the same reason.

§

SetsidDecision(Result<(), i32>)

Appended last; the error is an errno.

§

SetpgidDecision(Result<(DetPid, DetPid), i32>)

The process to move and its new group; the error is an errno. Appended last.

§

ProcessImage(Option<Box<ExecRecord>>)

Boxed, to keep the response small. Appended last.

§

ProcfsTask(ProcfsTaskAnswer)

Appended last.

§

RenderedFileState(RenderedFileState)

Appended last.

§

PublishSignalDispositions(Option<PublicationAnswer>)

The generation the scheduler holds for the sender’s process afterwards and whether this publication is what it holds (Scheduler::publish_signal_dispositions), or None when it took nothing from this sender. Appended last.

§

GuestLog(())

Appended last.

§

PublishSignalMask(bool)

Whether the scheduler took the mask (it takes nothing from a thread it does not know). Appended last.

§

RecordProcessAuxv(())

Appended last.

§

ProcessAuxv(Option<ProcessAuxv>)

Appended last.

§

AuxvFromKernel(bool)

Whether this is the run’s first. Appended last.

§

AnnounceRefusedSignalControls(())

Appended last.

§

CheckBrkMappings(Option<bool>)

None means the capture authority or mappings were unavailable. Appended last; this response owns no allocated storage.

§

PublishRuntimePrivateMemory(bool)

Current image ownership publication was accepted. Appended last.

§

MarkChangedRoot(())

Appended last.

§

RootChanged(bool)

Whether the root changed. Appended last.

§

DescriptionLocks(())

Appended last.

§

TableReleased(())

Appended last.

§

GuestLockRows(Result<Vec<bool>, String>)

One answer per row, in row order, or, while a referenced description’s locks are unknown, why. Appended last.

§

TableExec(())

Appended last.

§

AliasedInode(())

Appended last.

§

HostTimedAndPrivateSigchld(u64, u64)

The host-timed signals, then the recorded private SIGCHLD. Appended last.

§

LockLedgerRefused(())

Appended last.

§

MappingCapture(Reply)

Appended mapping capture response.

§

WithSliceBoundaryBudget(Budget, Box<GlobalResponse>)

Typed expectation delivered by the existing grant, appended without renumbering any legacy wire variant. Not a new resource request.

§

WithSliceBoundaryOwner(Owner, Box<GlobalResponse>)

Actual lifecycle identity on the existing grant, not an expectation from replay. Appended without renumbering existing wire variants.

§

WithSliceBoundaryStack(Option<PathBuf>, Box<GlobalResponse>)

Stored-index stack request returned on the annotated operation’s own response, without a mailbox another concurrent RPC could consume.

§

ProcessCmdline(DetPid, Option<CmdlineArea>)

The process, and its areas if Detcore recorded them. Appended last.

§

KernelRunTarget(Option<KernelRunBlock>)

The answer to GlobalRequest::KernelRunTarget. Appended last.

§

WithCallbackHistory(Startup, Box<GlobalResponse>)

Legacy callback metadata on the original thread-start response. Appended without changing existing wire tags or ThreadHistory’s positional layout.

§

CallbackCheckpointMismatch(())

A mismatch report acknowledges no scheduler grant and carries no time.

§

TaskStatFacts(TaskStatFacts)

The answer to GlobalRequest::TaskStatFacts. Appended last.

§

SetTaskComm(())

Appended last.

§

RecordExternalParent(())

Appended last.

§

SetRssLimit(())

Appended last.

§

GuestSigmaskForStatus(StatusGuestMask)

The answer to GlobalRequest::PublishedGuestSigmask under Config::in_guest_signal_delivery (A5 step 3c.1e A): the published mask, tri-state (IR-18), and D37’s held masks of a temporary-mask publication in force (Scheduler::status_guest_mask). With the gate off the query is answered with PublishedGuestSigmask, as before. Appended last.

§

PublishTemporaryMask(Option<CommittedSendWindow>)

The answer to GlobalRequest::PublishTemporaryMask: for a withdrawal of a publication in force, the sends committed to the thread while it was (the committed-send window record); None otherwise. Appended last.

§

InPidNamespaceInit(bool)

The answer to GlobalRequest::InPidNamespaceInit. Appended last.

§

VirtualInotifyCookies(Vec<u32>)

The answer to GlobalRequest::VirtualInotifyCookies: one virtual cookie per host cookie, in order. Appended last.

§

RegisterPlaceholder(Option<u64>)

The answer to GlobalRequest::RegisterPlaceholder: the tag, if one was left. Appended last.

§

Placeholder(Option<(PlaceholderDirectory, OpenFileId)>)

The answer to GlobalRequest::Placeholder: the directory and the open file description it was opened in. Appended last.

§

PlaceholderFlock(PlaceholderFlockOutcome)

The answer to GlobalRequest::PlaceholderFlock. Appended last.

§

PlaceholderWriteHint(u64)

The answer to GlobalRequest::PlaceholderWriteHint: the inode’s write hint after the request. Appended last.

§

PlaceholderCopies(Result<(), OpenFileId>)

The answer to GlobalRequest::PlaceholderCopies: a send’s locked description, if any. Appended last.

§

CpuAffinity(TaskAffinity)

The answer to GlobalRequest::CpuAffinity and GlobalRequest::SetCpuAffinity. Appended last.

§

WithLoneGrant(Box<GlobalResponse>)

A granted reply whose grant found the thread the only one able to run before it next enters Detcore (Scheduler::take_lone_grant). Outermost; unwrapped first by send_and_update_time, which records it in ThreadState::lone_grant. Appended last.

§

SigkillDyingThreads(Vec<(DetTid, MmId)>)

The answer to GlobalRequest::SigkillDyingThreads: each thread and its address space, in tid order. Appended last.

§

RecordSigkillRobustLists(())

Appended last.

§

TakeSigkillRobustList(Option<RobustListSnapshot>)

The answer to GlobalRequest::TakeSigkillRobustList. Appended last.

§

NextGuestId(Option<i32>)

The answer to GlobalRequest::NextGuestId: the ID taken, or None when the kernel numbers the guest or no positive ID remains. Appended last.

§

GaveHostId(())

The answer to GlobalRequest::GaveHostId. Appended last.

§

ReplayDeparture(Result<(), Refusal>)

An accepted finding or named refusal. Never carries a clock or grant. Appended last; this is not a forwarding-health certificate.

§

DescriptionLocksTaken(())

Appended last.

§

LockOwners(Result<Vec<i64>, String>)

One owner per lock asked about, in order, or why the locks cannot be shown (procfs::locks::LockLedger::record_lock_held_as_ofd). Appended last.

§

LedgerLockRows(Result<Vec<(HeldLock, i64)>, String>)

The rows and their owners, or, while a referenced description’s locks are unknown, why no snapshot can be decided. Appended last.

§

SecondIdentityLocks(())

Appended last.

§

HoldTable(Result<(), String>)

The table is held, or why it cannot be: it reached the global state through a transport that encodes requests, which carries no table (HeldTable). Appended last.

§

RecordLocksHeldAsOfd(())

Appended last.

§

HostDiskstats(Result<Vec<u8>, i32>)

The answer to GlobalRequest::HostDiskstats: the file’s bytes, or the errno of the coordinator’s read of it. Appended last.

§

UserNamespaceRelation(UserNamespaceRelation, bool)

The answer to GlobalRequest::UserNamespaceRelation. Appended last.

§

UserNamespaceOwnerMayDiffer(())

The answer to GlobalRequest::UserNamespaceOwnerMayDiffer. Appended last.

§

ProcfsSequence(Option<ProcfsSequence>)

The answer to GlobalRequest::ProcfsSequence. Appended last.

§

StoreProcfsSequence(())

The answer to GlobalRequest::StoreProcfsSequence. Appended last.

Trait Implementations§

Source§

impl Clone for GlobalResponse

Source§

fn clone(&self) -> GlobalResponse

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GlobalResponse

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for GlobalResponse

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for GlobalResponse

Source§

impl PartialEq for GlobalResponse

Source§

fn eq(&self, other: &GlobalResponse) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for GlobalResponse

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for GlobalResponse

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Paint for T
where T: ?Sized,

§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling [Attribute] value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi [Quirk] value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1:

renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the [Condition] value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new [Painted] with a default [Style]. Read more
§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more