mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
ast: Standardize visiting order for attributes and node IDs
This commit is contained in:
parent
2c243d9570
commit
0195758c1a
@ -429,10 +429,10 @@ pub fn noop_flat_map_pat_field<T: MutVisitor>(
|
|||||||
) -> SmallVec<[PatField; 1]> {
|
) -> SmallVec<[PatField; 1]> {
|
||||||
let PatField { attrs, id, ident, is_placeholder: _, is_shorthand: _, pat, span } = &mut fp;
|
let PatField { attrs, id, ident, is_placeholder: _, is_shorthand: _, pat, span } = &mut fp;
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
visit_attrs(attrs, vis);
|
||||||
vis.visit_ident(ident);
|
vis.visit_ident(ident);
|
||||||
vis.visit_pat(pat);
|
vis.visit_pat(pat);
|
||||||
vis.visit_span(span);
|
vis.visit_span(span);
|
||||||
visit_attrs(attrs, vis);
|
|
||||||
smallvec![fp]
|
smallvec![fp]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -443,8 +443,8 @@ fn noop_visit_use_tree<T: MutVisitor>(use_tree: &mut UseTree, vis: &mut T) {
|
|||||||
UseTreeKind::Simple(rename) => visit_opt(rename, |rename| vis.visit_ident(rename)),
|
UseTreeKind::Simple(rename) => visit_opt(rename, |rename| vis.visit_ident(rename)),
|
||||||
UseTreeKind::Nested { items, .. } => {
|
UseTreeKind::Nested { items, .. } => {
|
||||||
for (tree, id) in items {
|
for (tree, id) in items {
|
||||||
vis.visit_use_tree(tree);
|
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
vis.visit_use_tree(tree);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UseTreeKind::Glob => {}
|
UseTreeKind::Glob => {}
|
||||||
@ -454,8 +454,8 @@ fn noop_visit_use_tree<T: MutVisitor>(use_tree: &mut UseTree, vis: &mut T) {
|
|||||||
|
|
||||||
pub fn noop_flat_map_arm<T: MutVisitor>(mut arm: Arm, vis: &mut T) -> SmallVec<[Arm; 1]> {
|
pub fn noop_flat_map_arm<T: MutVisitor>(mut arm: Arm, vis: &mut T) -> SmallVec<[Arm; 1]> {
|
||||||
let Arm { attrs, pat, guard, body, span, id, is_placeholder: _ } = &mut arm;
|
let Arm { attrs, pat, guard, body, span, id, is_placeholder: _ } = &mut arm;
|
||||||
visit_attrs(attrs, vis);
|
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
visit_attrs(attrs, vis);
|
||||||
vis.visit_pat(pat);
|
vis.visit_pat(pat);
|
||||||
visit_opt(guard, |guard| vis.visit_expr(guard));
|
visit_opt(guard, |guard| vis.visit_expr(guard));
|
||||||
visit_opt(body, |body| vis.visit_expr(body));
|
visit_opt(body, |body| vis.visit_expr(body));
|
||||||
@ -548,10 +548,10 @@ pub fn noop_flat_map_variant<T: MutVisitor>(
|
|||||||
visitor: &mut T,
|
visitor: &mut T,
|
||||||
) -> SmallVec<[Variant; 1]> {
|
) -> SmallVec<[Variant; 1]> {
|
||||||
let Variant { ident, vis, attrs, id, data, disr_expr, span, is_placeholder: _ } = &mut variant;
|
let Variant { ident, vis, attrs, id, data, disr_expr, span, is_placeholder: _ } = &mut variant;
|
||||||
|
visitor.visit_id(id);
|
||||||
|
visit_attrs(attrs, visitor);
|
||||||
visitor.visit_ident(ident);
|
visitor.visit_ident(ident);
|
||||||
visitor.visit_vis(vis);
|
visitor.visit_vis(vis);
|
||||||
visit_attrs(attrs, visitor);
|
|
||||||
visitor.visit_id(id);
|
|
||||||
visitor.visit_variant_data(data);
|
visitor.visit_variant_data(data);
|
||||||
visit_opt(disr_expr, |disr_expr| visitor.visit_anon_const(disr_expr));
|
visit_opt(disr_expr, |disr_expr| visitor.visit_anon_const(disr_expr));
|
||||||
visitor.visit_span(span);
|
visitor.visit_span(span);
|
||||||
@ -565,8 +565,8 @@ fn noop_visit_ident<T: MutVisitor>(Ident { name: _, span }: &mut Ident, vis: &mu
|
|||||||
fn noop_visit_path<T: MutVisitor>(Path { segments, span, tokens }: &mut Path, vis: &mut T) {
|
fn noop_visit_path<T: MutVisitor>(Path { segments, span, tokens }: &mut Path, vis: &mut T) {
|
||||||
vis.visit_span(span);
|
vis.visit_span(span);
|
||||||
for PathSegment { ident, id, args } in segments {
|
for PathSegment { ident, id, args } in segments {
|
||||||
vis.visit_ident(ident);
|
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
vis.visit_ident(ident);
|
||||||
visit_opt(args, |args| vis.visit_generic_args(args));
|
visit_opt(args, |args| vis.visit_generic_args(args));
|
||||||
}
|
}
|
||||||
visit_lazy_tts(tokens, vis);
|
visit_lazy_tts(tokens, vis);
|
||||||
@ -620,6 +620,7 @@ fn noop_visit_parenthesized_parameter_data<T: MutVisitor>(
|
|||||||
fn noop_visit_local<T: MutVisitor>(local: &mut P<Local>, vis: &mut T) {
|
fn noop_visit_local<T: MutVisitor>(local: &mut P<Local>, vis: &mut T) {
|
||||||
let Local { id, pat, ty, kind, span, colon_sp, attrs, tokens } = local.deref_mut();
|
let Local { id, pat, ty, kind, span, colon_sp, attrs, tokens } = local.deref_mut();
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
visit_attrs(attrs, vis);
|
||||||
vis.visit_pat(pat);
|
vis.visit_pat(pat);
|
||||||
visit_opt(ty, |ty| vis.visit_ty(ty));
|
visit_opt(ty, |ty| vis.visit_ty(ty));
|
||||||
match kind {
|
match kind {
|
||||||
@ -634,7 +635,6 @@ fn noop_visit_local<T: MutVisitor>(local: &mut P<Local>, vis: &mut T) {
|
|||||||
}
|
}
|
||||||
vis.visit_span(span);
|
vis.visit_span(span);
|
||||||
visit_opt(colon_sp, |sp| vis.visit_span(sp));
|
visit_opt(colon_sp, |sp| vis.visit_span(sp));
|
||||||
visit_attrs(attrs, vis);
|
|
||||||
visit_lazy_tts(tokens, vis);
|
visit_lazy_tts(tokens, vis);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -894,9 +894,9 @@ fn noop_visit_coroutine_kind<T: MutVisitor>(coroutine_kind: &mut CoroutineKind,
|
|||||||
CoroutineKind::Async { span, closure_id, return_impl_trait_id }
|
CoroutineKind::Async { span, closure_id, return_impl_trait_id }
|
||||||
| CoroutineKind::Gen { span, closure_id, return_impl_trait_id }
|
| CoroutineKind::Gen { span, closure_id, return_impl_trait_id }
|
||||||
| CoroutineKind::AsyncGen { span, closure_id, return_impl_trait_id } => {
|
| CoroutineKind::AsyncGen { span, closure_id, return_impl_trait_id } => {
|
||||||
vis.visit_span(span);
|
|
||||||
vis.visit_id(closure_id);
|
vis.visit_id(closure_id);
|
||||||
vis.visit_id(return_impl_trait_id);
|
vis.visit_id(return_impl_trait_id);
|
||||||
|
vis.visit_span(span);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -932,8 +932,8 @@ fn noop_visit_precise_capturing_arg<T: MutVisitor>(arg: &mut PreciseCapturingArg
|
|||||||
vis.visit_lifetime(lt);
|
vis.visit_lifetime(lt);
|
||||||
}
|
}
|
||||||
PreciseCapturingArg::Arg(path, id) => {
|
PreciseCapturingArg::Arg(path, id) => {
|
||||||
vis.visit_path(path);
|
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
vis.visit_path(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -944,11 +944,11 @@ pub fn noop_flat_map_generic_param<T: MutVisitor>(
|
|||||||
) -> SmallVec<[GenericParam; 1]> {
|
) -> SmallVec<[GenericParam; 1]> {
|
||||||
let GenericParam { id, ident, attrs, bounds, kind, colon_span, is_placeholder: _ } = &mut param;
|
let GenericParam { id, ident, attrs, bounds, kind, colon_span, is_placeholder: _ } = &mut param;
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
visit_attrs(attrs, vis);
|
||||||
vis.visit_ident(ident);
|
vis.visit_ident(ident);
|
||||||
if let Some(colon_span) = colon_span {
|
if let Some(colon_span) = colon_span {
|
||||||
vis.visit_span(colon_span);
|
vis.visit_span(colon_span);
|
||||||
}
|
}
|
||||||
visit_attrs(attrs, vis);
|
|
||||||
visit_vec(bounds, |bound| noop_visit_param_bound(bound, vis));
|
visit_vec(bounds, |bound| noop_visit_param_bound(bound, vis));
|
||||||
match kind {
|
match kind {
|
||||||
GenericParamKind::Lifetime => {}
|
GenericParamKind::Lifetime => {}
|
||||||
@ -1015,16 +1015,16 @@ fn noop_visit_variant_data<T: MutVisitor>(vdata: &mut VariantData, vis: &mut T)
|
|||||||
fields.flat_map_in_place(|field| vis.flat_map_field_def(field));
|
fields.flat_map_in_place(|field| vis.flat_map_field_def(field));
|
||||||
}
|
}
|
||||||
VariantData::Tuple(fields, id) => {
|
VariantData::Tuple(fields, id) => {
|
||||||
fields.flat_map_in_place(|field| vis.flat_map_field_def(field));
|
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
fields.flat_map_in_place(|field| vis.flat_map_field_def(field));
|
||||||
}
|
}
|
||||||
VariantData::Unit(id) => vis.visit_id(id),
|
VariantData::Unit(id) => vis.visit_id(id),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn noop_visit_trait_ref<T: MutVisitor>(TraitRef { path, ref_id }: &mut TraitRef, vis: &mut T) {
|
fn noop_visit_trait_ref<T: MutVisitor>(TraitRef { path, ref_id }: &mut TraitRef, vis: &mut T) {
|
||||||
vis.visit_path(path);
|
|
||||||
vis.visit_id(ref_id);
|
vis.visit_id(ref_id);
|
||||||
|
vis.visit_path(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn noop_visit_poly_trait_ref<T: MutVisitor>(p: &mut PolyTraitRef, vis: &mut T) {
|
fn noop_visit_poly_trait_ref<T: MutVisitor>(p: &mut PolyTraitRef, vis: &mut T) {
|
||||||
@ -1039,12 +1039,12 @@ pub fn noop_flat_map_field_def<T: MutVisitor>(
|
|||||||
visitor: &mut T,
|
visitor: &mut T,
|
||||||
) -> SmallVec<[FieldDef; 1]> {
|
) -> SmallVec<[FieldDef; 1]> {
|
||||||
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = &mut fd;
|
let FieldDef { span, ident, vis, id, ty, attrs, is_placeholder: _ } = &mut fd;
|
||||||
|
visitor.visit_id(id);
|
||||||
|
visit_attrs(attrs, visitor);
|
||||||
visitor.visit_span(span);
|
visitor.visit_span(span);
|
||||||
visit_opt(ident, |ident| visitor.visit_ident(ident));
|
visit_opt(ident, |ident| visitor.visit_ident(ident));
|
||||||
visitor.visit_vis(vis);
|
visitor.visit_vis(vis);
|
||||||
visitor.visit_id(id);
|
|
||||||
visitor.visit_ty(ty);
|
visitor.visit_ty(ty);
|
||||||
visit_attrs(attrs, visitor);
|
|
||||||
smallvec![fd]
|
smallvec![fd]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1053,11 +1053,11 @@ pub fn noop_flat_map_expr_field<T: MutVisitor>(
|
|||||||
vis: &mut T,
|
vis: &mut T,
|
||||||
) -> SmallVec<[ExprField; 1]> {
|
) -> SmallVec<[ExprField; 1]> {
|
||||||
let ExprField { ident, expr, span, is_shorthand: _, attrs, id, is_placeholder: _ } = &mut f;
|
let ExprField { ident, expr, span, is_shorthand: _, attrs, id, is_placeholder: _ } = &mut f;
|
||||||
|
vis.visit_id(id);
|
||||||
|
visit_attrs(attrs, vis);
|
||||||
vis.visit_ident(ident);
|
vis.visit_ident(ident);
|
||||||
vis.visit_expr(expr);
|
vis.visit_expr(expr);
|
||||||
vis.visit_id(id);
|
|
||||||
vis.visit_span(span);
|
vis.visit_span(span);
|
||||||
visit_attrs(attrs, vis);
|
|
||||||
smallvec![f]
|
smallvec![f]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1429,6 +1429,8 @@ pub fn noop_visit_expr<T: MutVisitor>(
|
|||||||
Expr { kind, id, span, attrs, tokens }: &mut Expr,
|
Expr { kind, id, span, attrs, tokens }: &mut Expr,
|
||||||
vis: &mut T,
|
vis: &mut T,
|
||||||
) {
|
) {
|
||||||
|
vis.visit_id(id);
|
||||||
|
visit_attrs(attrs, vis);
|
||||||
match kind {
|
match kind {
|
||||||
ExprKind::Array(exprs) => visit_thin_exprs(exprs, vis),
|
ExprKind::Array(exprs) => visit_thin_exprs(exprs, vis),
|
||||||
ExprKind::ConstBlock(anon_const) => {
|
ExprKind::ConstBlock(anon_const) => {
|
||||||
@ -1449,8 +1451,8 @@ pub fn noop_visit_expr<T: MutVisitor>(
|
|||||||
args: call_args,
|
args: call_args,
|
||||||
span,
|
span,
|
||||||
}) => {
|
}) => {
|
||||||
vis.visit_ident(ident);
|
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
vis.visit_ident(ident);
|
||||||
visit_opt(seg_args, |args| vis.visit_generic_args(args));
|
visit_opt(seg_args, |args| vis.visit_generic_args(args));
|
||||||
vis.visit_method_receiver_expr(receiver);
|
vis.visit_method_receiver_expr(receiver);
|
||||||
visit_thin_exprs(call_args, vis);
|
visit_thin_exprs(call_args, vis);
|
||||||
@ -1601,9 +1603,7 @@ pub fn noop_visit_expr<T: MutVisitor>(
|
|||||||
ExprKind::TryBlock(body) => vis.visit_block(body),
|
ExprKind::TryBlock(body) => vis.visit_block(body),
|
||||||
ExprKind::Lit(_) | ExprKind::IncludedBytes(..) | ExprKind::Err(_) | ExprKind::Dummy => {}
|
ExprKind::Lit(_) | ExprKind::IncludedBytes(..) | ExprKind::Err(_) | ExprKind::Dummy => {}
|
||||||
}
|
}
|
||||||
vis.visit_id(id);
|
|
||||||
vis.visit_span(span);
|
vis.visit_span(span);
|
||||||
visit_attrs(attrs, vis);
|
|
||||||
visit_lazy_tts(tokens, vis);
|
visit_lazy_tts(tokens, vis);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1645,8 +1645,8 @@ fn noop_flat_map_stmt_kind<T: MutVisitor>(kind: StmtKind, vis: &mut T) -> SmallV
|
|||||||
StmtKind::Empty => smallvec![StmtKind::Empty],
|
StmtKind::Empty => smallvec![StmtKind::Empty],
|
||||||
StmtKind::MacCall(mut mac) => {
|
StmtKind::MacCall(mut mac) => {
|
||||||
let MacCallStmt { mac: mac_, style: _, attrs, tokens } = mac.deref_mut();
|
let MacCallStmt { mac: mac_, style: _, attrs, tokens } = mac.deref_mut();
|
||||||
vis.visit_mac_call(mac_);
|
|
||||||
visit_attrs(attrs, vis);
|
visit_attrs(attrs, vis);
|
||||||
|
vis.visit_mac_call(mac_);
|
||||||
visit_lazy_tts(tokens, vis);
|
visit_lazy_tts(tokens, vis);
|
||||||
smallvec![StmtKind::MacCall(mac)]
|
smallvec![StmtKind::MacCall(mac)]
|
||||||
}
|
}
|
||||||
@ -1657,8 +1657,8 @@ fn noop_visit_vis<T: MutVisitor>(visibility: &mut Visibility, vis: &mut T) {
|
|||||||
match &mut visibility.kind {
|
match &mut visibility.kind {
|
||||||
VisibilityKind::Public | VisibilityKind::Inherited => {}
|
VisibilityKind::Public | VisibilityKind::Inherited => {}
|
||||||
VisibilityKind::Restricted { path, id, shorthand: _ } => {
|
VisibilityKind::Restricted { path, id, shorthand: _ } => {
|
||||||
vis.visit_path(path);
|
|
||||||
vis.visit_id(id);
|
vis.visit_id(id);
|
||||||
|
vis.visit_path(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
vis.visit_span(&mut visibility.span);
|
vis.visit_span(&mut visibility.span);
|
||||||
|
@ -298,8 +298,8 @@ pub trait Visitor<'ast>: Sized {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn walk_crate<'a, V: Visitor<'a>>(visitor: &mut V, krate: &'a Crate) -> V::Result {
|
pub fn walk_crate<'a, V: Visitor<'a>>(visitor: &mut V, krate: &'a Crate) -> V::Result {
|
||||||
walk_list!(visitor, visit_item, &krate.items);
|
|
||||||
walk_list!(visitor, visit_attribute, &krate.attrs);
|
walk_list!(visitor, visit_attribute, &krate.attrs);
|
||||||
|
walk_list!(visitor, visit_item, &krate.items);
|
||||||
V::Result::output()
|
V::Result::output()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -462,25 +462,25 @@ pub fn walk_variant<'a, V: Visitor<'a>>(visitor: &mut V, variant: &'a Variant) -
|
|||||||
where
|
where
|
||||||
V: Visitor<'a>,
|
V: Visitor<'a>,
|
||||||
{
|
{
|
||||||
|
walk_list!(visitor, visit_attribute, &variant.attrs);
|
||||||
try_visit!(visitor.visit_ident(variant.ident));
|
try_visit!(visitor.visit_ident(variant.ident));
|
||||||
try_visit!(visitor.visit_vis(&variant.vis));
|
try_visit!(visitor.visit_vis(&variant.vis));
|
||||||
try_visit!(visitor.visit_variant_data(&variant.data));
|
try_visit!(visitor.visit_variant_data(&variant.data));
|
||||||
visit_opt!(visitor, visit_variant_discr, &variant.disr_expr);
|
visit_opt!(visitor, visit_variant_discr, &variant.disr_expr);
|
||||||
walk_list!(visitor, visit_attribute, &variant.attrs);
|
|
||||||
V::Result::output()
|
V::Result::output()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn walk_expr_field<'a, V: Visitor<'a>>(visitor: &mut V, f: &'a ExprField) -> V::Result {
|
pub fn walk_expr_field<'a, V: Visitor<'a>>(visitor: &mut V, f: &'a ExprField) -> V::Result {
|
||||||
|
walk_list!(visitor, visit_attribute, &f.attrs);
|
||||||
try_visit!(visitor.visit_expr(&f.expr));
|
try_visit!(visitor.visit_expr(&f.expr));
|
||||||
try_visit!(visitor.visit_ident(f.ident));
|
try_visit!(visitor.visit_ident(f.ident));
|
||||||
walk_list!(visitor, visit_attribute, &f.attrs);
|
|
||||||
V::Result::output()
|
V::Result::output()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn walk_pat_field<'a, V: Visitor<'a>>(visitor: &mut V, fp: &'a PatField) -> V::Result {
|
pub fn walk_pat_field<'a, V: Visitor<'a>>(visitor: &mut V, fp: &'a PatField) -> V::Result {
|
||||||
|
walk_list!(visitor, visit_attribute, &fp.attrs);
|
||||||
try_visit!(visitor.visit_ident(fp.ident));
|
try_visit!(visitor.visit_ident(fp.ident));
|
||||||
try_visit!(visitor.visit_pat(&fp.pat));
|
try_visit!(visitor.visit_pat(&fp.pat));
|
||||||
walk_list!(visitor, visit_attribute, &fp.attrs);
|
|
||||||
V::Result::output()
|
V::Result::output()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -722,8 +722,8 @@ pub fn walk_generic_param<'a, V: Visitor<'a>>(
|
|||||||
visitor: &mut V,
|
visitor: &mut V,
|
||||||
param: &'a GenericParam,
|
param: &'a GenericParam,
|
||||||
) -> V::Result {
|
) -> V::Result {
|
||||||
try_visit!(visitor.visit_ident(param.ident));
|
|
||||||
walk_list!(visitor, visit_attribute, ¶m.attrs);
|
walk_list!(visitor, visit_attribute, ¶m.attrs);
|
||||||
|
try_visit!(visitor.visit_ident(param.ident));
|
||||||
walk_list!(visitor, visit_param_bound, ¶m.bounds, BoundKind::Bound);
|
walk_list!(visitor, visit_param_bound, ¶m.bounds, BoundKind::Bound);
|
||||||
match ¶m.kind {
|
match ¶m.kind {
|
||||||
GenericParamKind::Lifetime => (),
|
GenericParamKind::Lifetime => (),
|
||||||
@ -882,10 +882,10 @@ pub fn walk_assoc_item<'a, V: Visitor<'a>>(
|
|||||||
ctxt: AssocCtxt,
|
ctxt: AssocCtxt,
|
||||||
) -> V::Result {
|
) -> V::Result {
|
||||||
let &Item { id: _, span: _, ident, ref vis, ref attrs, ref kind, tokens: _ } = item;
|
let &Item { id: _, span: _, ident, ref vis, ref attrs, ref kind, tokens: _ } = item;
|
||||||
|
walk_list!(visitor, visit_attribute, attrs);
|
||||||
try_visit!(visitor.visit_vis(vis));
|
try_visit!(visitor.visit_vis(vis));
|
||||||
try_visit!(visitor.visit_ident(ident));
|
try_visit!(visitor.visit_ident(ident));
|
||||||
try_visit!(kind.walk(item, ctxt, visitor));
|
try_visit!(kind.walk(item, ctxt, visitor));
|
||||||
walk_list!(visitor, visit_attribute, attrs);
|
|
||||||
V::Result::output()
|
V::Result::output()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -898,10 +898,10 @@ pub fn walk_struct_def<'a, V: Visitor<'a>>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn walk_field_def<'a, V: Visitor<'a>>(visitor: &mut V, field: &'a FieldDef) -> V::Result {
|
pub fn walk_field_def<'a, V: Visitor<'a>>(visitor: &mut V, field: &'a FieldDef) -> V::Result {
|
||||||
|
walk_list!(visitor, visit_attribute, &field.attrs);
|
||||||
try_visit!(visitor.visit_vis(&field.vis));
|
try_visit!(visitor.visit_vis(&field.vis));
|
||||||
visit_opt!(visitor, visit_ident, field.ident);
|
visit_opt!(visitor, visit_ident, field.ident);
|
||||||
try_visit!(visitor.visit_ty(&field.ty));
|
try_visit!(visitor.visit_ty(&field.ty));
|
||||||
walk_list!(visitor, visit_attribute, &field.attrs);
|
|
||||||
V::Result::output()
|
V::Result::output()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -918,8 +918,8 @@ pub fn walk_stmt<'a, V: Visitor<'a>>(visitor: &mut V, statement: &'a Stmt) -> V:
|
|||||||
StmtKind::Empty => {}
|
StmtKind::Empty => {}
|
||||||
StmtKind::MacCall(mac) => {
|
StmtKind::MacCall(mac) => {
|
||||||
let MacCallStmt { mac, attrs, style: _, tokens: _ } = &**mac;
|
let MacCallStmt { mac, attrs, style: _, tokens: _ } = &**mac;
|
||||||
try_visit!(visitor.visit_mac_call(mac));
|
|
||||||
walk_list!(visitor, visit_attribute, attrs);
|
walk_list!(visitor, visit_attribute, attrs);
|
||||||
|
try_visit!(visitor.visit_mac_call(mac));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
V::Result::output()
|
V::Result::output()
|
||||||
@ -1141,10 +1141,10 @@ pub fn walk_param<'a, V: Visitor<'a>>(visitor: &mut V, param: &'a Param) -> V::R
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn walk_arm<'a, V: Visitor<'a>>(visitor: &mut V, arm: &'a Arm) -> V::Result {
|
pub fn walk_arm<'a, V: Visitor<'a>>(visitor: &mut V, arm: &'a Arm) -> V::Result {
|
||||||
|
walk_list!(visitor, visit_attribute, &arm.attrs);
|
||||||
try_visit!(visitor.visit_pat(&arm.pat));
|
try_visit!(visitor.visit_pat(&arm.pat));
|
||||||
visit_opt!(visitor, visit_expr, &arm.guard);
|
visit_opt!(visitor, visit_expr, &arm.guard);
|
||||||
visit_opt!(visitor, visit_expr, &arm.body);
|
visit_opt!(visitor, visit_expr, &arm.body);
|
||||||
walk_list!(visitor, visit_attribute, &arm.attrs);
|
|
||||||
V::Result::output()
|
V::Result::output()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
|
error: `feature = "cargo-clippy"` was replaced by `clippy`
|
||||||
|
--> tests/ui/cfg_attr_cargo_clippy.rs:3:13
|
||||||
|
|
|
||||||
|
LL | #![cfg_attr(feature = "cargo-clippy", doc = "a")]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy`
|
||||||
|
|
|
||||||
|
= note: `-D clippy::deprecated-clippy-cfg-attr` implied by `-D warnings`
|
||||||
|
= help: to override `-D warnings` add `#[allow(clippy::deprecated_clippy_cfg_attr)]`
|
||||||
|
|
||||||
error: `feature = "cargo-clippy"` was replaced by `clippy`
|
error: `feature = "cargo-clippy"` was replaced by `clippy`
|
||||||
--> tests/ui/cfg_attr_cargo_clippy.rs:5:12
|
--> tests/ui/cfg_attr_cargo_clippy.rs:5:12
|
||||||
|
|
|
|
||||||
LL | #[cfg_attr(feature = "cargo-clippy", derive(Debug))]
|
LL | #[cfg_attr(feature = "cargo-clippy", derive(Debug))]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy`
|
||||||
|
|
|
||||||
= note: `-D clippy::deprecated-clippy-cfg-attr` implied by `-D warnings`
|
|
||||||
= help: to override `-D warnings` add `#[allow(clippy::deprecated_clippy_cfg_attr)]`
|
|
||||||
|
|
||||||
error: `feature = "cargo-clippy"` was replaced by `clippy`
|
error: `feature = "cargo-clippy"` was replaced by `clippy`
|
||||||
--> tests/ui/cfg_attr_cargo_clippy.rs:6:16
|
--> tests/ui/cfg_attr_cargo_clippy.rs:6:16
|
||||||
@ -37,11 +43,5 @@ error: `feature = "cargo-clippy"` was replaced by `clippy`
|
|||||||
LL | #[cfg(all(feature = "cargo-clippy"))]
|
LL | #[cfg(all(feature = "cargo-clippy"))]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy`
|
||||||
|
|
||||||
error: `feature = "cargo-clippy"` was replaced by `clippy`
|
|
||||||
--> tests/ui/cfg_attr_cargo_clippy.rs:3:13
|
|
||||||
|
|
|
||||||
LL | #![cfg_attr(feature = "cargo-clippy", doc = "a")]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy`
|
|
||||||
|
|
||||||
error: aborting due to 7 previous errors
|
error: aborting due to 7 previous errors
|
||||||
|
|
||||||
|
@ -1,35 +1,11 @@
|
|||||||
error: using tabs in doc comments is not recommended
|
|
||||||
--> tests/ui/tabs_in_doc_comments.rs:10:9
|
|
||||||
|
|
|
||||||
LL | /// - First String:
|
|
||||||
| ^^^^ help: consider using four spaces per tab
|
|
||||||
|
|
|
||||||
= note: `-D clippy::tabs-in-doc-comments` implied by `-D warnings`
|
|
||||||
= help: to override `-D warnings` add `#[allow(clippy::tabs_in_doc_comments)]`
|
|
||||||
|
|
||||||
error: using tabs in doc comments is not recommended
|
|
||||||
--> tests/ui/tabs_in_doc_comments.rs:11:9
|
|
||||||
|
|
|
||||||
LL | /// - needs to be inside here
|
|
||||||
| ^^^^^^^^ help: consider using four spaces per tab
|
|
||||||
|
|
||||||
error: using tabs in doc comments is not recommended
|
|
||||||
--> tests/ui/tabs_in_doc_comments.rs:14:9
|
|
||||||
|
|
|
||||||
LL | /// - Second String:
|
|
||||||
| ^^^^ help: consider using four spaces per tab
|
|
||||||
|
|
||||||
error: using tabs in doc comments is not recommended
|
|
||||||
--> tests/ui/tabs_in_doc_comments.rs:15:9
|
|
||||||
|
|
|
||||||
LL | /// - needs to be inside here
|
|
||||||
| ^^^^^^^^ help: consider using four spaces per tab
|
|
||||||
|
|
||||||
error: using tabs in doc comments is not recommended
|
error: using tabs in doc comments is not recommended
|
||||||
--> tests/ui/tabs_in_doc_comments.rs:6:5
|
--> tests/ui/tabs_in_doc_comments.rs:6:5
|
||||||
|
|
|
|
||||||
LL | /// - first one
|
LL | /// - first one
|
||||||
| ^^^^ help: consider using four spaces per tab
|
| ^^^^ help: consider using four spaces per tab
|
||||||
|
|
|
||||||
|
= note: `-D clippy::tabs-in-doc-comments` implied by `-D warnings`
|
||||||
|
= help: to override `-D warnings` add `#[allow(clippy::tabs_in_doc_comments)]`
|
||||||
|
|
||||||
error: using tabs in doc comments is not recommended
|
error: using tabs in doc comments is not recommended
|
||||||
--> tests/ui/tabs_in_doc_comments.rs:6:13
|
--> tests/ui/tabs_in_doc_comments.rs:6:13
|
||||||
@ -49,5 +25,29 @@ error: using tabs in doc comments is not recommended
|
|||||||
LL | /// - second one
|
LL | /// - second one
|
||||||
| ^^^^ help: consider using four spaces per tab
|
| ^^^^ help: consider using four spaces per tab
|
||||||
|
|
||||||
|
error: using tabs in doc comments is not recommended
|
||||||
|
--> tests/ui/tabs_in_doc_comments.rs:10:9
|
||||||
|
|
|
||||||
|
LL | /// - First String:
|
||||||
|
| ^^^^ help: consider using four spaces per tab
|
||||||
|
|
||||||
|
error: using tabs in doc comments is not recommended
|
||||||
|
--> tests/ui/tabs_in_doc_comments.rs:11:9
|
||||||
|
|
|
||||||
|
LL | /// - needs to be inside here
|
||||||
|
| ^^^^^^^^ help: consider using four spaces per tab
|
||||||
|
|
||||||
|
error: using tabs in doc comments is not recommended
|
||||||
|
--> tests/ui/tabs_in_doc_comments.rs:14:9
|
||||||
|
|
|
||||||
|
LL | /// - Second String:
|
||||||
|
| ^^^^ help: consider using four spaces per tab
|
||||||
|
|
||||||
|
error: using tabs in doc comments is not recommended
|
||||||
|
--> tests/ui/tabs_in_doc_comments.rs:15:9
|
||||||
|
|
|
||||||
|
LL | /// - needs to be inside here
|
||||||
|
| ^^^^^^^^ help: consider using four spaces per tab
|
||||||
|
|
||||||
error: aborting due to 8 previous errors
|
error: aborting due to 8 previous errors
|
||||||
|
|
||||||
|
@ -1,39 +1,11 @@
|
|||||||
error: no need to put clippy lints behind a `clippy` cfg
|
|
||||||
--> tests/ui/unnecessary_clippy_cfg.rs:13:1
|
|
||||||
|
|
|
||||||
LL | #[cfg_attr(clippy, deny(clippy::non_minimal_cfg))]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `#[deny(clippy::non_minimal_cfg)]`
|
|
||||||
|
|
|
||||||
= note: `-D clippy::unnecessary-clippy-cfg` implied by `-D warnings`
|
|
||||||
= help: to override `-D warnings` add `#[allow(clippy::unnecessary_clippy_cfg)]`
|
|
||||||
|
|
||||||
error: no need to put clippy lints behind a `clippy` cfg
|
|
||||||
--> tests/ui/unnecessary_clippy_cfg.rs:15:36
|
|
||||||
|
|
|
||||||
LL | #[cfg_attr(clippy, deny(dead_code, clippy::non_minimal_cfg))]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
|
||||||
= note: write instead: `#[deny(clippy::non_minimal_cfg)]`
|
|
||||||
|
|
||||||
error: no need to put clippy lints behind a `clippy` cfg
|
|
||||||
--> tests/ui/unnecessary_clippy_cfg.rs:17:36
|
|
||||||
|
|
|
||||||
LL | #[cfg_attr(clippy, deny(dead_code, clippy::non_minimal_cfg))]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
|
||||||
= note: write instead: `#[deny(clippy::non_minimal_cfg)]`
|
|
||||||
|
|
||||||
error: no need to put clippy lints behind a `clippy` cfg
|
|
||||||
--> tests/ui/unnecessary_clippy_cfg.rs:19:1
|
|
||||||
|
|
|
||||||
LL | #[cfg_attr(clippy, deny(clippy::non_minimal_cfg))]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `#[deny(clippy::non_minimal_cfg)]`
|
|
||||||
|
|
||||||
error: no need to put clippy lints behind a `clippy` cfg
|
error: no need to put clippy lints behind a `clippy` cfg
|
||||||
--> tests/ui/unnecessary_clippy_cfg.rs:4:1
|
--> tests/ui/unnecessary_clippy_cfg.rs:4:1
|
||||||
|
|
|
|
||||||
LL | #![cfg_attr(clippy, deny(clippy::non_minimal_cfg))]
|
LL | #![cfg_attr(clippy, deny(clippy::non_minimal_cfg))]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `#![deny(clippy::non_minimal_cfg)]`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `#![deny(clippy::non_minimal_cfg)]`
|
||||||
|
|
|
||||||
|
= note: `-D clippy::unnecessary-clippy-cfg` implied by `-D warnings`
|
||||||
|
= help: to override `-D warnings` add `#[allow(clippy::unnecessary_clippy_cfg)]`
|
||||||
|
|
||||||
error: no need to put clippy lints behind a `clippy` cfg
|
error: no need to put clippy lints behind a `clippy` cfg
|
||||||
--> tests/ui/unnecessary_clippy_cfg.rs:6:37
|
--> tests/ui/unnecessary_clippy_cfg.rs:6:37
|
||||||
@ -57,6 +29,34 @@ error: no need to put clippy lints behind a `clippy` cfg
|
|||||||
LL | #![cfg_attr(clippy, deny(clippy::non_minimal_cfg))]
|
LL | #![cfg_attr(clippy, deny(clippy::non_minimal_cfg))]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `#![deny(clippy::non_minimal_cfg)]`
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `#![deny(clippy::non_minimal_cfg)]`
|
||||||
|
|
||||||
|
error: no need to put clippy lints behind a `clippy` cfg
|
||||||
|
--> tests/ui/unnecessary_clippy_cfg.rs:13:1
|
||||||
|
|
|
||||||
|
LL | #[cfg_attr(clippy, deny(clippy::non_minimal_cfg))]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `#[deny(clippy::non_minimal_cfg)]`
|
||||||
|
|
||||||
|
error: no need to put clippy lints behind a `clippy` cfg
|
||||||
|
--> tests/ui/unnecessary_clippy_cfg.rs:15:36
|
||||||
|
|
|
||||||
|
LL | #[cfg_attr(clippy, deny(dead_code, clippy::non_minimal_cfg))]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: write instead: `#[deny(clippy::non_minimal_cfg)]`
|
||||||
|
|
||||||
|
error: no need to put clippy lints behind a `clippy` cfg
|
||||||
|
--> tests/ui/unnecessary_clippy_cfg.rs:17:36
|
||||||
|
|
|
||||||
|
LL | #[cfg_attr(clippy, deny(dead_code, clippy::non_minimal_cfg))]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: write instead: `#[deny(clippy::non_minimal_cfg)]`
|
||||||
|
|
||||||
|
error: no need to put clippy lints behind a `clippy` cfg
|
||||||
|
--> tests/ui/unnecessary_clippy_cfg.rs:19:1
|
||||||
|
|
|
||||||
|
LL | #[cfg_attr(clippy, deny(clippy::non_minimal_cfg))]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `#[deny(clippy::non_minimal_cfg)]`
|
||||||
|
|
||||||
error: duplicated attribute
|
error: duplicated attribute
|
||||||
--> tests/ui/unnecessary_clippy_cfg.rs:8:26
|
--> tests/ui/unnecessary_clippy_cfg.rs:8:26
|
||||||
|
|
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#![doc = in_root!()] // FIXME, this is a bug
|
#![doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
|
||||||
#![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
|
#![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
|
||||||
#![doc = in_mod_escape!()] // FIXME, this is a bug
|
#![doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope
|
||||||
#![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
|
#![doc = in_block!()] //~ ERROR cannot find macro `in_block` in this scope
|
||||||
|
|
||||||
#[doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
|
#[doc = in_root!()] //~ ERROR cannot find macro `in_root` in this scope
|
||||||
@ -17,7 +17,7 @@ fn before() {
|
|||||||
macro_rules! in_root { () => { "" } }
|
macro_rules! in_root { () => { "" } }
|
||||||
|
|
||||||
mod macros_stay {
|
mod macros_stay {
|
||||||
#![doc = in_mod!()] // FIXME, this is a bug
|
#![doc = in_mod!()] //~ ERROR cannot find macro `in_mod` in this scope
|
||||||
|
|
||||||
macro_rules! in_mod { () => { "" } }
|
macro_rules! in_mod { () => { "" } }
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ mod macros_stay {
|
|||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
mod macros_escape {
|
mod macros_escape {
|
||||||
#![doc = in_mod_escape!()] // FIXME, this is a bug
|
#![doc = in_mod_escape!()] //~ ERROR cannot find macro `in_mod_escape` in this scope
|
||||||
|
|
||||||
macro_rules! in_mod_escape { () => { "" } }
|
macro_rules! in_mod_escape { () => { "" } }
|
||||||
|
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
error: cannot find macro `in_root` in this scope
|
||||||
|
--> $DIR/key-value-expansion-scope.rs:1:10
|
||||||
|
|
|
||||||
|
LL | #![doc = in_root!()]
|
||||||
|
| ^^^^^^^
|
||||||
|
|
|
||||||
|
= help: have you added the `#[macro_use]` on the module/import?
|
||||||
|
|
||||||
error: cannot find macro `in_mod` in this scope
|
error: cannot find macro `in_mod` in this scope
|
||||||
--> $DIR/key-value-expansion-scope.rs:2:10
|
--> $DIR/key-value-expansion-scope.rs:2:10
|
||||||
|
|
|
|
||||||
@ -6,6 +14,14 @@ LL | #![doc = in_mod!()]
|
|||||||
|
|
|
|
||||||
= help: have you added the `#[macro_use]` on the module/import?
|
= help: have you added the `#[macro_use]` on the module/import?
|
||||||
|
|
||||||
|
error: cannot find macro `in_mod_escape` in this scope
|
||||||
|
--> $DIR/key-value-expansion-scope.rs:3:10
|
||||||
|
|
|
||||||
|
LL | #![doc = in_mod_escape!()]
|
||||||
|
| ^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= help: have you added the `#[macro_use]` on the module/import?
|
||||||
|
|
||||||
error: cannot find macro `in_block` in this scope
|
error: cannot find macro `in_block` in this scope
|
||||||
--> $DIR/key-value-expansion-scope.rs:4:10
|
--> $DIR/key-value-expansion-scope.rs:4:10
|
||||||
|
|
|
|
||||||
@ -78,6 +94,22 @@ LL | #![doc = in_block!()]
|
|||||||
|
|
|
|
||||||
= help: have you added the `#[macro_use]` on the module/import?
|
= help: have you added the `#[macro_use]` on the module/import?
|
||||||
|
|
||||||
|
error: cannot find macro `in_mod` in this scope
|
||||||
|
--> $DIR/key-value-expansion-scope.rs:20:14
|
||||||
|
|
|
||||||
|
LL | #![doc = in_mod!()]
|
||||||
|
| ^^^^^^
|
||||||
|
|
|
||||||
|
= help: have you added the `#[macro_use]` on the module/import?
|
||||||
|
|
||||||
|
error: cannot find macro `in_mod_escape` in this scope
|
||||||
|
--> $DIR/key-value-expansion-scope.rs:32:14
|
||||||
|
|
|
||||||
|
LL | #![doc = in_mod_escape!()]
|
||||||
|
| ^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= help: have you added the `#[macro_use]` on the module/import?
|
||||||
|
|
||||||
error: cannot find macro `in_block` in this scope
|
error: cannot find macro `in_block` in this scope
|
||||||
--> $DIR/key-value-expansion-scope.rs:43:14
|
--> $DIR/key-value-expansion-scope.rs:43:14
|
||||||
|
|
|
|
||||||
@ -118,5 +150,5 @@ LL | #![doc = in_block!()]
|
|||||||
|
|
|
|
||||||
= help: have you added the `#[macro_use]` on the module/import?
|
= help: have you added the `#[macro_use]` on the module/import?
|
||||||
|
|
||||||
error: aborting due to 15 previous errors
|
error: aborting due to 19 previous errors
|
||||||
|
|
||||||
|
@ -1,3 +1,23 @@
|
|||||||
|
error[E0658]: the `#[optimize]` attribute is an experimental feature
|
||||||
|
--> $DIR/feature-gate-optimize_attribute.rs:2:1
|
||||||
|
|
|
||||||
|
LL | #![optimize(speed)]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: see issue #54882 <https://github.com/rust-lang/rust/issues/54882> for more information
|
||||||
|
= help: add `#![feature(optimize_attribute)]` to the crate attributes to enable
|
||||||
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
||||||
|
|
||||||
|
error[E0658]: the `#[optimize]` attribute is an experimental feature
|
||||||
|
--> $DIR/feature-gate-optimize_attribute.rs:4:1
|
||||||
|
|
|
||||||
|
LL | #[optimize(size)]
|
||||||
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: see issue #54882 <https://github.com/rust-lang/rust/issues/54882> for more information
|
||||||
|
= help: add `#![feature(optimize_attribute)]` to the crate attributes to enable
|
||||||
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
||||||
|
|
||||||
error[E0658]: the `#[optimize]` attribute is an experimental feature
|
error[E0658]: the `#[optimize]` attribute is an experimental feature
|
||||||
--> $DIR/feature-gate-optimize_attribute.rs:7:1
|
--> $DIR/feature-gate-optimize_attribute.rs:7:1
|
||||||
|
|
|
|
||||||
@ -28,26 +48,6 @@ LL | #[optimize(banana)]
|
|||||||
= help: add `#![feature(optimize_attribute)]` to the crate attributes to enable
|
= help: add `#![feature(optimize_attribute)]` to the crate attributes to enable
|
||||||
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
||||||
|
|
||||||
error[E0658]: the `#[optimize]` attribute is an experimental feature
|
|
||||||
--> $DIR/feature-gate-optimize_attribute.rs:4:1
|
|
||||||
|
|
|
||||||
LL | #[optimize(size)]
|
|
||||||
| ^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
|
||||||
= note: see issue #54882 <https://github.com/rust-lang/rust/issues/54882> for more information
|
|
||||||
= help: add `#![feature(optimize_attribute)]` to the crate attributes to enable
|
|
||||||
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
||||||
|
|
||||||
error[E0658]: the `#[optimize]` attribute is an experimental feature
|
|
||||||
--> $DIR/feature-gate-optimize_attribute.rs:2:1
|
|
||||||
|
|
|
||||||
LL | #![optimize(speed)]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
|
||||||
= note: see issue #54882 <https://github.com/rust-lang/rust/issues/54882> for more information
|
|
||||||
= help: add `#![feature(optimize_attribute)]` to the crate attributes to enable
|
|
||||||
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
||||||
|
|
||||||
error[E0722]: invalid argument
|
error[E0722]: invalid argument
|
||||||
--> $DIR/feature-gate-optimize_attribute.rs:13:12
|
--> $DIR/feature-gate-optimize_attribute.rs:13:12
|
||||||
|
|
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
|
||||||
--> $DIR/feature-gate-staged_api.rs:8:1
|
|
||||||
|
|
|
||||||
LL | #[stable(feature = "a", since = "3.3.3")]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
--> $DIR/feature-gate-staged_api.rs:1:1
|
--> $DIR/feature-gate-staged_api.rs:1:1
|
||||||
|
|
|
|
||||||
LL | #![stable(feature = "a", since = "3.3.3")]
|
LL | #![stable(feature = "a", since = "3.3.3")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
|
--> $DIR/feature-gate-staged_api.rs:8:1
|
||||||
|
|
|
||||||
|
LL | #[stable(feature = "a", since = "3.3.3")]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to 2 previous errors
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0734`.
|
For more information about this error, try `rustc --explain E0734`.
|
||||||
|
@ -42,6 +42,20 @@ warning: unknown lint: `x5100`
|
|||||||
LL | #![deny(x5100)]
|
LL | #![deny(x5100)]
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
|
warning: use of deprecated attribute `crate_id`: no longer used.
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:84:1
|
||||||
|
|
|
||||||
|
LL | #![crate_id = "10"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^ help: remove this attribute
|
||||||
|
|
|
||||||
|
= note: `#[warn(deprecated)]` on by default
|
||||||
|
|
||||||
|
warning: use of deprecated attribute `no_start`: no longer used.
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:94:1
|
||||||
|
|
|
||||||
|
LL | #![no_start]
|
||||||
|
| ^^^^^^^^^^^^ help: remove this attribute
|
||||||
|
|
||||||
warning: unknown lint: `x5400`
|
warning: unknown lint: `x5400`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:105:8
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:105:8
|
||||||
|
|
|
|
||||||
@ -1178,4 +1192,3 @@ LL | #![feature(rust1)]
|
|||||||
= note: `#[warn(stable_features)]` on by default
|
= note: `#[warn(stable_features)]` on by default
|
||||||
|
|
||||||
warning: 173 warnings emitted
|
warning: 173 warnings emitted
|
||||||
|
|
||||||
|
@ -1,3 +1,15 @@
|
|||||||
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
|
--> $DIR/issue-43106-gating-of-stable.rs:7:1
|
||||||
|
|
|
||||||
|
LL | #![stable()]
|
||||||
|
| ^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
|
--> $DIR/issue-43106-gating-of-stable.rs:10:1
|
||||||
|
|
|
||||||
|
LL | #[stable()]
|
||||||
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
--> $DIR/issue-43106-gating-of-stable.rs:14:9
|
--> $DIR/issue-43106-gating-of-stable.rs:14:9
|
||||||
|
|
|
|
||||||
@ -28,18 +40,6 @@ error[E0734]: stability attributes may not be used outside of the standard libra
|
|||||||
LL | #[stable()]
|
LL | #[stable()]
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
|
||||||
--> $DIR/issue-43106-gating-of-stable.rs:10:1
|
|
||||||
|
|
|
||||||
LL | #[stable()]
|
|
||||||
| ^^^^^^^^^^^
|
|
||||||
|
|
||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
|
||||||
--> $DIR/issue-43106-gating-of-stable.rs:7:1
|
|
||||||
|
|
|
||||||
LL | #![stable()]
|
|
||||||
| ^^^^^^^^^^^^
|
|
||||||
|
|
||||||
error: aborting due to 7 previous errors
|
error: aborting due to 7 previous errors
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0734`.
|
For more information about this error, try `rustc --explain E0734`.
|
||||||
|
@ -1,3 +1,15 @@
|
|||||||
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
|
--> $DIR/issue-43106-gating-of-unstable.rs:7:1
|
||||||
|
|
|
||||||
|
LL | #![unstable()]
|
||||||
|
| ^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
|
--> $DIR/issue-43106-gating-of-unstable.rs:10:1
|
||||||
|
|
|
||||||
|
LL | #[unstable()]
|
||||||
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
--> $DIR/issue-43106-gating-of-unstable.rs:14:9
|
--> $DIR/issue-43106-gating-of-unstable.rs:14:9
|
||||||
|
|
|
|
||||||
@ -28,18 +40,6 @@ error[E0734]: stability attributes may not be used outside of the standard libra
|
|||||||
LL | #[unstable()]
|
LL | #[unstable()]
|
||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
|
||||||
--> $DIR/issue-43106-gating-of-unstable.rs:10:1
|
|
||||||
|
|
|
||||||
LL | #[unstable()]
|
|
||||||
| ^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
|
||||||
--> $DIR/issue-43106-gating-of-unstable.rs:7:1
|
|
||||||
|
|
|
||||||
LL | #![unstable()]
|
|
||||||
| ^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
error: aborting due to 7 previous errors
|
error: aborting due to 7 previous errors
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0734`.
|
For more information about this error, try `rustc --explain E0734`.
|
||||||
|
@ -4,6 +4,21 @@ error[E0425]: cannot find value `NonExistent` in this scope
|
|||||||
LL | NonExistent;
|
LL | NonExistent;
|
||||||
| ^^^^^^^^^^^ not found in this scope
|
| ^^^^^^^^^^^ not found in this scope
|
||||||
|
|
||||||
|
error[E0659]: `feature` is ambiguous
|
||||||
|
--> $DIR/ambiguous-builtin-attrs.rs:3:4
|
||||||
|
|
|
||||||
|
LL | #![feature(decl_macro)]
|
||||||
|
| ^^^^^^^ ambiguous name
|
||||||
|
|
|
||||||
|
= note: ambiguous because of a name conflict with a builtin attribute
|
||||||
|
= note: `feature` could refer to a built-in attribute
|
||||||
|
note: `feature` could also refer to the attribute macro imported here
|
||||||
|
--> $DIR/ambiguous-builtin-attrs.rs:6:5
|
||||||
|
|
|
||||||
|
LL | use builtin_attrs::*;
|
||||||
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
= help: use `crate::feature` to refer to this attribute macro unambiguously
|
||||||
|
|
||||||
error[E0659]: `repr` is ambiguous
|
error[E0659]: `repr` is ambiguous
|
||||||
--> $DIR/ambiguous-builtin-attrs.rs:9:3
|
--> $DIR/ambiguous-builtin-attrs.rs:9:3
|
||||||
|
|
|
|
||||||
@ -79,21 +94,6 @@ LL | use deny as allow;
|
|||||||
| ^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^
|
||||||
= help: use `crate::allow` to refer to this built-in attribute unambiguously
|
= help: use `crate::allow` to refer to this built-in attribute unambiguously
|
||||||
|
|
||||||
error[E0659]: `feature` is ambiguous
|
|
||||||
--> $DIR/ambiguous-builtin-attrs.rs:3:4
|
|
||||||
|
|
|
||||||
LL | #![feature(decl_macro)]
|
|
||||||
| ^^^^^^^ ambiguous name
|
|
||||||
|
|
|
||||||
= note: ambiguous because of a name conflict with a builtin attribute
|
|
||||||
= note: `feature` could refer to a built-in attribute
|
|
||||||
note: `feature` could also refer to the attribute macro imported here
|
|
||||||
--> $DIR/ambiguous-builtin-attrs.rs:6:5
|
|
||||||
|
|
|
||||||
LL | use builtin_attrs::*;
|
|
||||||
| ^^^^^^^^^^^^^^^^
|
|
||||||
= help: use `crate::feature` to refer to this attribute macro unambiguously
|
|
||||||
|
|
||||||
error[E0517]: attribute should be applied to a struct, enum, or union
|
error[E0517]: attribute should be applied to a struct, enum, or union
|
||||||
--> $DIR/ambiguous-builtin-attrs.rs:20:39
|
--> $DIR/ambiguous-builtin-attrs.rs:20:39
|
||||||
|
|
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
|
||||||
--> $DIR/issue-106589.rs:6:1
|
|
||||||
|
|
|
||||||
LL | #[unstable(feature = "foo", issue = "none")]
|
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
error[E0734]: stability attributes may not be used outside of the standard library
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
--> $DIR/issue-106589.rs:3:1
|
--> $DIR/issue-106589.rs:3:1
|
||||||
|
|
|
|
||||||
LL | #![stable(feature = "foo", since = "1.0.0")]
|
LL | #![stable(feature = "foo", since = "1.0.0")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error[E0734]: stability attributes may not be used outside of the standard library
|
||||||
|
--> $DIR/issue-106589.rs:6:1
|
||||||
|
|
|
||||||
|
LL | #[unstable(feature = "foo", issue = "none")]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to 2 previous errors
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0734`.
|
For more information about this error, try `rustc --explain E0734`.
|
||||||
|
Loading…
Reference in New Issue
Block a user