pub struct ExternFn {
pub doc: Option<Doc>,
pub directives: Directives,
pub name: Ident,
pub params: Vec<Param>,
pub return_type: Option<TypeExpr>,
pub span: Span,
}Expand description
ADR-0085: a body-less fn declaration that appears inside a
link_extern block.
Bodies are forbidden here (the symbol is resolved at link time, not
emitted from this compilation unit). Directives like @link_name
still attach per-declaration.
Fields§
§doc: Option<Doc>ADR-0089: docstring attached to this declaration.
directives: DirectivesDirectives attached to this declaration (e.g. @link_name(...)).
name: IdentFunction name as it appears in Gruel source.
params: Vec<Param>Parameters; comptime params are rejected by sema.
return_type: Option<TypeExpr>Return type (None means implicit unit ()).
span: SpanSpan covering the whole fn …; declaration.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ExternFn
impl<'de> Deserialize<'de> for ExternFn
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ExternFn
impl StructuralPartialEq for ExternFn
Auto Trait Implementations§
impl Freeze for ExternFn
impl RefUnwindSafe for ExternFn
impl Send for ExternFn
impl Sync for ExternFn
impl Unpin for ExternFn
impl UnsafeUnpin for ExternFn
impl UnwindSafe for ExternFn
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].