pub struct UntypedRecipeRef {
recipe: &'static dyn ErasedRecipe,
}Expand description
Type-erased recipe reference returned by all-recipe and key lookup APIs.
Fields§
§recipe: &'static dyn ErasedRecipeImplementations§
Source§impl UntypedRecipeRef
impl UntypedRecipeRef
pub fn key(self) -> &'static Identifier
pub fn recipe_type(self) -> RecipeTypeEntryRef
pub fn data(self) -> &'static dyn RecipeData
Sourcepub fn downcast_data<D: RecipeData + DowncastType>(self) -> Option<&'static D>
pub fn downcast_data<D: RecipeData + DowncastType>(self) -> Option<&'static D>
Recovers concrete data after an untyped key or all-recipe lookup.
fn typed<D: RecipeMatches<I> + DowncastType, I: RecipeInput>( self, recipe_type: &'static RecipeType<D, I>, ) -> Option<TypedRecipeRef<D, I>>
Trait Implementations§
Source§impl Clone for UntypedRecipeRef
impl Clone for UntypedRecipeRef
Source§fn clone(&self) -> UntypedRecipeRef
fn clone(&self) -> UntypedRecipeRef
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for UntypedRecipeRef
Auto Trait Implementations§
impl !RefUnwindSafe for UntypedRecipeRef
impl !UnwindSafe for UntypedRecipeRef
impl Freeze for UntypedRecipeRef
impl Send for UntypedRecipeRef
impl Sync for UntypedRecipeRef
impl Unpin for UntypedRecipeRef
impl UnsafeUnpin for UntypedRecipeRef
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 moreWraps this value in an
Arc<SyncMutex<>>