# Trait rustc_middle::ty::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>

## Object Safety§

This trait is not object safe.

## Implementors§

source§

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