Trait ra_ap_hir_ty::TyExt[][src]

pub trait TyExt {
Show methods fn is_unit(&self) -> bool;
fn is_never(&self) -> bool;
fn is_unknown(&self) -> bool;
fn is_ty_var(&self) -> bool;
fn as_adt(&self) -> Option<(AdtId, &Substitution)>;
fn as_builtin(&self) -> Option<BuiltinType>;
fn as_tuple(&self) -> Option<&Substitution>;
fn as_fn_def(&self, db: &dyn HirDatabase) -> Option<FunctionId>;
fn as_reference(&self) -> Option<(&Ty, Lifetime, Mutability)>;
fn as_reference_or_ptr(&self) -> Option<(&Ty, Rawness, Mutability)>;
fn as_generic_def(&self, db: &dyn HirDatabase) -> Option<GenericDefId>;
fn callable_def(&self, db: &dyn HirDatabase) -> Option<CallableDefId>;
fn callable_sig(&self, db: &dyn HirDatabase) -> Option<CallableSig>;
fn strip_references(&self) -> &Ty;
fn dyn_trait(&self) -> Option<TraitId>;
fn impl_trait_bounds(
        &self,
        db: &dyn HirDatabase
    ) -> Option<Vec<QuantifiedWhereClause>>;
fn associated_type_parent_trait(
        &self,
        db: &dyn HirDatabase
    ) -> Option<TraitId>;
fn equals_ctor(&self, other: &Ty) -> bool;
}

Required methods

If this is a dyn Trait, returns that trait.

FIXME: Get rid of this, it’s not a good abstraction

Implementors