rustc_middle::ty::diagnostics

Trait IsSuggestable

source
pub trait IsSuggestable<'tcx>: Sized {
    // Required methods
    fn is_suggestable(self, tcx: TyCtxt<'tcx>, infer_suggestable: bool) -> bool;
    fn make_suggestable(
        self,
        tcx: TyCtxt<'tcx>,
        infer_suggestable: bool,
        placeholder: Option<Ty<'tcx>>,
    ) -> Option<Self>;
}

Required Methods§

source

fn is_suggestable(self, tcx: TyCtxt<'tcx>, infer_suggestable: bool) -> bool

Whether this makes sense to suggest in a diagnostic.

We filter out certain types and constants since they don’t provide meaningful rendered suggestions when pretty-printed. We leave some nonsense, such as region vars, since those render as '_ and are usually okay to reinterpret as elided lifetimes.

Only if infer_suggestable is true, we consider type and const inference variables to be suggestable.

source

fn make_suggestable( self, tcx: TyCtxt<'tcx>, infer_suggestable: bool, placeholder: Option<Ty<'tcx>>, ) -> Option<Self>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

source§

impl<'tcx, T> IsSuggestable<'tcx> for T
where T: TypeVisitable<TyCtxt<'tcx>> + TypeFoldable<TyCtxt<'tcx>>,