pub enum Extern {
None,
Implicit(Span),
Explicit(StrLit, Span),
}
Expand description
extern
qualifier on a function item or function type.
Variants§
None
No explicit extern keyword was used
E.g. fn foo() {}
Implicit(Span)
An explicit extern keyword was used, but with implicit ABI
E.g. extern fn foo() {}
This is just extern "C"
(see rustc_target::spec::abi::Abi::FALLBACK
)
Explicit(StrLit, Span)
An explicit extern keyword was used with an explicit ABI
E.g. extern "C" fn foo() {}
Implementations§
Trait Implementations§
source§impl<__D: SpanDecoder> Decodable<__D> for Extern
impl<__D: SpanDecoder> Decodable<__D> for Extern
impl Copy for Extern
Auto Trait Implementations§
impl DynSend for Extern
impl DynSync for Extern
impl Freeze for Extern
impl RefUnwindSafe for Extern
impl Send for Extern
impl Sync for Extern
impl Unpin for Extern
impl UnwindSafe for Extern
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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
Layout§
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: 32 bytes
Size for each variant:
None
: 0 bytesImplicit
: 12 bytesExplicit
: 32 bytes