Skip to main content

HirDisplay

Trait HirDisplay 

pub trait HirDisplay<'db> {
    // Required method
    fn hir_fmt(
        &self,
        f: &mut HirFormatter<'_, 'db>,
    ) -> Result<(), HirDisplayError>;

    // Provided methods
    fn into_displayable<'a>(
        &'a self,
        db: &'db (dyn HirDatabase + 'static),
        max_size: Option<usize>,
        limited_size: Option<usize>,
        omit_verbose_types: bool,
        display_target: DisplayTarget,
        display_kind: DisplayKind,
        closure_style: ClosureStyle,
        show_container_bounds: bool,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
    fn display<'a>(
        &'a self,
        db: &'db (dyn HirDatabase + 'static),
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
    fn display_truncated<'a>(
        &'a self,
        db: &'db (dyn HirDatabase + 'static),
        max_size: Option<usize>,
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
    fn display_limited<'a>(
        &'a self,
        db: &'db (dyn HirDatabase + 'static),
        limited_size: Option<usize>,
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
    fn display_source_code<'a>(
        &'a self,
        db: &'db (dyn HirDatabase + 'static),
        module_id: ModuleIdLt<'static>,
        allow_opaque: bool,
    ) -> Result<String, DisplaySourceCodeError> { ... }
    fn display_test<'a>(
        &'a self,
        db: &'db (dyn HirDatabase + 'static),
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
    fn display_with_container_bounds<'a>(
        &'a self,
        db: &'db (dyn HirDatabase + 'static),
        show_container_bounds: bool,
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
}

Required Methods§

fn hir_fmt(&self, f: &mut HirFormatter<'_, 'db>) -> Result<(), HirDisplayError>

Provided Methods§

fn into_displayable<'a>( &'a self, db: &'db (dyn HirDatabase + 'static), max_size: Option<usize>, limited_size: Option<usize>, omit_verbose_types: bool, display_target: DisplayTarget, display_kind: DisplayKind, closure_style: ClosureStyle, show_container_bounds: bool, ) -> HirDisplayWrapper<'a, 'db, Self>
where Self: Sized,

Returns a Displayable type that is human-readable.

fn display<'a>( &'a self, db: &'db (dyn HirDatabase + 'static), display_target: DisplayTarget, ) -> HirDisplayWrapper<'a, 'db, Self>
where Self: Sized,

Returns a Displayable type that is human-readable. Use this for showing types to the user (e.g. diagnostics)

fn display_truncated<'a>( &'a self, db: &'db (dyn HirDatabase + 'static), max_size: Option<usize>, display_target: DisplayTarget, ) -> HirDisplayWrapper<'a, 'db, Self>
where Self: Sized,

Returns a Displayable 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)

fn display_limited<'a>( &'a self, db: &'db (dyn HirDatabase + 'static), limited_size: Option<usize>, display_target: DisplayTarget, ) -> HirDisplayWrapper<'a, 'db, Self>
where Self: Sized,

Returns a Displayable type that is human-readable and tries to limit the number of items inside. Use this for showing definitions which may contain too many items, like trait, struct, enum

fn display_source_code<'a>( &'a self, db: &'db (dyn HirDatabase + 'static), module_id: ModuleIdLt<'static>, allow_opaque: bool, ) -> 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)

fn display_test<'a>( &'a self, db: &'db (dyn HirDatabase + 'static), display_target: DisplayTarget, ) -> HirDisplayWrapper<'a, 'db, Self>
where Self: Sized,

Returns a String representation of self for test purposes

fn display_with_container_bounds<'a>( &'a self, db: &'db (dyn HirDatabase + 'static), show_container_bounds: bool, display_target: DisplayTarget, ) -> HirDisplayWrapper<'a, 'db, Self>
where Self: Sized,

Returns a String representation of self that shows the constraint from the container for functions

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl<'db, T> HirDisplay<'db> for &T
where T: HirDisplay<'db>,

§

fn hir_fmt(&self, f: &mut HirFormatter<'_, 'db>) -> Result<(), HirDisplayError>

§

impl<'db, T> HirDisplay<'db> for Interned<T>
where T: HirDisplay<'db> + Internable,

§

fn hir_fmt(&self, f: &mut HirFormatter<'_, 'db>) -> Result<(), HirDisplayError>

§

impl<'db> HirDisplay<'db> for Binder<DbInterner<'db>, FnSig<DbInterner<'db>>>

§

fn hir_fmt(&self, f: &mut HirFormatter<'_, 'db>) -> Result<(), HirDisplayError>

§

impl<'db> HirDisplay<'db> for TraitPredicate<DbInterner<'db>>

§

fn hir_fmt(&self, f: &mut HirFormatter<'_, 'db>) -> Result<(), HirDisplayError>

§

impl<'db> HirDisplay<'db> for TraitRef<DbInterner<'db>>

§

fn hir_fmt(&self, f: &mut HirFormatter<'_, 'db>) -> Result<(), HirDisplayError>

Implementors§

Source§

impl<'db> HirDisplay<'db> for Adt

§

impl<'db> HirDisplay<'db> for Allocation<'db>

Source§

impl<'db> HirDisplay<'db> for hir::Const

§

impl<'db> HirDisplay<'db> for Const<'db>

Source§

impl<'db> HirDisplay<'db> for ConstParam

Source§

impl<'db> HirDisplay<'db> for Crate

Source§

impl<'db> HirDisplay<'db> for Enum

Source§

impl<'db> HirDisplay<'db> for EnumVariant

Source§

impl<'db> HirDisplay<'db> for ExternCrateDecl

Source§

impl<'db> HirDisplay<'db> for Field

Source§

impl<'db> HirDisplay<'db> for Function

§

impl<'db> HirDisplay<'db> for GenericArg<'db>

Source§

impl<'db> HirDisplay<'db> for GenericParam

Source§

impl<'db> HirDisplay<'db> for LifetimeParam

Source§

impl<'db> HirDisplay<'db> for Macro

Source§

impl<'db> HirDisplay<'db> for Module

§

impl<'db> HirDisplay<'db> for Region<'db>

Source§

impl<'db> HirDisplay<'db> for SelfParam

Source§

impl<'db> HirDisplay<'db> for Static

Source§

impl<'db> HirDisplay<'db> for Struct

§

impl<'db> HirDisplay<'db> for Term<'db>

Source§

impl<'db> HirDisplay<'db> for Trait

Source§

impl<'db> HirDisplay<'db> for hir::TraitPredicate<'db>

Source§

impl<'db> HirDisplay<'db> for hir::TraitRef<'db>

Source§

impl<'db> HirDisplay<'db> for TupleField<'db>

§

impl<'db> HirDisplay<'db> for Ty<'db>

Source§

impl<'db> HirDisplay<'db> for Type<'db>

Source§

impl<'db> HirDisplay<'db> for TypeAlias

Source§

impl<'db> HirDisplay<'db> for TypeOrConstParam

Source§

impl<'db> HirDisplay<'db> for TypeParam

Source§

impl<'db> HirDisplay<'db> for Union