Auto merge of #79322 - jyn514:refactor-impl, r=estebank
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. See `rustc_save_analysis::dump_visitor::process_impl` or `rustdoc::clean::clean_impl` for a good example of how this makes `impl`s easier to work with. r? `@petrochenkov` maybe?
This commit is contained in:
commit
150d1fee04
61 changed files with 258 additions and 246 deletions
|
@ -1283,7 +1283,7 @@ impl EncodeContext<'a, 'tcx> {
|
|||
is_non_exhaustive: variant.is_field_list_non_exhaustive(),
|
||||
}), adt_def.repr)
|
||||
}
|
||||
hir::ItemKind::Impl { defaultness, .. } => {
|
||||
hir::ItemKind::Impl(hir::Impl { defaultness, .. }) => {
|
||||
let trait_ref = self.tcx.impl_trait_ref(def_id);
|
||||
let polarity = self.tcx.impl_polarity(def_id);
|
||||
let parent = if let Some(trait_ref) = trait_ref {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue