/// To avoid cycles within the predicates of a single item we compute
/// per-type-parameter predicates for resolving `T::AssocTy`.
query type_param_predicates(key: (DefId, LocalDefId, rustc_span::symbol::Ident)) -> ty::GenericPredicates<'tcx> {
- desc { |tcx| "computing the bounds for type parameter `{}`", {
- let id = tcx.hir().local_def_id_to_hir_id(key.1);
- tcx.hir().ty_param_name(id)
- }}
+ desc { |tcx| "computing the bounds for type parameter `{}`", tcx.hir().ty_param_name(key.1) }
}
query trait_def(key: DefId) -> ty::TraitDef {
///
/// **Do not call this function manually.** It is only meant to cache the base data for the
/// `is_const_fn` function.
- query is_const_fn_raw(key: DefId) -> bool {
+ query impl_constness(key: DefId) -> hir::Constness {
desc { |tcx| "checking if item is const fn: `{}`", tcx.def_path_str(key) }
separate_provide_extern
}
separate_provide_extern
}
- /// Returns `Some(mutability)` if the node pointed to by `def_id` is a static item.
- query static_mutability(def_id: DefId) -> Option<hir::Mutability> {
- desc { |tcx| "looking up static mutability of `{}`", tcx.def_path_str(def_id) }
- separate_provide_extern
- }
-
/// Returns `Some(generator_kind)` if the node pointed to by `def_id` is a generator.
query generator_kind(def_id: DefId) -> Option<hir::GeneratorKind> {
desc { |tcx| "looking up generator kind of `{}`", tcx.def_path_str(def_id) }
separate_provide_extern
}
- query impl_constness(def_id: DefId) -> hir::Constness {
- desc { |tcx| "looking up whether `{}` is a const impl", tcx.def_path_str(def_id) }
- separate_provide_extern
- }
-
query check_item_well_formed(key: LocalDefId) -> () {
desc { |tcx| "checking that `{}` is well-formed", tcx.def_path_str(key.to_def_id()) }
}
Option<&'tcx FxHashMap<ItemLocalId, Region>> {
desc { "looking up a named region" }
}
- query is_late_bound_map(_: LocalDefId) ->
- Option<(LocalDefId, &'tcx FxHashSet<ItemLocalId>)> {
+ query is_late_bound_map(_: LocalDefId) -> Option<(LocalDefId, &'tcx FxHashSet<LocalDefId>)> {
desc { "testing if a region is late bound" }
}
/// For a given item (like a struct), gets the default lifetimes to be used
eval_always
desc { "computing the backend features for CLI flags" }
}
+
+ query generator_diagnostic_data(key: DefId) -> Option<GeneratorDiagnosticData<'tcx>> {
+ storage(ArenaCacheSelector<'tcx>)
+ desc { |tcx| "looking up generator diagnostic data of `{}`", tcx.def_path_str(key) }
+ separate_provide_extern
+ }
}