# Function rustdoc::html::render::search_index::simplify_fn_type

source ·

    fn simplify_fn_type<'tcx, 'a>(
        self_: Option<&'a Type>,
        generics: &Generics,
        arg: &'a Type,
        tcx: TyCtxt<'tcx>,
        recurse: usize,
        res: &mut Vec<RenderType>,
        rgen: &mut FxHashMap<SimplifiedParam, (isize, Vec<RenderType>)>,
        is_return: bool,
        cache: &Cache
    )

Expand description

The point of this function is to lower generics and types into the simplified form that the frontend search engine can use.

For example, `[T, U, i32]]` where you have the bounds: `T: Display, U: Option<T>` will return `[-1, -2, i32] where -1: Display, -2: Option<-1>`. If a type parameter has no traid bound, it will still get a number. If a constraint is present but not used in the actual types, it will not be added to the map.

This function also works recursively.