pub struct ViewCx<R: Resource, T: 'static = <R as Resource>::State> { /* private fields */ }Expand description
Everything a view needs: reads of the resource state, bindings of controls to actions, local state, and custom surfaces.
T is what this scope reads — the resource state at the root, one item in
a row built by ViewCx::each.
Implementations§
Source§impl<R: Resource, T: 'static> ViewCx<R, T>
impl<R: Resource, T: 'static> ViewCx<R, T>
Sourcepub fn record<P: Resource>(
&self,
record: &impl OtherRecord<P>,
part: impl FnOnce(&mut ViewCx<P>) -> Element,
) -> Option<Element>
pub fn record<P: Resource>( &self, record: &impl OtherRecord<P>, part: impl FnOnce(&mut ViewCx<P>) -> Element, ) -> Option<Element>
A part of the view over another record than the app’s own — the
person’s own record (RecordEnv::person), a settings section
(RecordEnv::settings) — built like a view of that record: its
controls bind the record’s paths
(cx.checkbox("high-contrast", Appearance::paths().high_contrast))
and verbs, its edits go to that record as the person, recorded in its
history, and the part follows every change of it. None where the
record cannot be held (a view of a past version).
Source§impl<R: Resource, T: 'static> ViewCx<R, T>
impl<R: Resource, T: 'static> ViewCx<R, T>
Sourcepub fn permission_state(&self, need: ActionNeed) -> LocalState<bool>
pub fn permission_state(&self, need: ActionNeed) -> LocalState<bool>
Observe what this participant may do, without storing their role in
the shared resource. Use this with Self::switch for an owner-only
pane, or with a bound widget for a permission-specific label. Changes
follow the host even when the document and write access stay unchanged.
This controls presentation; the action door remains the authority.
Sourcepub fn govern_state(&self) -> LocalState<bool>
pub fn govern_state(&self) -> LocalState<bool>
Whether this participant may govern the room, observed: for an
owner-only pane with Self::switch.
Sourcepub fn read_only_state(&self) -> LocalState<bool>
pub fn read_only_state(&self) -> LocalState<bool>
Whether this participant may only view, as state that follows role changes while the app runs.
Sourcepub fn history(&self, last: usize) -> LocalState<Vec<HistoryVersion>>
pub fn history(&self, last: usize) -> LocalState<Vec<HistoryVersion>>
The resource’s last last versions, oldest first, kept current as
the document moves: an in-app history list of what was done and by
whom, each version addressable by the undo, restore and
checkpoint actions every app publishes.
Sourcepub fn read<V>(&self, read: impl FnOnce(Option<&T>) -> V) -> V
pub fn read<V>(&self, read: impl FnOnce(Option<&T>) -> V) -> V
Read the scope’s value now (at build time). For values that must
follow the resource, use a binding such as Self::text.
Sourcepub fn local<V: Send + Sync + 'static>(&self, initial: V) -> LocalState<V>
pub fn local<V: Send + Sync + 'static>(&self, initial: V) -> LocalState<V>
Typed process-local view state: never persisted, shared or undone.
Sourcepub fn on_open<O: Outcome>(&self, open: impl FnMut(&str) -> O + 'static)
pub fn on_open<O: Outcome>(&self, open: impl FnMut(&str) -> O + 'static)
Show the item a search hit opens: open runs with the hit’s anchor
(a SearchEntry’s anchor) when the
person picks the hit, or when an agent invokes the resource’s open
action. Select the item, switch to its page, scroll it into view:
set the LocalStates that show it, as the person’s own input would.
open may refuse an anchor it cannot show (a row that is gone) by
returning Err; the person or agent is told why.
Sourcepub fn on_open_item(
&self,
open: impl FnMut(&Id) -> Result<(), Refusal> + 'static,
)
pub fn on_open_item( &self, open: impl FnMut(&Id) -> Result<(), Refusal> + 'static, )
Show the item of the resource a search hit or an agent’s open
names: open runs with its id, and refuses one it cannot show (an
item that no longer exists), which the person or agent is told.
Anchors that name no item of the resource are refused for it.
Sourcepub fn open_search(&self, request: &SearchRequest)
pub fn open_search(&self, request: &SearchRequest)
Open the platform search with request, narrowed to this app or one
part of it. Usually a control does this (Self::search_button); a
custom handler calls Dispatcher::open_search on its dispatcher.
The search launcher for this view’s chrome: an icon button that opens
the platform search with request. Apps never draw a search field.
Sourcepub fn on_stage(&self, stage: impl FnMut(Option<&str>) + 'static)
pub fn on_stage(&self, stage: impl FnMut(Option<&str>) + 'static)
Stage view state for a screenshot scenario: stage runs with the
scenario’s name (None for a plain --shots) after the scenario’s
actions applied and were laid out, and before the frame is captured.
Set the LocalStates a scenario shows — a selection, an open
dialog — the way the user’s input would. It never runs in a live
window.
Sourcepub fn text(&self, read: impl Fn(&T) -> String + 'static) -> Text
pub fn text(&self, read: impl Fn(&T) -> String + 'static) -> Text
Text that always shows read of the resource.
A button that submits one fully specified action: a verb with its
arguments (Snippets::NEW_SNIPPET.with(..)), a field edit
(p.favorite.set(true)) or a form (Form::submit).
Sourcepub fn form<P: Params<Resource = R>>(&self) -> Form<P>
pub fn form<P: Params<Resource = R>>(&self) -> Form<P>
The form of the verb whose parameters are P
(cx.form::<bookmarks::Add>()): local values, never synced or
undone, that controls bind to with the parameters’ paths
(cx.input(form.paths().url)) and a button submits as one
invocation (cx.button("bookmarks-add", form.submit())). The same
form is answered for P everywhere in this scope.
Sourcepub fn input<M>(&self, field: impl Bindable<R, String, M>) -> TextInput
pub fn input<M>(&self, field: impl Bindable<R, String, M>) -> TextInput
A text field for the text at field: a path into the record, whose
committed edits replace it (Path::replace; the keystrokes of one
word are one undo step), or into a form (Self::form).
Sourcepub fn checkbox<M>(
&self,
label: impl Into<LabelKey>,
field: impl Bindable<R, bool, M>,
) -> Checkbox
pub fn checkbox<M>( &self, label: impl Into<LabelKey>, field: impl Bindable<R, bool, M>, ) -> Checkbox
A checkbox for the flag at field, a path into the record or a form;
toggling sets it.
Sourcepub fn control<V, C, M>(
&self,
make: impl FnOnce(&LocalState<V>) -> C,
field: impl Bindable<R, V, M>,
) -> Cwhere
V: Settable + 'static,
C: ActionControl<V>,
pub fn control<V, C, M>(
&self,
make: impl FnOnce(&LocalState<V>) -> C,
field: impl Bindable<R, V, M>,
) -> Cwhere
V: Settable + 'static,
C: ActionControl<V>,
Any toolkit control for the value at field, a path into the record
or a form, setting it with each committed value:
cx.control(Slider::from_state, p.volume).
Sourcepub fn bind_declarations(
&self,
bind: impl Fn(&R::State) -> Vec<ActionDecl<R>> + 'static,
)
pub fn bind_declarations( &self, bind: impl Fn(&R::State) -> Vec<ActionDecl<R>> + 'static, )
Publish edits bound to this view’s local state — the folder shown,
the row selected — on the resource beside its declared actions, as
typed builders of its action: bind runs whenever the published
tree is read, with the current resource state, and reads the local
state it captured. Invoking one dispatches what it builds through the
same permission check, confirmation and undo as any other action. The
binding lasts as long as this view scope (a row’s ends with the row);
an id the resource already publishes keeps the resource’s action
unless the bound one refines it (tilo_resource::bind_declaration).
Sourcepub fn actions(&self) -> Actions<R>
pub fn actions(&self) -> Actions<R>
The resource’s published actions, for binding controls built outside the view function: the rows a table, list or tree creates on demand.
Sourcepub fn value<V>(&self, read: impl Fn(&T) -> V + 'static) -> LocalState<V>
pub fn value<V>(&self, read: impl Fn(&T) -> V + 'static) -> LocalState<V>
A value that follows read of the resource, for any toolkit control
built from a LocalState (Slider::from_state, Dropdown::from_state).
Sourcepub fn control_with<V, C>(
&self,
make: impl FnOnce(&LocalState<V>) -> C,
read: impl Fn(&T) -> V + 'static,
action: impl Binds<R, V>,
) -> C
pub fn control_with<V, C>( &self, make: impl FnOnce(&LocalState<V>) -> C, read: impl Fn(&T) -> V + 'static, action: impl Binds<R, V>, ) -> C
A toolkit control bound to a verb: it shows read of the resource and
invokes action with each committed value, for a value that is a
verb’s argument rather than a field
(cx.control_with(TextInput::from_state, |p| p.shape(&node), Project::SET_SHAPE.map(..))).
The control is disabled when the action is not published. A field of
the record is bound by its path instead (Self::input,
Self::checkbox, Self::control).
Sourcepub fn switch<K>(
&self,
key: &LocalState<K>,
part: impl Fn(&mut ViewCx<R, T>, &K) -> Element + 'static,
) -> Element
pub fn switch<K>( &self, key: &LocalState<K>, part: impl Fn(&mut ViewCx<R, T>, &K) -> Element + 'static, ) -> Element
A part of the view chosen by view-local state — the detail pane of the
selected item, the page of a wizard. The part is built again, with its
own bindings, whenever key changes; the previous one is dropped.
Sourcepub fn surface<S, E>(&self, surface: S) -> Elementwhere
S: ResourceSurface<R, E> + 'static,
E: Effect,
pub fn surface<S, E>(&self, surface: S) -> Elementwhere
S: ResourceSurface<R, E> + 'static,
E: Effect,
Host a custom widget or renderer that takes part through the
ResourceSurface contract, answering its effect vocabulary E
(none unless it implements ResourceSurface<R, E>).
Sourcepub fn effects<E: Effect>(
&self,
handle: impl FnMut(E, &mut EffectCx<R>) -> EffectAnswer + 'static,
) -> EffectsHandle
pub fn effects<E: Effect>( &self, handle: impl FnMut(E, &mut EffectCx<R>) -> EffectAnswer + 'static, ) -> EffectsHandle
Answer the effect vocabulary E — work with no document delta that a
button, the palette, an agent or a script invokes — with handle,
and publish E on the resource while this part of the view lives.
handle receives each invocation as a typed value. It finishes at
once (Effected::done) or starts a job
through the EffectCx (for an effect declared job); a job’s
completion runs on the UI thread and changes the document through the
context’s dispatcher. Handlers never run in History mode. Say which
effects are unavailable or relabelled right now with
EffectsHandle::status.
Sourcepub fn jobs(&self) -> Jobs<R>
pub fn jobs(&self) -> Jobs<R>
Jobs the view starts on its own, with nobody invoking an effect: a
fetch when what it shows changes. See Jobs.
A button that invokes one effect, through the same door (and the same confirmation, for a destructive one) as the palette.
Source§impl<R: Resource, T: Model + 'static> ViewCx<R, T>
impl<R: Resource, T: Model + 'static> ViewCx<R, T>
Sourcepub fn paths(&self) -> T::Paths<R>
pub fn paths(&self) -> T::Paths<R>
The typed paths of this scope’s value: the record’s fields at the
root, the item’s in a row of Self::each. Controls bind to them
(row.checkbox("snippets-favorite", p.favorite)) and edits are made
at them (p.favorite.set(true)).
§Panics
Panics inside a row of a collection Self::each could not find
among the fields of the value it was given.
Sourcepub fn each<I: Model + 'static>(
&self,
items: impl Fn(&T) -> &Collection<I> + 'static,
row: impl Fn(&mut ViewCx<R, I>) -> Element + 'static,
) -> Each<R>
pub fn each<I: Model + 'static>( &self, items: impl Fn(&T) -> &Collection<I> + 'static, row: impl Fn(&mut ViewCx<R, I>) -> Element + 'static, ) -> Each<R>
One row per item of a collection, kept in collection order:
cx.each(|snippets| &snippets.snippets, |row| ...). A row is built
once per item and retained while the item exists, so focus and caret
inside it survive other items changing; rows are added, removed and
moved only when the collection’s membership changes. In a row,
Self::paths are rooted at its item. A row’s context menu
(right-click, the Menu key or Shift+F10) offers the actions the
resource publishes on its item, with the item already bound.
Source§impl<R, T: 'static> ViewCx<R, T>
Binding controls to the record’s fields by path.
impl<R, T: 'static> ViewCx<R, T>
Binding controls to the record’s fields by path.
Sourcepub fn value_at<V>(&self, path: &Path<R, V>) -> LocalState<V>
pub fn value_at<V>(&self, path: &Path<R, V>) -> LocalState<V>
The value at path, as local state that follows it: for any toolkit
control built from a LocalState, or a part of the view that shows
it. It is read again only after changes that touched it.
Sourcepub fn route_graph_text(
&self,
values: &UiValues,
ui_path: &str,
path: Path<R, String>,
)
pub fn route_graph_text( &self, values: &UiValues, ui_path: &str, path: Path<R, String>, )
Route a serialized screen’s text inputs over ui_path to the text
field at path (UiValues::route): they
show it and each edit replaces it.
Sourcepub fn route_graph_bool(
&self,
values: &UiValues,
ui_path: &str,
path: Path<R, bool>,
)
pub fn route_graph_bool( &self, values: &UiValues, ui_path: &str, path: Path<R, bool>, )
Route a serialized screen’s checked controls over ui_path to the
flag at path: they show it and each toggle sets it.
Sourcepub fn control_map<V, I, C>(
&self,
make: impl FnOnce(&LocalState<I>) -> C,
path: Path<R, V>,
show: impl Fn(&V) -> I + 'static,
store: impl Fn(I) -> V + Send + Sync + 'static,
) -> C
pub fn control_map<V, I, C>( &self, make: impl FnOnce(&LocalState<I>) -> C, path: Path<R, V>, show: impl Fn(&V) -> I + 'static, store: impl Fn(I) -> V + Send + Sync + 'static, ) -> C
A toolkit control whose value is not the field’s own type: a slider
(f64) for an optional hue (Option<f64>), a dropdown of names for
a flag. It shows show of the value at path and sets the field to
store of each committed value:
cx.control_map(Slider::from_state, p.hue, |hue| hue.unwrap_or(0.5), Some).
Methods from Deref<Target = RecordEnv<R>>§
Sourcepub fn open_here(
&self,
arguments: &[String],
) -> Result<ReplacementOutcome, String>
pub fn open_here( &self, arguments: &[String], ) -> Result<ReplacementOutcome, String>
Open, in this window and in place of the record it shows, what a
launch of the app naming arguments opens: the record
ResourceApp::launch_record
names, with its launch actions — the document a person chose with
the app’s own Open. The window’s view is rebuilt for that record on
the next frame. Refused in a past version and a capture.
The outcome answers once the host opened it, or why it could not.
§Errors
Returns that the window cannot open another record.
Sourcepub fn people(&self) -> People
pub fn people(&self) -> People
The names of the participants, for showing the ids actions record
(People::name).
Sourcepub fn dispatcher(&self) -> Dispatcher<R>
pub fn dispatcher(&self) -> Dispatcher<R>
Where edits go. Custom widgets keep a clone.
Sourcepub fn child<C: Resource>(
&self,
id: &str,
wrap: impl Fn(C::Action) -> R::Action + 'static,
) -> Dispatcher<C>
pub fn child<C: Resource>( &self, id: &str, wrap: impl Fn(C::Action) -> R::Action + 'static, ) -> Dispatcher<C>
The dispatcher of the resource nested in this one at id, whose
edits are this resource’s action wrap(edit): a rich-text body, a
draft, a SQL buffer. See Dispatcher::child.
Sourcepub fn me(&self) -> Option<&str>
pub fn me(&self) -> Option<&str>
Who this view is for: the participant reading and editing through
it, the same id an action they invoke reads as its author
(ActionCx::author). Compare the
authors the resource records with it (“your message”, “you reacted”)
instead of keeping the reader in the resource state, which is the
same for everyone. None in a view of a past version.
Sourcepub fn is_past(&self) -> bool
pub fn is_past(&self) -> bool
Whether this view shows a past version in History mode, drawn from a frozen document. It must start no work there: a surface that fetches, watches or spawns a worker is built without it and presents what the document holds.
Sourcepub fn read_only(&self) -> bool
pub fn read_only(&self) -> bool
Whether this participant may only view, when the view is built.
Bound controls already follow permission changes on their own; to show
or disable something else while the participant may only view, bind to
ViewCx::read_only_state, which follows role changes while the app
runs.
Sourcepub fn save_status(&self) -> LocalState<RecordSaveStatus>
pub fn save_status(&self) -> LocalState<RecordSaveStatus>
Whether the record’s latest edits are durable, for a status line. Saving is automatic; there is nothing to save by hand.
Sourcepub fn mode(&self) -> RunMode
pub fn mode(&self) -> RunMode
What the view is built for: a window someone uses, a past version in History, or a screenshot. Start work that reaches outside the process (an engine, a socket, a probe) only when it is live.
Sourcepub fn fixture<V: 'static>(&self) -> Option<Rc<V>>
pub fn fixture<V: 'static>(&self) -> Option<Rc<V>>
The capture’s stand-in for a live source of type V
(Fixture::provide); None outside a
capture, or when the scenario provides none.
Sourcepub fn content(&self) -> Option<ContentStore>
pub fn content(&self) -> Option<ContentStore>
The content store the host lent the app: opaque blobs by hash that outlive it. A capture’s holds the blobs its scenario put there.
Sourcepub fn launch(&self) -> LaunchInput<'_>
pub fn launch(&self) -> LaunchInput<'_>
What the launch that opened this window named — the file a person
opened the app with, its command line — for a view that shows what
the launch’s actions (ResourceApp::launch)
made: the note a launch imported, opened. Empty for a plain start and
for a past version.
Sourcepub fn launch_arguments(&self) -> &[String]
pub fn launch_arguments(&self) -> &[String]
What the window’s launch named (paths, URLs), for a view that acts on them beyond the actions the launch took: the file a save writes back to. Empty for a plain start, a past version and a capture.
Sourcepub fn launch_option(&self, name: &str) -> Option<&str>
pub fn launch_option(&self, name: &str) -> Option<&str>
The value of the app’s own option name (--purpose) the window’s
launch named; see ResourceApp::OPTIONS.
None for a past version.
Sourcepub fn launch_flag(&self, name: &str) -> bool
pub fn launch_flag(&self, name: &str) -> bool
Whether the window’s launch named the app’s switch name; see
ResourceApp::FLAGS.
Sourcepub fn take_lent<S: 'static>(&self) -> Option<S>
pub fn take_lent<S: 'static>(&self) -> Option<S>
The service of type T the host that mounts the app in its own
process lent it (HostContext::lend),
taken once: the shell’s connection to the session’s process
supervisor for a terminal it hosts. None in the app’s own process,
and for a past version or a capture, which start nothing.
Sourcepub fn is_private(&self) -> bool
pub fn is_private(&self) -> bool
Whether the window is private (ResourceApp::PRIVATE_WINDOWS):
its record, settings and files are thrown away with the process. A
view keeps what it would otherwise remember on the device (visits,
a session to restore) to itself.
Sourcepub fn settings<S>(&self) -> Setting<S>
pub fn settings<S>(&self) -> Setting<S>
The app’s typed settings of type S, kept current while this scope
lives. S declares whether they follow the person or stay on the
device (Scope).
Sourcepub fn device(&self) -> Option<&str>
pub fn device(&self) -> Option<&str>
The device this window runs on: stable across launches, distinct on
each of the person’s devices. None in a view of a past version. An
action that records where something happened (a speed test run on
this device) takes it as an argument, so every replica applies the
same value.
Sourcepub fn person<P: Resource>(&self) -> Option<PersonRecord<P>>
pub fn person<P: Resource>(&self) -> Option<PersonRecord<P>>
The person’s own record of P (PersonRecord):
theirs alone, kept in their own room and synced to their other
devices, never to a collaborator, whatever room this record is in.
None where the host keeps no records of the person’s (a view of a
past version) or the record cannot be opened.
The person’s record P that one app keeps for all of theirs — their
accounts, which Settings keeps: the same record on every device, held
here too and converging with the keeper’s over the person’s own room.
Changed only by its owner and editors
(SharedRecord,
PersonRecord::editable); for its
owner it is Self::person.
Sourcepub fn storage(&self) -> &AppStorage
pub fn storage(&self) -> &AppStorage
The app’s files, secrets and settings documents, as its host gave
them. A secret of one document item is
cx.storage().secrets().item(purpose, id).
Sourcepub fn outbox<E, O>(
&self,
outbox: Path<R, Outbox<E, O>>,
owns: impl Fn(&R::State, &E) -> bool + 'static,
run: impl FnMut(&Id, E, &mut EffectCx<R>) -> EffectAnswer + 'static,
) -> Projection
pub fn outbox<E, O>( &self, outbox: Path<R, Outbox<E, O>>, owns: impl Fn(&R::State, &E) -> bool + 'static, run: impl FnMut(&Id, E, &mut EffectCx<R>) -> EffectAnswer + 'static, ) -> Projection
Carry out the entries of the Outbox at
outbox that this device owns, and record how each settled.
Every replica holds the entries; owns says which are this device’s
to carry out (the device whose disk a file operation names, the one
holding the mail account). For each such pending entry the framework
runs run in the live app — never in History or a capture — at once
or as a job through its EffectCx, and records the answer with
the outbox’s settle edit: content from outside, nobody’s undo step.
The answer settles the entry: Effected::settled
with how it went, Effected::value with
the result O, or Effected::done for
O’s default. An Err leaves the entry pending, to run again after
the next change or when the returned Projection is told the
outside changed (the server came back); a failure for good is a
Settled::Failed.
Sourcepub fn outbox_awaited<E, O>(
&self,
outbox: Path<R, Outbox<E, O>>,
owns: impl Fn(&R::State, &E) -> bool + 'static,
run: impl FnMut(&Id, E, &mut EffectCx<R>) -> EffectAnswer + 'static,
) -> Projection
pub fn outbox_awaited<E, O>( &self, outbox: Path<R, Outbox<E, O>>, owns: impl Fn(&R::State, &E) -> bool + 'static, run: impl FnMut(&Id, E, &mut EffectCx<R>) -> EffectAnswer + 'static, ) -> Projection
Self::outbox, where an entry is the outside half of the action
that queued it: one an admitted invocation on this device queues runs
at once under that invocation — cx.invocation() names it, and its
custody authorises what the handler does for it (a native host that
acts only on behalf of an invocation) — and the invocation completes
only once its entries settled, failing with a failed one. Entries
queued elsewhere, replayed or still pending after a restart run as
Self::outbox runs them, with no invocation.
Trait Implementations§
Auto Trait Implementations§
impl<R, T> Freeze for ViewCx<R, T>
impl<R, T = <R as Resource>::State> !RefUnwindSafe for ViewCx<R, T>
impl<R, T = <R as Resource>::State> !Send for ViewCx<R, T>
impl<R, T = <R as Resource>::State> !Sync for ViewCx<R, T>
impl<R, T> Unpin for ViewCx<R, T>
impl<R, T> UnsafeUnpin for ViewCx<R, T>
impl<R, T = <R as Resource>::State> !UnwindSafe for ViewCx<R, T>
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§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>
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