#[non_exhaustive]pub struct HookArgs {
pub hooks_core_path: Option<PathOrLit<Path>>,
pub custom_bounds: Option<Type>,
pub args_generics: GenericParams,
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.hooks_core_path: Option<PathOrLit<Path>>
Defaults to ::hooks::core
custom_bounds: Option<Type>
Defaults to tuple of all lifetime generics except 'hook
and all type generics.
For example, default bounds of the following hook is
(&'a (), &'b (), PhantomData<T>)
#[hook]
fn use_my_hook<'a, 'b, T>() {
}
fn asserts<'a, 'b, T>() -> impl HookBounds<
Bounds = (&'a (), &'b (), PhantomData<T>)
> {
use_my_hook()
}
args_generics: GenericParams
Generic params used only in Args
.
Currently only lifetimes without bounds are supported.
Defaults to no generics.
Implementations§
Source§impl HookArgs
impl HookArgs
pub fn transform_item_fn(self, item_fn: ItemFn) -> (ItemFn, Option<Error>)
pub fn transform_item_fn_in_place(self, item_fn: &mut ItemFn) -> Option<Error>
pub fn from_punctuated_meta_list( meta_list: Punctuated<NestedMeta, Comma>, ) -> Result<Self>
pub fn with_args_generics(self, args_generics: GenericParams) -> Self
Trait Implementations§
Source§impl FromMeta for HookArgs
impl FromMeta for HookArgs
Source§fn from_list(__items: &[NestedMeta]) -> Result<Self>
fn from_list(__items: &[NestedMeta]) -> Result<Self>
Create an instance from a list of nested meta items.
fn from_nested_meta(item: &NestedMeta) -> Result<Self, Error>
Source§fn from_meta(item: &Meta) -> Result<Self, Error>
fn from_meta(item: &Meta) -> Result<Self, Error>
Create an instance from a
syn::Meta
by dispatching to the format-appropriate
trait function. This generally should not be overridden by implementers. Read moreSource§fn from_none() -> Option<Self>
fn from_none() -> Option<Self>
When a field is omitted from a parent meta-item,
from_none
is used to attempt
recovery before a missing field error is generated. Read moreSource§fn from_word() -> Result<Self, Error>
fn from_word() -> Result<Self, Error>
Create an instance from the presence of the word in the attribute with no
additional options specified.
Source§fn from_value(value: &Lit) -> Result<Self, Error>
fn from_value(value: &Lit) -> Result<Self, Error>
Create an instance from a literal value of either
foo = "bar"
or foo("bar")
.
This dispatches to the appropriate method based on the type of literal encountered,
and generally should not be overridden by implementers. Read moreSource§fn from_char(value: char) -> Result<Self, Error>
fn from_char(value: char) -> Result<Self, Error>
Create an instance from a char literal in a value position.
Auto Trait Implementations§
impl Freeze for HookArgs
impl RefUnwindSafe for HookArgs
impl !Send for HookArgs
impl !Sync for HookArgs
impl Unpin for HookArgs
impl UnwindSafe for HookArgs
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