pub trait TyExt {
Show 18 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