struct TpieInput {
concrete_type: Type,
trait_path: Path,
class_system: ClassSystem,
no_rd: bool,
internal: bool,
noexport: bool,
methods: Vec<TpieMethod>,
}Expand description
Input to the __mx_trait_impl_expand! proc macro.
TPIE (Trait-Provided Impl Expansion) allows empty #[miniextendr] impl Trait for Type {}
blocks to auto-expand C/R wrappers using metadata embedded in a macro_rules! helper
generated at the trait definition site.
Parsed from tokens like:
concrete_type = Point;
trait_path = miniextendr_api::adapter_traits::RDebug;
class_system = env;
method { r_name = debug_str; fn debug_str(&self) -> String; }
method { r_name = debug_str_pretty; fn debug_str_pretty(&self) -> String; }Fields§
§concrete_type: TypeThe concrete type implementing the trait (e.g., Point).
trait_path: PathFully qualified path to the trait (e.g., miniextendr_api::adapter_traits::RDebug).
class_system: ClassSystemWhich R class system to generate wrappers for (env, r6, s3, s4, s7).
no_rd: boolWhether the impl block has @noRd, suppressing roxygen documentation.
internal: boolWhether the impl block has #[miniextendr(internal)], adding @keywords internal.
noexport: boolWhether the impl block has #[miniextendr(noexport)], suppressing @export.
methods: Vec<TpieMethod>Method signatures and R-facing names from the trait definition.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TpieInput
impl RefUnwindSafe for TpieInput
impl !Send for TpieInput
impl !Sync for TpieInput
impl Unpin for TpieInput
impl UnsafeUnpin for TpieInput
impl UnwindSafe for TpieInput
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: 408 bytes