pub struct Function { /* private fields */ }
Implementations
sourceimpl Function
impl Function
pub fn module(self, db: &dyn HirDatabase) -> Module
pub fn name(self, db: &dyn HirDatabase) -> Name
sourcepub fn ret_type(self, db: &dyn HirDatabase) -> Type
pub fn ret_type(self, db: &dyn HirDatabase) -> Type
Get this function’s return type
pub fn self_param(self, db: &dyn HirDatabase) -> Option<SelfParam>
pub fn assoc_fn_params(self, db: &dyn HirDatabase) -> Vec<Param>
pub fn method_params(self, db: &dyn HirDatabase) -> Option<Vec<Param>>
pub fn is_unsafe(self, db: &dyn HirDatabase) -> bool
pub fn is_const(self, db: &dyn HirDatabase) -> bool
pub fn is_async(self, db: &dyn HirDatabase) -> bool
sourcepub fn has_body(self, db: &dyn HirDatabase) -> bool
pub fn has_body(self, db: &dyn HirDatabase) -> bool
Whether this function declaration has a definition.
This is false in the case of required (not provided) trait methods.
pub fn as_proc_macro(self, db: &dyn HirDatabase) -> Option<MacroDef>
sourcepub fn debug_hir(self, db: &dyn HirDatabase) -> String
pub fn debug_hir(self, db: &dyn HirDatabase) -> String
A textual representation of the HIR of this function for debugging purposes.
Trait Implementations
sourceimpl AsAssocItem for Function
impl AsAssocItem for Function
fn as_assoc_item(self, db: &dyn HirDatabase) -> Option<AssocItem>
sourceimpl From<Function> for FunctionId
impl From<Function> for FunctionId
sourcefn from(ty: Function) -> FunctionId
fn from(ty: Function) -> FunctionId
Performs the conversion.
sourceimpl From<Function> for DefWithBody
impl From<Function> for DefWithBody
sourcefn from(it: Function) -> DefWithBody
fn from(it: Function) -> DefWithBody
Performs the conversion.
sourceimpl From<Function> for GenericDef
impl From<Function> for GenericDef
sourcefn from(it: Function) -> GenericDef
fn from(it: Function) -> GenericDef
Performs the conversion.
sourceimpl From<FunctionId> for Function
impl From<FunctionId> for Function
sourcefn from(id: FunctionId) -> Function
fn from(id: FunctionId) -> Function
Performs the conversion.
sourceimpl HasAttrs for Function
impl HasAttrs for Function
fn attrs(self, db: &dyn HirDatabase) -> AttrsWithOwner
fn docs(self, db: &dyn HirDatabase) -> Option<Documentation>
fn resolve_doc_path(
self,
db: &dyn HirDatabase,
link: &str,
ns: Option<Namespace>
) -> Option<Either<ModuleDef, MacroDef>>
sourceimpl HasSource for Function
impl HasSource for Function
type Ast = Fn
sourcefn source(self, db: &dyn HirDatabase) -> Option<InFile<Self::Ast>>
fn source(self, db: &dyn HirDatabase) -> Option<InFile<Self::Ast>>
Fetches the definition’s source node.
Using crate::Semantics::source
is preferred when working with crate::Semantics
,
as that caches the parsed file in the semantics’ cache. Read more
sourceimpl HasVisibility for Function
impl HasVisibility for Function
fn visibility(&self, db: &dyn HirDatabase) -> Visibility
fn is_visible_from(&self, db: &dyn HirDatabase, module: Module) -> bool
sourceimpl HirDisplay for Function
impl HirDisplay for Function
fn hir_fmt(&self, f: &mut HirFormatter<'_>) -> Result<(), HirDisplayError>
sourcefn into_displayable(
&'a self,
db: &'a (dyn HirDatabase + 'a),
max_size: Option<usize>,
omit_verbose_types: bool,
display_target: DisplayTarget
) -> HirDisplayWrapper<'a, Self>
fn into_displayable(
&'a self,
db: &'a (dyn HirDatabase + 'a),
max_size: Option<usize>,
omit_verbose_types: bool,
display_target: DisplayTarget
) -> HirDisplayWrapper<'a, Self>
Returns a Display
able type that is human-readable.
sourcefn display(
&'a self,
db: &'a (dyn HirDatabase + 'a)
) -> HirDisplayWrapper<'a, Self>
fn display(
&'a self,
db: &'a (dyn HirDatabase + 'a)
) -> HirDisplayWrapper<'a, Self>
Returns a Display
able type that is human-readable.
Use this for showing types to the user (e.g. diagnostics) Read more
sourcefn display_truncated(
&'a self,
db: &'a (dyn HirDatabase + 'a),
max_size: Option<usize>
) -> HirDisplayWrapper<'a, Self>
fn display_truncated(
&'a self,
db: &'a (dyn HirDatabase + 'a),
max_size: Option<usize>
) -> HirDisplayWrapper<'a, Self>
Returns a Display
able type that is human-readable and tries to be succinct.
Use this for showing types to the user where space is constrained (e.g. doc popups) Read more
sourcefn display_source_code(
&'a self,
db: &'a (dyn HirDatabase + 'a),
module_id: ModuleId
) -> Result<String, DisplaySourceCodeError>
fn display_source_code(
&'a self,
db: &'a (dyn HirDatabase + 'a),
module_id: ModuleId
) -> Result<String, DisplaySourceCodeError>
Returns a String representation of self
that can be inserted into the given module.
Use this when generating code (e.g. assists) Read more
sourcefn display_test(
&'a self,
db: &'a (dyn HirDatabase + 'a)
) -> HirDisplayWrapper<'a, Self>
fn display_test(
&'a self,
db: &'a (dyn HirDatabase + 'a)
) -> HirDisplayWrapper<'a, Self>
Returns a String representation of self
for test purposes
impl Copy for Function
impl Eq for Function
impl StructuralEq for Function
impl StructuralPartialEq for Function
Auto Trait Implementations
impl RefUnwindSafe for Function
impl Send for Function
impl Sync for Function
impl Unpin for Function
impl UnwindSafe for Function
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Cast for T
impl<T> Cast for T
fn cast<U>(self, interner: <U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: <U as HasInterner>::Interner) -> U where
Self: CastTo<U>,
U: HasInterner,
Cast a value to type U
using CastTo
.
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more