pub struct R6MethodAttrs {
pub active: bool,
pub active_span: Option<Span>,
pub setter: bool,
pub prop: Option<String>,
pub private: bool,
pub private_span: Option<Span>,
pub finalize: bool,
pub finalize_span: Option<Span>,
pub deep_clone: bool,
pub deep_clone_span: Option<Span>,
}Expand description
R6-specific per-method markers, separated from MethodAttrs so the
r6 parser branch and R6 class generator own a self-contained bag.
All R6 boolean flags live here. Using any of these markers under a
non-R6 class system (#[miniextendr(s3)], s4, s7, env) is a
compile-time error caught by ParsedMethod::validate_method_attrs.
Fields§
§active: boolMark as active binding getter (#[miniextendr(r6(active))]).
active_span: Option<Span>Span of the r6(active) marker — used for error reporting when the
marker is misused in a non-R6 class generator.
setter: boolR6 active-binding setter (paired with an active getter by prop).
prop: Option<String>R6 active-binding property name (defaults to the method name).
private: boolMark as private method (#[miniextendr(r6(private))]).
Also inferred from non-pub Rust visibility.
private_span: Option<Span>Span of the r6(private) marker — points the validator’s diagnostic
at the offending marker rather than the method ident.
finalize: boolMark as finalizer (#[miniextendr(r6(finalize))]).
Also inferred when the method consumes self and does not return Self.
finalize_span: Option<Span>Span of the r6(finalize) marker — see private_span.
deep_clone: boolMark as R6 deep-clone handler (#[miniextendr(r6(deep_clone))]).
This method is wired into private$deep_clone in the R6Class definition.
deep_clone_span: Option<Span>Span of the r6(deep_clone) marker — see private_span.
Trait Implementations§
Source§impl Debug for R6MethodAttrs
impl Debug for R6MethodAttrs
Source§impl Default for R6MethodAttrs
impl Default for R6MethodAttrs
Source§fn default() -> R6MethodAttrs
fn default() -> R6MethodAttrs
Auto Trait Implementations§
impl Freeze for R6MethodAttrs
impl RefUnwindSafe for R6MethodAttrs
impl !Send for R6MethodAttrs
impl !Sync for R6MethodAttrs
impl Unpin for R6MethodAttrs
impl UnsafeUnpin for R6MethodAttrs
impl UnwindSafe for R6MethodAttrs
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: 80 bytes