Auto merge of #81405 - bugadani:ast, r=cjgillot
Box the biggest ast::ItemKind variants This PR is a different approach on https://github.com/rust-lang/rust/pull/81400, aiming to save memory in humongous ASTs. The three affected item kind enums are: - `ast::ItemKind` (208 -> 112 bytes) - `ast::AssocItemKind` (176 -> 72 bytes) - `ast::ForeignItemKind` (176 -> 72 bytes)
This commit is contained in:
@@ -1109,7 +1109,9 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> {
|
||||
if assoc_item.ident == ident {
|
||||
return Some(match &assoc_item.kind {
|
||||
ast::AssocItemKind::Const(..) => AssocSuggestion::AssocConst,
|
||||
ast::AssocItemKind::Fn(_, sig, ..) if sig.decl.has_self() => {
|
||||
ast::AssocItemKind::Fn(box ast::FnKind(_, sig, ..))
|
||||
if sig.decl.has_self() =>
|
||||
{
|
||||
AssocSuggestion::MethodWithSelf
|
||||
}
|
||||
ast::AssocItemKind::Fn(..) => AssocSuggestion::AssocFn,
|
||||
|
||||
Reference in New Issue
Block a user