Skip to main content

HirDisplay

Trait HirDisplay 

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

    // Provided methods
    fn into_displayable<'a>(
        &'a self,
        db: &'db dyn HirDatabase,
        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,
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
    fn display_truncated<'a>(
        &'a self,
        db: &'db dyn HirDatabase,
        max_size: Option<usize>,
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
    fn display_limited<'a>(
        &'a self,
        db: &'db dyn HirDatabase,
        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,
        module_id: ModuleId,
        allow_opaque: bool,
    ) -> Result<String, DisplaySourceCodeError> { ... }
    fn display_test<'a>(
        &'a self,
        db: &'db dyn HirDatabase,
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
    fn display_with_container_bounds<'a>(
        &'a self,
        db: &'db dyn HirDatabase,
        show_container_bounds: bool,
        display_target: DisplayTarget,
    ) -> HirDisplayWrapper<'a, 'db, Self>
       where Self: Sized { ... }
}

Required Methods§

Source

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

Provided Methods§

Source

fn into_displayable<'a>( &'a self, db: &'db dyn HirDatabase, 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.

Source

fn display<'a>( &'a self, db: &'db dyn HirDatabase, 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)

Source

fn display_truncated<'a>( &'a self, db: &'db dyn HirDatabase, 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)

Source

fn display_limited<'a>( &'a self, db: &'db dyn HirDatabase, 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

Source

fn display_source_code<'a>( &'a self, db: &'db dyn HirDatabase, module_id: ModuleId, 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)

Source

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

Returns a String representation of self for test purposes

Source

fn display_with_container_bounds<'a>( &'a self, db: &'db dyn HirDatabase, 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§

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§

Source§

impl<'db, F> HirDisplay<'db> for WriteWith<'db, F>
where F: Fn(&mut HirFormatter<'_, 'db>) -> Result<(), HirDisplayError>,

Source§

impl<'db, T: HirDisplayWithExpressionStore<'db>> HirDisplay<'db> for ExpressionStoreAdapter<'_, T>

Source§

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

Source§

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

Source§

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

Source§

impl<'db> HirDisplay<'db> for LocalName

Source§

impl<'db> HirDisplay<'db> for Pat<'db>

Source§

impl<'db> HirDisplay<'db> for PolyFnSig<'db>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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