ref defaultness,
ref attrs,
ref generics,
- ref node,
+ ref kind,
span: _,
} = *impl_item;
visitor.visit_defaultness(defaultness);
walk_list!(visitor, visit_attribute, attrs);
visitor.visit_generics(generics);
- match *node {
+ match *kind {
ImplItemKind::Const(ref ty, body) => {
visitor.visit_id(impl_item.hir_id);
visitor.visit_ty(ty);
fn lower_impl_item(&mut self, i: &ImplItem) -> hir::ImplItem {
let impl_item_def_id = self.resolver.definitions().local_def_id(i.id);
- let (generics, node) = match i.node {
+ let (generics, kind) = match i.kind {
ImplItemKind::Const(ref ty, ref expr) => (
self.lower_generics(&i.generics, ImplTraitContext::disallowed()),
hir::ImplItemKind::Const(
generics,
vis: self.lower_visibility(&i.vis, None),
defaultness: self.lower_defaultness(i.defaultness, true /* [1] */),
- node,
+ kind,
span: i.span,
}
span: i.span,
vis: self.lower_visibility(&i.vis, Some(i.id)),
defaultness: self.lower_defaultness(i.defaultness, true /* [1] */),
- kind: match i.node {
+ kind: match i.kind {
ImplItemKind::Const(..) => hir::AssocItemKind::Const,
ImplItemKind::TyAlias(..) => hir::AssocItemKind::Type,
ImplItemKind::OpaqueTy(..) => hir::AssocItemKind::OpaqueTy,
impl MaybeFnLike for ast::ImplItem {
fn is_fn_like(&self) -> bool {
- match self.node { ast::ImplItemKind::Method(..) => true, _ => false, }
+ match self.kind {
+ ast::ImplItemKind::Method(..) => true,
+ _ => false,
+ }
}
}
_ => bug!("trait method FnLikeNode that is not fn-like"),
},
map::Node::ImplItem(ii) => {
- match ii.node {
+ match ii.kind {
ast::ImplItemKind::Method(ref sig, body) => {
method(ii.hir_id, ii.ident, sig, Some(&ii.vis), body, ii.span, &ii.attrs)
}
}
fn visit_impl_item(&mut self, ii: &'a ImplItem) {
- let def_data = match ii.node {
+ let def_data = match ii.kind {
ImplItemKind::Method(MethodSig {
ref header,
ref decl,
}
Node::ImplItem(ref item) => {
- match item.node {
+ match item.kind {
ImplItemKind::Method(ref method_sig, _) => Some(&method_sig.decl),
_ => None,
}
}
Node::ImplItem(item) => {
- match item.node {
+ match item.kind {
ImplItemKind::Const(_, body) |
ImplItemKind::Method(_, body) => Some(body),
_ => None,
}
}
Node::ImplItem(item) => {
- match item.node {
+ match item.kind {
ImplItemKind::Const(..) => DefKind::AssocConst,
ImplItemKind::Method(..) => DefKind::Method,
ImplItemKind::TyAlias(..) => DefKind::AssocTy,
match self.get(id) {
Node::Item(&Item { node: ItemKind::Const(..), .. }) |
Node::TraitItem(&TraitItem { node: TraitItemKind::Const(..), .. }) |
- Node::ImplItem(&ImplItem { node: ImplItemKind::Const(..), .. }) |
+ Node::ImplItem(&ImplItem { kind: ImplItemKind::Const(..), .. }) |
Node::AnonConst(_) => {
BodyOwnerKind::Const
}
Node::Ctor(..) |
Node::Item(&Item { node: ItemKind::Fn(..), .. }) |
Node::TraitItem(&TraitItem { node: TraitItemKind::Method(..), .. }) |
- Node::ImplItem(&ImplItem { node: ImplItemKind::Method(..), .. }) => {
+ Node::ImplItem(&ImplItem { kind: ImplItemKind::Method(..), .. }) => {
BodyOwnerKind::Fn
}
Node::Item(&Item { node: ItemKind::Static(_, m, _), .. }) => {
..
})
| Node::ImplItem(&ImplItem {
- node: ImplItemKind::Const(..),
+ kind: ImplItemKind::Const(..),
..
})
| Node::AnonConst(_)
}
},
Node::ImplItem(ii) => {
- match ii.node {
+ match ii.kind {
ImplItemKind::Method(..) => true,
_ => false,
}
format!("foreign item {}{}", path_str(), id_str)
}
Some(Node::ImplItem(ii)) => {
- match ii.node {
+ match ii.kind {
ImplItemKind::Const(..) => {
format!("assoc const {} in {}{}", ii.ident, path_str(), id_str)
}
pub defaultness: Defaultness,
pub attrs: HirVec<Attribute>,
pub generics: Generics,
- pub node: ImplItemKind,
+ pub kind: ImplItemKind,
pub span: Span,
}
self.print_outer_attributes(&ii.attrs);
self.print_defaultness(ii.defaultness);
- match ii.node {
+ match ii.kind {
hir::ImplItemKind::Const(ref ty, expr) => {
self.print_associated_const(ii.ident, &ty, Some(expr), &ii.vis);
}
defaultness,
ref attrs,
ref generics,
- ref node,
+ ref kind,
span
} = *self;
defaultness.hash_stable(hcx, hasher);
attrs.hash_stable(hcx, hasher);
generics.hash_stable(hcx, hasher);
- node.hash_stable(hcx, hasher);
+ kind.hash_stable(hcx, hasher);
span.hash_stable(hcx, hasher);
});
}
}
fn impl_item_scope_tag(item: &hir::ImplItem) -> &'static str {
- match item.node {
+ match item.kind {
hir::ImplItemKind::Method(..) => "method body",
hir::ImplItemKind::Const(..)
| hir::ImplItemKind::OpaqueTy(..)
..
})
| Node::ImplItem(&hir::ImplItem {
- node: hir::ImplItemKind::Method(ref m, ..),
+ kind: hir::ImplItemKind::Method(ref m, ..),
..
}) => &m.decl,
_ => return None,
(def_scope_default(), hir::OpaqueTyOrigin::TypeAlias)
}
},
- Some(Node::ImplItem(item)) => match item.node {
+ Some(Node::ImplItem(item)) => match item.kind {
hir::ImplItemKind::OpaqueTy(_) => (
may_define_opaque_type(
tcx,
}
fn visit_impl_item(&mut self, impl_item: &'tcx hir::ImplItem) {
- match impl_item.node {
+ match impl_item.kind {
hir::ImplItemKind::Const(_, body_id) => {
if !self.symbol_is_live(impl_item.hir_id) {
self.warn_dead_code(impl_item.hir_id,
if codegen_fn_attrs.requests_inline() || generics.requires_monomorphization(tcx) {
return true
}
- if let hir::ImplItemKind::Method(method_sig, _) = &impl_item.node {
+ if let hir::ImplItemKind::Method(method_sig, _) = &impl_item.kind {
if method_sig.header.is_const() {
return true
}
}
}
Some(Node::ImplItem(impl_item)) => {
- match impl_item.node {
+ match impl_item.kind {
hir::ImplItemKind::Const(..) => true,
hir::ImplItemKind::Method(..) => {
let attrs = self.tcx.codegen_fn_attrs(def_id);
}
}
Node::ImplItem(impl_item) => {
- match impl_item.node {
+ match impl_item.kind {
hir::ImplItemKind::Const(_, body) => {
self.visit_nested_body(body);
}
fn visit_impl_item(&mut self, impl_item: &'tcx hir::ImplItem) {
use self::hir::ImplItemKind::*;
- match impl_item.node {
+ match impl_item.kind {
Method(ref sig, _) => {
let tcx = self.tcx;
self.visit_early_late(
}
},
Node::ImplItem(impl_item) => {
- if let hir::ImplItemKind::Method(sig, _) = &impl_item.node {
+ if let hir::ImplItemKind::Method(sig, _) = &impl_item.kind {
find_arg_use_span(&sig.decl.inputs);
}
}
..
})
| Node::ImplItem(&hir::ImplItem {
- node: hir::ImplItemKind::Method(..),
+ kind: hir::ImplItemKind::Method(..),
..
}) => {
let scope = self.tcx.hir().local_def_id(fn_id);
}
Node::ImplItem(&hir::ImplItem {
- node: hir::ImplItemKind::Method(_, body),
+ kind: hir::ImplItemKind::Method(_, body),
..
}) => {
if let hir::ItemKind::Impl(.., ref self_ty, ref impl_items) = self.tcx
}) |
Node::ImplItem(&hir::ImplItem {
span,
- node: hir::ImplItemKind::Method(hir::MethodSig { ref decl, .. }, _),
+ kind: hir::ImplItemKind::Method(hir::MethodSig { ref decl, .. }, _),
..
}) |
Node::TraitItem(&hir::TraitItem {
node: hir::ItemKind::Fn(..), ..
}) |
Node::ImplItem(&hir::ImplItem {
- node: hir::ImplItemKind::Method(..),
+ kind: hir::ImplItemKind::Method(..),
..
}) => {
let def_id = tcx.hir().local_def_id(hir_id);
}
},
HirNode::ImplItem(item) => {
- match item.node {
+ match item.kind {
ImplItemKind::Method(..) => ("Node::ImplItem", LABELS_FN_IN_IMPL),
ImplItemKind::Const(..) => ("NodeImplConst", LABELS_CONST_IN_IMPL),
ImplItemKind::TyAlias(..) => ("NodeImplType", LABELS_CONST_IN_IMPL),
}
fn flat_map_impl_item(&mut self, i: ast::ImplItem) -> SmallVec<[ast::ImplItem; 1]> {
- let is_const = match i.node {
+ let is_const = match i.kind {
ast::ImplItemKind::Const(..) => true,
ast::ImplItemKind::Method(ast::MethodSig { ref decl, ref header, .. }, _) =>
header.constness.node == ast::Constness::Const || Self::should_ignore_fn(decl),
return;
}
- let desc = match impl_item.node {
+ let desc = match impl_item.kind {
hir::ImplItemKind::Const(..) => "an associated constant",
hir::ImplItemKind::Method(..) => "a method",
hir::ImplItemKind::TyAlias(_) => "an associated type",
}
fn check_impl_item(&mut self, cx: &LateContext<'_, '_>, ii: &hir::ImplItem) {
- if let hir::ImplItemKind::Const(..) = ii.node {
+ if let hir::ImplItemKind::Const(..) = ii.kind {
NonUpperCaseGlobals::check_upper_case(cx, "associated constant", &ii.ident);
}
}
let kind = match impl_item.kind {
ty::AssocKind::Const => {
- if let hir::ImplItemKind::Const(_, body_id) = ast_item.node {
+ if let hir::ImplItemKind::Const(_, body_id) = ast_item.kind {
let mir = self.tcx.at(ast_item.span).mir_const_qualif(def_id).0;
EntryKind::AssocConst(container,
}
}
ty::AssocKind::Method => {
- let fn_data = if let hir::ImplItemKind::Method(ref sig, body) = ast_item.node {
+ let fn_data = if let hir::ImplItemKind::Method(ref sig, body) = ast_item.kind {
FnData {
asyncness: sig.header.asyncness,
constness: sig.header.constness,
ty::AssocKind::Type => EntryKind::AssocType(container)
};
- let mir =
- match ast_item.node {
- hir::ImplItemKind::Const(..) => true,
- hir::ImplItemKind::Method(ref sig, _) => {
- let generics = self.tcx.generics_of(def_id);
- let needs_inline = (generics.requires_monomorphization(self.tcx) ||
- tcx.codegen_fn_attrs(def_id).requests_inline()) &&
- !self.metadata_output_only();
- let is_const_fn = sig.header.constness == hir::Constness::Const;
- let always_encode_mir = self.tcx.sess.opts.debugging_opts.always_encode_mir;
- needs_inline || is_const_fn || always_encode_mir
- },
- hir::ImplItemKind::OpaqueTy(..) |
- hir::ImplItemKind::TyAlias(..) => false,
- };
+ let mir = match ast_item.kind {
+ hir::ImplItemKind::Const(..) => true,
+ hir::ImplItemKind::Method(ref sig, _) => {
+ let generics = self.tcx.generics_of(def_id);
+ let needs_inline = (generics.requires_monomorphization(self.tcx) ||
+ tcx.codegen_fn_attrs(def_id).requests_inline()) &&
+ !self.metadata_output_only();
+ let is_const_fn = sig.header.constness == hir::Constness::Const;
+ let always_encode_mir = self.tcx.sess.opts.debugging_opts.always_encode_mir;
+ needs_inline || is_const_fn || always_encode_mir
+ },
+ hir::ImplItemKind::OpaqueTy(..) |
+ hir::ImplItemKind::TyAlias(..) => false,
+ };
Entry {
kind,
},
),
hir::Node::ImplItem(hir::ImplItem {
- node: hir::ImplItemKind::Method(method_sig, _),
+ kind: hir::ImplItemKind::Method(method_sig, _),
..
}) => (method_sig.decl.output.span(), ""),
_ => (body.span, ""),
| Node::Item(hir::Item { node: hir::ItemKind::Fn(decl, _, _, body_id), .. })
| Node::ImplItem(
hir::ImplItem {
- node: hir::ImplItemKind::Method(hir::MethodSig { decl, .. }, body_id),
+ kind: hir::ImplItemKind::Method(hir::MethodSig { decl, .. }, body_id),
..
}
)
}
Node::Item(hir::Item { node: hir::ItemKind::Static(ty, _, body_id), .. })
| Node::Item(hir::Item { node: hir::ItemKind::Const(ty, body_id), .. })
- | Node::ImplItem(hir::ImplItem { node: hir::ImplItemKind::Const(ty, body_id), .. })
+ | Node::ImplItem(hir::ImplItem { kind: hir::ImplItemKind::Const(ty, body_id), .. })
| Node::TraitItem(
hir::TraitItem { node: hir::TraitItemKind::Const(ty, Some(body_id)), .. }
) => {
}
fn visit_impl_item(&mut self, ii: &'v hir::ImplItem) {
- match ii.node {
+ match ii.kind {
hir::ImplItemKind::Method(hir::MethodSig { .. }, _) => {
let def_id = self.tcx.hir().local_def_id(ii.hir_id);
self.push_if_root(def_id);
}
for impl_item in impl_items {
self.invalid_visibility(&impl_item.vis, None);
- if let ImplItemKind::Method(ref sig, _) = impl_item.node {
+ if let ImplItemKind::Method(ref sig, _) = impl_item.kind {
self.check_trait_fn_not_const(sig.header.constness);
self.check_trait_fn_not_async(impl_item.span, sig.header.asyncness.node);
}
}
fn visit_impl_item(&mut self, ii: &'a ImplItem) {
- match ii.node {
- ImplItemKind::Method(ref sig, _) => {
- self.check_fn_decl(&sig.decl);
- }
- _ => {}
+ if let ImplItemKind::Method(ref sig, _) = ii.kind {
+ self.check_fn_decl(&sig.decl);
}
visit::walk_impl_item(self, ii);
}
impl_item_refs.iter()
.any(|impl_item_ref| {
let impl_item = self.tcx.hir().impl_item(impl_item_ref.id);
- match impl_item.node {
+ match impl_item.kind {
hir::ImplItemKind::Const(..) |
hir::ImplItemKind::Method(..) => {
self.access_levels.is_reachable(
// don't erroneously report errors for private
// types in private items.
let impl_item = self.tcx.hir().impl_item(impl_item_ref.id);
- match impl_item.node {
+ match impl_item.kind {
hir::ImplItemKind::Const(..) |
hir::ImplItemKind::Method(..)
if self.item_is_public(&impl_item.hir_id, &impl_item.vis) =>
// Those in 3. are warned with this call.
for impl_item_ref in impl_item_refs {
let impl_item = self.tcx.hir().impl_item(impl_item_ref.id);
- if let hir::ImplItemKind::TyAlias(ref ty) = impl_item.node {
+ if let hir::ImplItemKind::TyAlias(ref ty) = impl_item.kind {
self.visit_ty(ty);
}
}
}
impl<'a, 'b> Visitor<'b> for BuildReducedGraphVisitor<'a, 'b> {
- method!(visit_impl_item: ast::ImplItem, ast::ImplItemKind::Macro, walk_impl_item, node);
+ method!(visit_impl_item: ast::ImplItem, ast::ImplItemKind::Macro, walk_impl_item, kind);
method!(visit_expr: ast::Expr, ast::ExprKind::Mac, walk_expr, kind);
method!(visit_pat: ast::Pat, ast::PatKind::Mac, walk_pat, kind);
method!(visit_ty: ast::Ty, ast::TyKind::Mac, walk_ty, node);
AssocItemRibKind);
this.with_generic_param_rib(generic_params, |this| {
use crate::ResolutionError::*;
- match impl_item.node {
+ match impl_item.kind {
ImplItemKind::Const(..) => {
debug!(
"resolve_implementation ImplItemKind::Const",
fn process_impl_item(&mut self, impl_item: &'l ast::ImplItem, impl_id: DefId) {
self.process_macro_use(impl_item.span);
- match impl_item.node {
+ match impl_item.kind {
ast::ImplItemKind::Const(ref ty, ref expr) => {
self.process_assoc_const(
impl_item.id,
_ => NodeKind::Other,
}
- Node::ImplItem(item) => match item.node {
+ Node::ImplItem(item) => match item.kind {
ImplItemKind::Method(..) => NodeKind::Fn,
_ => NodeKind::Other,
}
let impl_m_hir_id = tcx.hir().as_local_hir_id(impl_m.def_id).unwrap();
let (impl_m_output, impl_m_iter) = match tcx.hir()
.expect_impl_item(impl_m_hir_id)
- .node {
+ .kind {
ImplItemKind::Method(ref impl_m_sig, _) => {
(&impl_m_sig.decl.output, impl_m_sig.decl.inputs.iter())
}
trait_item_span
};
let impl_m_hir_id = tcx.hir().as_local_hir_id(impl_m.def_id).unwrap();
- let impl_span = match tcx.hir().expect_impl_item(impl_m_hir_id).node {
+ let impl_span = match tcx.hir().expect_impl_item(impl_m_hir_id).kind {
ImplItemKind::Method(ref impl_m_sig, _) => {
let pos = if impl_number_args > 0 {
impl_number_args - 1
(|| {
let impl_m = tcx.hir().as_local_hir_id(impl_m.def_id)?;
let impl_m = tcx.hir().impl_item(hir::ImplItemId { hir_id: impl_m });
- let input_tys = match impl_m.node {
+ let input_tys = match impl_m.kind {
hir::ImplItemKind::Method(ref sig, _) => &sig.decl.inputs,
_ => unreachable!(),
};
trait_ty);
// Locate the Span containing just the type of the offending impl
- match tcx.hir().expect_impl_item(impl_c_hir_id).node {
+ match tcx.hir().expect_impl_item(impl_c_hir_id).kind {
ImplItemKind::Const(ref ty, _) => cause.span = ty.span,
_ => bug!("{:?} is not a impl const", impl_c),
}
}
}
Node::ImplItem(item) => {
- match item.node {
+ match item.kind {
hir::ImplItemKind::Const(ref ty, body) =>
Some((body, Some(ty), None, None)),
hir::ImplItemKind::Method(ref sig, body) =>
) {
let ancestors = trait_def.ancestors(tcx, impl_id);
- let kind = match impl_item.node {
+ let kind = match impl_item.kind {
hir::ImplItemKind::Const(..) => ty::AssocKind::Const,
hir::ImplItemKind::Method(..) => ty::AssocKind::Method,
hir::ImplItemKind::OpaqueTy(..) => ty::AssocKind::OpaqueTy,
let ty_impl_item = tcx.associated_item(
tcx.hir().local_def_id(impl_item.hir_id));
let ty_trait_item = tcx.associated_items(impl_trait_ref.def_id)
- .find(|ac| Namespace::from(&impl_item.node) == Namespace::from(ac.kind) &&
+ .find(|ac| Namespace::from(&impl_item.kind) == Namespace::from(ac.kind) &&
tcx.hygienic_eq(ty_impl_item.ident, ac.ident, impl_trait_ref.def_id))
.or_else(|| {
// Not compatible, but needed for the error message
// Check that impl definition matches trait definition
if let Some(ty_trait_item) = ty_trait_item {
- match impl_item.node {
+ match impl_item.kind {
hir::ImplItemKind::Const(..) => {
// Find associated const definition.
if ty_trait_item.kind == ty::AssocKind::Const {
node: hir::ItemKind::Fn(_, _, _, body_id), ..
}) |
Node::ImplItem(&hir::ImplItem {
- node: hir::ImplItemKind::Method(_, body_id), ..
+ kind: hir::ImplItemKind::Method(_, body_id), ..
}) => {
let body = self.tcx.hir().body(body_id);
if let ExprKind::Block(block, _) = &body.value.kind {
}, ..), ..
}) => Some((decl, ident, true)),
Node::ImplItem(&hir::ImplItem {
- ident, node: hir::ImplItemKind::Method(hir::MethodSig {
+ ident, kind: hir::ImplItemKind::Method(hir::MethodSig {
ref decl, ..
}, ..), ..
}) => Some((decl, ident, false)),
..
})) |
Some(Node::ImplItem(hir::ImplItem {
- node: hir::ImplItemKind::Method(_, body_id),
+ kind: hir::ImplItemKind::Method(_, body_id),
..
})) |
Some(Node::TraitItem(hir::TraitItem {
let hir_id = tcx.hir().as_local_hir_id(def_id).unwrap();
let impl_item = tcx.hir().expect_impl_item(hir_id);
- let method_sig = match impl_item.node {
+ let method_sig = match impl_item.kind {
hir::ImplItemKind::Method(ref sig, _) => Some(sig),
_ => None
};
tcx.generics_of(def_id);
tcx.type_of(def_id);
tcx.predicates_of(def_id);
- if let hir::ImplItemKind::Method(..) = tcx.hir().expect_impl_item(impl_item_id).node {
+ if let hir::ImplItemKind::Method(..) = tcx.hir().expect_impl_item(impl_item_id).kind {
tcx.fn_sig(def_id);
}
}
}
_ => None,
},
- Node::ImplItem(item) => match item.node {
+ Node::ImplItem(item) => match item.kind {
hir::ImplItemKind::Method(ref sig, _) => {
has_late_bound_regions(tcx, &item.generics, &sig.decl)
}
}
},
- Node::ImplItem(item) => match item.node {
+ Node::ImplItem(item) => match item.kind {
ImplItemKind::Method(..) => {
let substs = InternalSubsts::identity_for_item(tcx, def_id);
tcx.mk_fn_def(def_id, substs)
..
})
| ImplItem(hir::ImplItem {
- node: ImplItemKind::Method(MethodSig { header, decl }, _),
+ kind: ImplItemKind::Method(MethodSig { header, decl }, _),
..
})
| Item(hir::Item {
let ast_generics = match node {
Node::TraitItem(item) => &item.generics,
- Node::ImplItem(item) => match item.node {
+ Node::ImplItem(item) => match item.kind {
ImplItemKind::OpaqueTy(ref bounds) => {
let substs = InternalSubsts::identity_for_item(tcx, def_id);
let opaque_ty = tcx.mk_opaque(def_id, substs);
let mut seen_value_items = FxHashMap::default();
for impl_item_ref in impl_item_refs {
let impl_item = tcx.hir().impl_item(impl_item_ref.id);
- let seen_items = match impl_item.node {
+ let seen_items = match impl_item.kind {
hir::ImplItemKind::TyAlias(_) => &mut seen_type_items,
_ => &mut seen_value_items,
};
}
fn visit_impl_item(&mut self, impl_item: &hir::ImplItem) {
- if let hir::ImplItemKind::Method(..) = impl_item.node {
+ if let hir::ImplItemKind::Method(..) = impl_item.kind {
self.visit_node_helper(impl_item.hir_id);
}
}
_ => unsupported()
},
- Node::ImplItem(item) => match item.node {
+ Node::ImplItem(item) => match item.kind {
hir::ImplItemKind::Method(..) => {}
_ => unsupported()
}
fn visit_impl_item(&mut self, impl_item: &hir::ImplItem) {
- if let hir::ImplItemKind::Method(..) = impl_item.node {
+ if let hir::ImplItemKind::Method(..) = impl_item.kind {
self.add_inferreds_for_item(impl_item.hir_id);
}
}
impl Clean<Item> for hir::ImplItem {
fn clean(&self, cx: &DocContext<'_>) -> Item {
- let inner = match self.node {
+ let inner = match self.kind {
hir::ImplItemKind::Const(ref ty, expr) => {
AssocConstItem(ty.clean(cx),
Some(print_const_expr(cx, expr)))
pub defaultness: Defaultness,
pub attrs: Vec<Attribute>,
pub generics: Generics,
- pub node: ImplItemKind,
+ pub kind: ImplItemKind,
pub span: Span,
/// See `Item::tokens` for what this is.
pub tokens: Option<TokenStream>,
AstFragmentKind::ImplItems, after_derive).make_impl_items();
}
- match item.node {
+ match item.kind {
ast::ImplItemKind::Macro(mac) => {
let ast::ImplItem { attrs, span, .. } = item;
self.check_attributes(&attrs);
}]),
AstFragmentKind::ImplItems => AstFragment::ImplItems(smallvec![ast::ImplItem {
id, span, ident, vis, attrs, generics,
- node: ast::ImplItemKind::Macro(mac_placeholder()),
+ kind: ast::ImplItemKind::Macro(mac_placeholder()),
defaultness: ast::Defaultness::Final,
tokens: None,
}]),
}
fn flat_map_impl_item(&mut self, item: ast::ImplItem) -> SmallVec<[ast::ImplItem; 1]> {
- match item.node {
+ match item.kind {
ast::ImplItemKind::Macro(_) => self.remove(item.id).make_impl_items(),
_ => noop_flat_map_impl_item(item, self),
}
"specialization is unstable");
}
- match ii.node {
+ match ii.kind {
ast::ImplItemKind::Method(..) => {}
ast::ImplItemKind::OpaqueTy(..) => {
gate_feature_post!(
pub fn noop_flat_map_impl_item<T: MutVisitor>(mut item: ImplItem, visitor: &mut T)
-> SmallVec<[ImplItem; 1]>
{
- let ImplItem { id, ident, vis, defaultness: _, attrs, generics, node, span, tokens: _ } =
+ let ImplItem { id, ident, vis, defaultness: _, attrs, generics, kind, span, tokens: _ } =
&mut item;
visitor.visit_id(id);
visitor.visit_ident(ident);
visitor.visit_vis(vis);
visit_attrs(attrs, visitor);
visitor.visit_generics(generics);
- match node {
+ match kind {
ImplItemKind::Const(ty, expr) => {
visitor.visit_ty(ty);
visitor.visit_expr(expr);
let lo = self.token.span;
let vis = self.parse_visibility(false)?;
let defaultness = self.parse_defaultness();
- let (name, node, generics) = if let Some(type_) = self.eat_type() {
+ let (name, kind, generics) = if let Some(type_) = self.eat_type() {
let (name, alias, generics) = type_?;
let kind = match alias {
AliasKind::Weak(typ) => ast::ImplItemKind::TyAlias(typ),
self.expect(&token::Semi)?;
(name, ast::ImplItemKind::Const(typ, expr), Generics::default())
} else {
- let (name, inner_attrs, generics, node) = self.parse_impl_method(&vis, at_end)?;
+ let (name, inner_attrs, generics, kind) = self.parse_impl_method(&vis, at_end)?;
attrs.extend(inner_attrs);
- (name, node, generics)
+ (name, kind, generics)
};
Ok(ImplItem {
defaultness,
attrs,
generics,
- node,
+ kind,
tokens: None,
})
}
self.maybe_print_comment(ii.span.lo());
self.print_outer_attributes(&ii.attrs);
self.print_defaultness(ii.defaultness);
- match ii.node {
+ match ii.kind {
ast::ImplItemKind::Const(ref ty, ref expr) => {
self.print_associated_const(ii.ident, ty, Some(expr), &ii.vis);
}
visitor.visit_ident(impl_item.ident);
walk_list!(visitor, visit_attribute, &impl_item.attrs);
visitor.visit_generics(&impl_item.generics);
- match impl_item.node {
+ match impl_item.kind {
ImplItemKind::Const(ref ty, ref expr) => {
visitor.visit_ty(ty);
visitor.visit_expr(expr);
defaultness: ast::Defaultness::Final,
attrs: Vec::new(),
generics: Generics::default(),
- node: ast::ImplItemKind::TyAlias(
+ kind: ast::ImplItemKind::TyAlias(
type_def.to_ty(cx, self.span, type_ident, generics)),
tokens: None,
}
vis: respan(trait_.span.shrink_to_lo(), ast::VisibilityKind::Inherited),
defaultness: ast::Defaultness::Final,
ident: method_ident,
- node: ast::ImplItemKind::Method(ast::MethodSig {
+ kind: ast::ImplItemKind::Method(ast::MethodSig {
header: ast::FnHeader {
unsafety, abi,
..ast::FnHeader::default()