#[doc(hidden)]macro_rules! impl_builtin_altrep_family {
($ty:ty, integer, dataptr, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, real, dataptr, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, logical, dataptr, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, raw, dataptr, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, string, dataptr, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, complex, dataptr, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, integer, materializing, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, real, materializing, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, logical, materializing, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, raw, materializing, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, string, materializing, $reg_fn:ident, $entry_ident:ident) => { ... };
($ty:ty, complex, materializing, $reg_fn:ident, $entry_ident:ident) => { ... };
}Expand description
Generate ALTREP trait impls AND a linkme MX_ALTREP_REGISTRATIONS entry for a
builtin type.
§Arguments
$ty:ty— the builtin container type (e.g.Vec<i32>,Box<[f64]>)$family:ident— ALTREP family token:integer,real,logical,raw,string, orcomplex$mode:ident— dataptr mode:dataptrormaterializing$reg_fn:ident— unique#[no_mangle]name for the registration fn (convention:__mx_altrep_reg_builtin_<sym>)$entry_ident:ident— unique name for the linkme static (convention:__MX_ALTREP_REG_ENTRY_builtin_<sym>)
Both identifier arguments must be globally unique across all call sites.
The registration fn is always emitted; the #[distributed_slice] attribute
is guarded by cfg_attr(not(target_arch = "wasm32"), ...) so linkme’s
compile-error arm is not reached on wasm32 targets.