Separate out a hir::Impl
struct
This makes it possible to pass the `Impl` directly to functions, instead of having to pass each of the many fields one at a time. It also simplifies matches in many cases.
This commit is contained in:
parent
fd34606ddf
commit
a8ff647deb
61 changed files with 258 additions and 246 deletions
|
@ -134,7 +134,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
|||
let old_len = self.in_scope_lifetimes.len();
|
||||
|
||||
let parent_generics = match self.items.get(&parent_hir_id).unwrap().kind {
|
||||
hir::ItemKind::Impl { ref generics, .. }
|
||||
hir::ItemKind::Impl(hir::Impl { ref generics, .. })
|
||||
| hir::ItemKind::Trait(_, _, ref generics, ..) => &generics.params[..],
|
||||
_ => &[],
|
||||
};
|
||||
|
@ -431,7 +431,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
|||
// to not cause an assertion failure inside the `lower_defaultness` function.
|
||||
let has_val = true;
|
||||
let (defaultness, defaultness_span) = self.lower_defaultness(defaultness, has_val);
|
||||
hir::ItemKind::Impl {
|
||||
hir::ItemKind::Impl(hir::Impl {
|
||||
unsafety: self.lower_unsafety(unsafety),
|
||||
polarity,
|
||||
defaultness,
|
||||
|
@ -441,7 +441,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
|||
of_trait: trait_ref,
|
||||
self_ty: lowered_ty,
|
||||
items: new_impl_items,
|
||||
}
|
||||
})
|
||||
}
|
||||
ItemKind::Trait(is_auto, unsafety, ref generics, ref bounds, ref items) => {
|
||||
let bounds = self.lower_param_bounds(bounds, ImplTraitContext::disallowed());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue