struct TraitMethodAttrs {Show 14 fields
worker: bool,
unsafe_main_thread: bool,
coerce: bool,
check_interrupt: bool,
rng: bool,
unwrap_in_r: bool,
skip: bool,
defaults: HashMap<String, String>,
r_name: Option<String>,
strict: bool,
lifecycle: Option<LifecycleSpec>,
r_entry: Option<String>,
r_post_checks: Option<String>,
r_on_exit: Option<ROnExit>,
}Expand description
Parsed #[miniextendr(...)] attributes for a single trait method.
Extracted from method-level attributes to control C wrapper behavior, threading, and R wrapper generation.
Fields§
§worker: boolDispatch to worker thread. Set by explicit #[miniextendr(worker)] or default-worker feature.
unsafe_main_thread: boolForce execution on R’s main thread (overrides default worker thread for static methods).
coerce: boolEnable Rf_coerceVector for all parameters.
check_interrupt: boolCall R_CheckUserInterrupt before the method body.
rng: boolWrap the call in GetRNGstate/PutRNGstate for reproducible random number generation.
unwrap_in_r: boolReturn Result<T, E> to R without unwrapping (R wrapper receives the result variant).
skip: boolExclude this method from all generated wrappers (C, R, vtable shims).
defaults: HashMap<String, String>Parameter default values: keys are parameter names, values are R expressions.
r_name: Option<String>Override the R-facing method name.
strict: boolStrict output conversion: panic instead of lossy widening for i64/u64/isize/usize.
lifecycle: Option<LifecycleSpec>Lifecycle specification for deprecation/experimental status.
r_entry: Option<String>R code to inject at the very top of the wrapper body.
r_post_checks: Option<String>R code to inject after all checks, immediately before .Call().
r_on_exit: Option<ROnExit>Register on.exit() cleanup code in the R wrapper.
Auto Trait Implementations§
impl Freeze for TraitMethodAttrs
impl RefUnwindSafe for TraitMethodAttrs
impl Send for TraitMethodAttrs
impl Sync for TraitMethodAttrs
impl Unpin for TraitMethodAttrs
impl UnsafeUnpin for TraitMethodAttrs
impl UnwindSafe for TraitMethodAttrs
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
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read moreLayout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 288 bytes