#[repr(C)]pub struct Client {
pub(super) run: extern "C" fn(BridgeConfig<'_>) -> Buffer,
}🔬This is a nightly-only experimental API. (
proc_macro_internals)Expand description
A client-side RPC entry-point, which may be using a different proc_macro
from the one used by the server, but can be invoked compatibly.
Note that the input and output type parameters are erased. They do not participate in the ABI, so while using the wrong runN method will likely result in a panic, it will not result in UB.
Fields§
§run: extern "C" fn(BridgeConfig<'_>) -> Buffer🔬This is a nightly-only experimental API. (
proc_macro_internals)Implementations§
Source§impl Client
impl Client
pub const fn expand1(f: impl Fn(TokenStream) -> TokenStream + Copy) -> Self
🔬This is a nightly-only experimental API. (
proc_macro_internals)pub const fn expand2( f: impl Fn(TokenStream, TokenStream) -> TokenStream + Copy, ) -> Self
🔬This is a nightly-only experimental API. (
proc_macro_internals)Source§impl Client
impl Client
pub fn run1<S>(
&self,
strategy: &impl ExecutionStrategy,
server: S,
input: S::TokenStream,
force_show_panics: bool,
) -> Result<S::TokenStream, PanicMessage>where
S: Server,
🔬This is a nightly-only experimental API. (
proc_macro_internals)pub fn run2<S>(
&self,
strategy: &impl ExecutionStrategy,
server: S,
input: S::TokenStream,
input2: S::TokenStream,
force_show_panics: bool,
) -> Result<S::TokenStream, PanicMessage>where
S: Server,
🔬This is a nightly-only experimental API. (
proc_macro_internals)Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl UnsafeUnpin for Client
impl UnwindSafe for Client
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SizeHint for Twhere
T: ?Sized,
impl<T> SizeHint for Twhere
T: ?Sized,
Source§default fn lower_bound(&self) -> usize
default fn lower_bound(&self) -> usize
🔬This is a nightly-only experimental API. (
core_io_internals)Returns a lower bound on the number of elements this container-like item
contains.
For example, an array
[u8; 12] could return any value between 0 and
12 inclusively as a correct implementation. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
🔬This is a nightly-only experimental API. (
ptr_alignment_type #102070)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)The largest safe length for a
[Self]. Read more