pub struct PgExtern { /* private fields */ }
Expand description
A parsed #[pg_extern]
item.
It should be used with syn::parse::Parse
functions.
Using quote::ToTokens
will output the declaration for a PgExternEntity
.
use syn::{Macro, parse::Parse, parse_quote, parse};
use quote::{quote, ToTokens};
use pgrx_sql_entity_graph::PgExtern;
use pgrx_sql_entity_graph::CodeEnrichment;
let parsed: CodeEnrichment<PgExtern> = parse_quote! {
fn example(x: Option<str>) -> Option<&'a str> {
unimplemented!()
}
};
let sql_graph_entity_tokens = parsed.to_token_stream();
Implementations§
Source§impl PgExtern
impl PgExtern
pub fn new( attr: TokenStream2, item: TokenStream2, ) -> Result<CodeEnrichment<Self>, Error>
Sourcepub fn as_cast(&self, pg_cast: PgCast) -> PgExtern
pub fn as_cast(&self, pg_cast: PgCast) -> PgExtern
Returns a new instance of this PgExtern
with cast
overwritten to pg_cast
.
pub fn extern_attrs(&self) -> &[Attribute]
pub fn wrapper_func(&self) -> Result<ItemFn, Error>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PgExtern
impl RefUnwindSafe for PgExtern
impl !Send for PgExtern
impl !Sync for PgExtern
impl Unpin for PgExtern
impl UnwindSafe for PgExtern
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