pub enum LocalTaskType {
Native {
fn_type: FunctionId,
this: Option<RawVc>,
arg: Box<dyn MagicAny>,
},
ResolveNative {
fn_type: FunctionId,
this: Option<RawVc>,
arg: Box<dyn MagicAny>,
},
ResolveTrait {
trait_type: TraitTypeId,
method_name: Cow<'static, str>,
this: RawVc,
arg: Box<dyn MagicAny>,
},
}
Variants§
Native
A normal task execution a native (rust) function
ResolveNative
A resolve task, which resolves arguments and calls the function with resolve arguments. The
inner function call will be a PersistentTaskType
or LocalTaskType::Native
.
ResolveTrait
A trait method resolve task. It resolves the first (self
) argument and looks up the trait
method on that value. Then it calls that method. The method call will do a cache lookup and
might resolve arguments before.
Implementations§
Source§impl LocalTaskType
impl LocalTaskType
Sourcepub fn get_name(&self) -> Cow<'static, str>
pub fn get_name(&self) -> Cow<'static, str>
Returns the name of the function in the code. Trait methods are
formatted as TraitName::method_name
.
Equivalent to ToString::to_string
, but potentially more efficient as
it can return a &'static str
in many cases.
pub fn try_get_function_id(&self) -> Option<FunctionId>
pub async fn run_resolve_native<B: Backend + 'static>( fn_id: FunctionId, this: Option<RawVc>, arg: &dyn MagicAny, persistence: TaskPersistence, turbo_tasks: Arc<dyn TurboTasksBackendApi<B>>, ) -> Result<RawVc>
pub async fn run_resolve_trait<B: Backend + 'static>( trait_type: TraitTypeId, name: Cow<'static, str>, this: RawVc, arg: &dyn MagicAny, persistence: TaskPersistence, turbo_tasks: Arc<dyn TurboTasksBackendApi<B>>, ) -> Result<RawVc>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LocalTaskType
impl !RefUnwindSafe for LocalTaskType
impl Send for LocalTaskType
impl Sync for LocalTaskType
impl Unpin for LocalTaskType
impl !UnwindSafe for LocalTaskType
Blanket Implementations§
§impl<T> Any for Twhere
T: Any,
impl<T> Any for Twhere
T: Any,
fn get_type_id(&self) -> TypeId
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> 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