asyncness: Table<DefIndex, Lazy!(hir::IsAsync)>,
fn_arg_names: Table<DefIndex, Lazy!([Ident])>,
generator_kind: Table<DefIndex, Lazy!(hir::GeneratorKind)>,
+ trait_def: Table<DefIndex, Lazy!(ty::TraitDef)>,
trait_item_def_id: Table<DefIndex, Lazy<DefId>>,
inherent_impls: Table<DefIndex, Lazy<[DefIndex]>>,
ProcMacro(MacroKind),
Closure,
Generator,
- Trait(Lazy<TraitData>),
+ Trait,
Impl,
AssocFn(Lazy<AssocFnData>),
AssocType(AssocContainer),
is_non_exhaustive: bool,
}
-#[derive(TyEncodable, TyDecodable)]
-struct TraitData {
- unsafety: hir::Unsafety,
- paren_sugar: bool,
- has_auto_impl: bool,
- is_marker: bool,
- skip_array_during_method_dispatch: bool,
- specialization_kind: ty::trait_def::TraitSpecializationKind,
- must_implement_one_of: Option<Box<[Ident]>>,
-}
-
/// Describes whether the container of an associated item
/// is a trait or an impl and whether, in a trait, it has
/// a default, or an in impl, whether it's marked "default".