Check placement of more attributes
This commit is contained in:
parent
de921ab3c3
commit
4efe97a3d9
18 changed files with 816 additions and 354 deletions
|
@ -71,6 +71,16 @@ impl CheckAttrVisitor<'tcx> {
|
||||||
self.check_track_caller(&attr.span, attrs, span, target)
|
self.check_track_caller(&attr.span, attrs, span, target)
|
||||||
} else if self.tcx.sess.check_name(attr, sym::doc) {
|
} else if self.tcx.sess.check_name(attr, sym::doc) {
|
||||||
self.check_doc_alias(attr, hir_id, target)
|
self.check_doc_alias(attr, hir_id, target)
|
||||||
|
} else if self.tcx.sess.check_name(attr, sym::cold) {
|
||||||
|
self.check_cold(&attr, span, target)
|
||||||
|
} else if self.tcx.sess.check_name(attr, sym::link_name) {
|
||||||
|
self.check_link_name(&attr, span, target)
|
||||||
|
} else if self.tcx.sess.check_name(attr, sym::no_link) {
|
||||||
|
self.check_no_link(&attr, span, target)
|
||||||
|
} else if self.tcx.sess.check_name(attr, sym::export_name) {
|
||||||
|
self.check_export_name(&attr, span, target)
|
||||||
|
} else if self.tcx.sess.check_name(attr, sym::link_section) {
|
||||||
|
self.check_link_section(&attr, span, target)
|
||||||
} else {
|
} else {
|
||||||
true
|
true
|
||||||
};
|
};
|
||||||
|
@ -277,6 +287,99 @@ impl CheckAttrVisitor<'tcx> {
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Checks if `#[cold]` is applied to a non-function. Returns `true` if valid.
|
||||||
|
fn check_cold(&self, attr: &Attribute, span: &Span, target: Target) -> bool {
|
||||||
|
match target {
|
||||||
|
Target::Fn | Target::Method(..) | Target::ForeignFn => true,
|
||||||
|
_ => {
|
||||||
|
self.tcx
|
||||||
|
.sess
|
||||||
|
.struct_span_err(attr.span, "attribute should be applied to a function")
|
||||||
|
.span_label(*span, "not a function")
|
||||||
|
.emit();
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Checks if `#[link_name]` is applied to an item other than a foreign function or static. Returns `true` if valid.
|
||||||
|
fn check_link_name(&self, attr: &Attribute, span: &Span, target: Target) -> bool {
|
||||||
|
if target == Target::ForeignFn || target == Target::ForeignStatic {
|
||||||
|
true
|
||||||
|
} else {
|
||||||
|
let mut err = self.tcx.sess.struct_span_err(
|
||||||
|
attr.span,
|
||||||
|
"attribute should be applied to a foreign function or static",
|
||||||
|
);
|
||||||
|
err.span_label(*span, "not a foreign function or static");
|
||||||
|
|
||||||
|
// See issue #47725
|
||||||
|
if target == Target::ForeignMod {
|
||||||
|
if let Some(value) = attr.value_str() {
|
||||||
|
err.span_help(
|
||||||
|
attr.span,
|
||||||
|
&format!(r#"try `#[link(name = "{}")]` instead"#, value),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
err.span_help(attr.span, r#"try `#[link(name = "...")]` instead"#);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
err.emit();
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Checks if `#[no_link]` is applied to an `extern crate`. Returns `true` if valid.
|
||||||
|
fn check_no_link(&self, attr: &Attribute, span: &Span, target: Target) -> bool {
|
||||||
|
if target == Target::ExternCrate {
|
||||||
|
true
|
||||||
|
} else {
|
||||||
|
self.tcx
|
||||||
|
.sess
|
||||||
|
.struct_span_err(attr.span, "attribute should be applied to an `extern crate` item")
|
||||||
|
.span_label(*span, "not an `extern crate` item")
|
||||||
|
.emit();
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Checks if `#[export_name]` is applied to a function or static. Returns `true` if valid.
|
||||||
|
fn check_export_name(&self, attr: &Attribute, span: &Span, target: Target) -> bool {
|
||||||
|
match target {
|
||||||
|
Target::Static | Target::Fn | Target::Method(..) => true,
|
||||||
|
_ => {
|
||||||
|
self.tcx
|
||||||
|
.sess
|
||||||
|
.struct_span_err(
|
||||||
|
attr.span,
|
||||||
|
"attribute should be applied to a function or static",
|
||||||
|
)
|
||||||
|
.span_label(*span, "not a function or static")
|
||||||
|
.emit();
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Checks if `#[link_section]` is applied to a function or static. Returns `true` if valid.
|
||||||
|
fn check_link_section(&self, attr: &Attribute, span: &Span, target: Target) -> bool {
|
||||||
|
match target {
|
||||||
|
Target::Static | Target::Fn | Target::Method(..) => true,
|
||||||
|
_ => {
|
||||||
|
self.tcx
|
||||||
|
.sess
|
||||||
|
.struct_span_err(
|
||||||
|
attr.span,
|
||||||
|
"attribute should be applied to a function or static",
|
||||||
|
)
|
||||||
|
.span_label(*span, "not a function or static")
|
||||||
|
.emit();
|
||||||
|
false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Checks if the `#[repr]` attributes on `item` are valid.
|
/// Checks if the `#[repr]` attributes on `item` are valid.
|
||||||
fn check_repr(
|
fn check_repr(
|
||||||
&self,
|
&self,
|
||||||
|
@ -421,10 +524,8 @@ impl CheckAttrVisitor<'tcx> {
|
||||||
fn check_stmt_attributes(&self, stmt: &hir::Stmt<'_>) {
|
fn check_stmt_attributes(&self, stmt: &hir::Stmt<'_>) {
|
||||||
// When checking statements ignore expressions, they will be checked later
|
// When checking statements ignore expressions, they will be checked later
|
||||||
if let hir::StmtKind::Local(ref l) = stmt.kind {
|
if let hir::StmtKind::Local(ref l) = stmt.kind {
|
||||||
|
self.check_attributes(l.hir_id, &l.attrs, &stmt.span, Target::Statement, None);
|
||||||
for attr in l.attrs.iter() {
|
for attr in l.attrs.iter() {
|
||||||
if self.tcx.sess.check_name(attr, sym::inline) {
|
|
||||||
self.check_inline(l.hir_id, attr, &stmt.span, Target::Statement);
|
|
||||||
}
|
|
||||||
if self.tcx.sess.check_name(attr, sym::repr) {
|
if self.tcx.sess.check_name(attr, sym::repr) {
|
||||||
self.emit_repr_error(
|
self.emit_repr_error(
|
||||||
attr.span,
|
attr.span,
|
||||||
|
@ -442,10 +543,8 @@ impl CheckAttrVisitor<'tcx> {
|
||||||
hir::ExprKind::Closure(..) => Target::Closure,
|
hir::ExprKind::Closure(..) => Target::Closure,
|
||||||
_ => Target::Expression,
|
_ => Target::Expression,
|
||||||
};
|
};
|
||||||
|
self.check_attributes(expr.hir_id, &expr.attrs, &expr.span, target, None);
|
||||||
for attr in expr.attrs.iter() {
|
for attr in expr.attrs.iter() {
|
||||||
if self.tcx.sess.check_name(attr, sym::inline) {
|
|
||||||
self.check_inline(expr.hir_id, attr, &expr.span, target);
|
|
||||||
}
|
|
||||||
if self.tcx.sess.check_name(attr, sym::repr) {
|
if self.tcx.sess.check_name(attr, sym::repr) {
|
||||||
self.emit_repr_error(
|
self.emit_repr_error(
|
||||||
attr.span,
|
attr.span,
|
||||||
|
|
|
@ -2490,10 +2490,17 @@ fn codegen_fn_attrs(tcx: TyCtxt<'_>, id: DefId) -> CodegenFnAttrs {
|
||||||
codegen_fn_attrs.export_name = Some(s);
|
codegen_fn_attrs.export_name = Some(s);
|
||||||
}
|
}
|
||||||
} else if tcx.sess.check_name(attr, sym::target_feature) {
|
} else if tcx.sess.check_name(attr, sym::target_feature) {
|
||||||
|
if !tcx.is_closure(id) && tcx.fn_sig(id).unsafety() == hir::Unsafety::Normal {
|
||||||
if !tcx.features().target_feature_11 {
|
if !tcx.features().target_feature_11 {
|
||||||
check_target_feature_safe_fn(tcx, id, attr.span);
|
let mut err = feature_err(
|
||||||
|
&tcx.sess.parse_sess,
|
||||||
|
sym::target_feature_11,
|
||||||
|
attr.span,
|
||||||
|
"`#[target_feature(..)]` can only be applied to `unsafe` functions",
|
||||||
|
);
|
||||||
|
err.span_label(tcx.def_span(id), "not an `unsafe` function");
|
||||||
|
err.emit();
|
||||||
} else if let Some(local_id) = id.as_local() {
|
} else if let Some(local_id) = id.as_local() {
|
||||||
if tcx.fn_sig(id).unsafety() == hir::Unsafety::Normal {
|
|
||||||
check_target_feature_trait_unsafe(tcx, local_id, attr.span);
|
check_target_feature_trait_unsafe(tcx, local_id, attr.span);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2750,21 +2757,6 @@ fn check_link_name_xor_ordinal(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Checks the function annotated with `#[target_feature]` is unsafe,
|
|
||||||
/// reporting an error if it isn't.
|
|
||||||
fn check_target_feature_safe_fn(tcx: TyCtxt<'_>, id: DefId, attr_span: Span) {
|
|
||||||
if tcx.is_closure(id) || tcx.fn_sig(id).unsafety() == hir::Unsafety::Normal {
|
|
||||||
let mut err = feature_err(
|
|
||||||
&tcx.sess.parse_sess,
|
|
||||||
sym::target_feature_11,
|
|
||||||
attr_span,
|
|
||||||
"`#[target_feature(..)]` can only be applied to `unsafe` functions",
|
|
||||||
);
|
|
||||||
err.span_label(tcx.def_span(id), "not an `unsafe` function");
|
|
||||||
err.emit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Checks the function annotated with `#[target_feature]` is not a safe
|
/// Checks the function annotated with `#[target_feature]` is not a safe
|
||||||
/// trait method implementation, reporting an error if it is.
|
/// trait method implementation, reporting an error if it is.
|
||||||
fn check_target_feature_trait_unsafe(tcx: TyCtxt<'_>, id: LocalDefId, attr_span: Span) {
|
fn check_target_feature_trait_unsafe(tcx: TyCtxt<'_>, id: LocalDefId, attr_span: Span) {
|
||||||
|
|
|
@ -15,7 +15,7 @@ extern crate libc;
|
||||||
|
|
||||||
use libc::c_int;
|
use libc::c_int;
|
||||||
|
|
||||||
#[link_name = "check_static_recursion_foreign_helper"]
|
#[link(name = "check_static_recursion_foreign_helper")]
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
static test_static: c_int;
|
static test_static: c_int;
|
||||||
|
|
|
@ -0,0 +1,171 @@
|
||||||
|
// This is testing whether various builtin attributes signals an
|
||||||
|
// error or warning when put in "weird" places.
|
||||||
|
//
|
||||||
|
// (This file sits on its own because it actually signals an error,
|
||||||
|
// which would mess up the treatment of other cases in
|
||||||
|
// issue-43106-gating-of-builtin-attrs.rs)
|
||||||
|
|
||||||
|
// ignore-tidy-linelength
|
||||||
|
|
||||||
|
// Crate-level is accepted, though it is almost certainly unused?
|
||||||
|
#![inline]
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
//~^ ERROR attribute should be applied to function or closure
|
||||||
|
mod inline {
|
||||||
|
//~^ NOTE not a function or closure
|
||||||
|
|
||||||
|
mod inner { #![inline] }
|
||||||
|
//~^ ERROR attribute should be applied to function or closure
|
||||||
|
//~| NOTE not a function or closure
|
||||||
|
|
||||||
|
#[inline = "2100"] fn f() { }
|
||||||
|
//~^ ERROR attribute must be of the form
|
||||||
|
//~| WARN this was previously accepted
|
||||||
|
//~| NOTE #[deny(ill_formed_attribute_input)]` on by default
|
||||||
|
//~| NOTE for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
|
||||||
|
|
||||||
|
#[inline] struct S;
|
||||||
|
//~^ ERROR attribute should be applied to function or closure
|
||||||
|
//~| NOTE not a function or closure
|
||||||
|
|
||||||
|
#[inline] type T = S;
|
||||||
|
//~^ ERROR attribute should be applied to function or closure
|
||||||
|
//~| NOTE not a function or closure
|
||||||
|
|
||||||
|
#[inline] impl S { }
|
||||||
|
//~^ ERROR attribute should be applied to function or closure
|
||||||
|
//~| NOTE not a function or closure
|
||||||
|
}
|
||||||
|
|
||||||
|
#[no_link]
|
||||||
|
//~^ ERROR attribute should be applied to an `extern crate` item
|
||||||
|
mod no_link {
|
||||||
|
//~^ NOTE not an `extern crate` item
|
||||||
|
|
||||||
|
mod inner { #![no_link] }
|
||||||
|
//~^ ERROR attribute should be applied to an `extern crate` item
|
||||||
|
//~| NOTE not an `extern crate` item
|
||||||
|
|
||||||
|
#[no_link] fn f() { }
|
||||||
|
//~^ ERROR attribute should be applied to an `extern crate` item
|
||||||
|
//~| NOTE not an `extern crate` item
|
||||||
|
|
||||||
|
#[no_link] struct S;
|
||||||
|
//~^ ERROR attribute should be applied to an `extern crate` item
|
||||||
|
//~| NOTE not an `extern crate` item
|
||||||
|
|
||||||
|
#[no_link]type T = S;
|
||||||
|
//~^ ERROR attribute should be applied to an `extern crate` item
|
||||||
|
//~| NOTE not an `extern crate` item
|
||||||
|
|
||||||
|
#[no_link] impl S { }
|
||||||
|
//~^ ERROR attribute should be applied to an `extern crate` item
|
||||||
|
//~| NOTE not an `extern crate` item
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cold]
|
||||||
|
//~^ ERROR attribute should be applied to a function
|
||||||
|
mod cold {
|
||||||
|
//~^ NOTE not a function
|
||||||
|
|
||||||
|
mod inner { #![cold] }
|
||||||
|
//~^ ERROR attribute should be applied to a function
|
||||||
|
//~| NOTE not a function
|
||||||
|
|
||||||
|
#[cold] fn f() { }
|
||||||
|
|
||||||
|
#[cold] struct S;
|
||||||
|
//~^ ERROR attribute should be applied to a function
|
||||||
|
//~| NOTE not a function
|
||||||
|
|
||||||
|
#[cold] type T = S;
|
||||||
|
//~^ ERROR attribute should be applied to a function
|
||||||
|
//~| NOTE not a function
|
||||||
|
|
||||||
|
#[cold] impl S { }
|
||||||
|
//~^ ERROR attribute should be applied to a function
|
||||||
|
//~| NOTE not a function
|
||||||
|
}
|
||||||
|
|
||||||
|
#[export_name = "2200"]
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
mod export_name {
|
||||||
|
//~^ NOTE not a function or static
|
||||||
|
|
||||||
|
mod inner { #![export_name="2200"] }
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
//~| NOTE not a function or static
|
||||||
|
|
||||||
|
#[export_name = "2200"] fn f() { }
|
||||||
|
|
||||||
|
#[export_name = "2200"] struct S;
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
//~| NOTE not a function or static
|
||||||
|
|
||||||
|
#[export_name = "2200"] type T = S;
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
//~| NOTE not a function or static
|
||||||
|
|
||||||
|
#[export_name = "2200"] impl S { }
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
//~| NOTE not a function or static
|
||||||
|
}
|
||||||
|
|
||||||
|
#[link_name = "1900"]
|
||||||
|
//~^ ERROR attribute should be applied to a foreign function or static
|
||||||
|
mod link_name {
|
||||||
|
//~^ NOTE not a foreign function or static
|
||||||
|
|
||||||
|
#[link_name = "1900"]
|
||||||
|
//~^ ERROR attribute should be applied to a foreign function or static
|
||||||
|
//~| HELP try `#[link(name = "1900")]` instead
|
||||||
|
extern { }
|
||||||
|
//~^ NOTE not a foreign function or static
|
||||||
|
|
||||||
|
mod inner { #![link_name="1900"] }
|
||||||
|
//~^ ERROR attribute should be applied to a foreign function or static
|
||||||
|
//~| NOTE not a foreign function or static
|
||||||
|
|
||||||
|
#[link_name = "1900"] fn f() { }
|
||||||
|
//~^ ERROR attribute should be applied to a foreign function or static
|
||||||
|
//~| NOTE not a foreign function or static
|
||||||
|
|
||||||
|
#[link_name = "1900"] struct S;
|
||||||
|
//~^ ERROR attribute should be applied to a foreign function or static
|
||||||
|
//~| NOTE not a foreign function or static
|
||||||
|
|
||||||
|
#[link_name = "1900"] type T = S;
|
||||||
|
//~^ ERROR attribute should be applied to a foreign function or static
|
||||||
|
//~| NOTE not a foreign function or static
|
||||||
|
|
||||||
|
#[link_name = "1900"] impl S { }
|
||||||
|
//~^ ERROR attribute should be applied to a foreign function or static
|
||||||
|
//~| NOTE not a foreign function or static
|
||||||
|
}
|
||||||
|
|
||||||
|
#[link_section = "1800"]
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
mod link_section {
|
||||||
|
//~^ NOTE not a function or static
|
||||||
|
|
||||||
|
mod inner { #![link_section="1800"] }
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
//~| NOTE not a function or static
|
||||||
|
|
||||||
|
#[link_section = "1800"] fn f() { }
|
||||||
|
|
||||||
|
#[link_section = "1800"] struct S;
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
//~| NOTE not a function or static
|
||||||
|
|
||||||
|
#[link_section = "1800"] type T = S;
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
//~| NOTE not a function or static
|
||||||
|
|
||||||
|
#[link_section = "1800"] impl S { }
|
||||||
|
//~^ ERROR attribute should be applied to a function or static
|
||||||
|
//~| NOTE not a function or static
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
|
@ -0,0 +1,274 @@
|
||||||
|
error: attribute must be of the form `#[inline]` or `#[inline(always|never)]`
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:22:5
|
||||||
|
|
|
||||||
|
LL | #[inline = "2100"] fn f() { }
|
||||||
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: `#[deny(ill_formed_attribute_input)]` on by default
|
||||||
|
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
||||||
|
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
|
||||||
|
|
||||||
|
error[E0518]: attribute should be applied to function or closure
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:13:1
|
||||||
|
|
|
||||||
|
LL | #[inline]
|
||||||
|
| ^^^^^^^^^
|
||||||
|
LL |
|
||||||
|
LL | / mod inline {
|
||||||
|
LL | |
|
||||||
|
LL | |
|
||||||
|
LL | | mod inner { #![inline] }
|
||||||
|
... |
|
||||||
|
LL | |
|
||||||
|
LL | | }
|
||||||
|
| |_- not a function or closure
|
||||||
|
|
||||||
|
error: attribute should be applied to an `extern crate` item
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:41:1
|
||||||
|
|
|
||||||
|
LL | #[no_link]
|
||||||
|
| ^^^^^^^^^^
|
||||||
|
LL |
|
||||||
|
LL | / mod no_link {
|
||||||
|
LL | |
|
||||||
|
LL | |
|
||||||
|
LL | | mod inner { #![no_link] }
|
||||||
|
... |
|
||||||
|
LL | |
|
||||||
|
LL | | }
|
||||||
|
| |_- not an `extern crate` item
|
||||||
|
|
||||||
|
error: attribute should be applied to a function
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:67:1
|
||||||
|
|
|
||||||
|
LL | #[cold]
|
||||||
|
| ^^^^^^^
|
||||||
|
LL |
|
||||||
|
LL | / mod cold {
|
||||||
|
LL | |
|
||||||
|
LL | |
|
||||||
|
LL | | mod inner { #![cold] }
|
||||||
|
... |
|
||||||
|
LL | |
|
||||||
|
LL | | }
|
||||||
|
| |_- not a function
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:91:1
|
||||||
|
|
|
||||||
|
LL | #[export_name = "2200"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
LL |
|
||||||
|
LL | / mod export_name {
|
||||||
|
LL | |
|
||||||
|
LL | |
|
||||||
|
LL | | mod inner { #![export_name="2200"] }
|
||||||
|
... |
|
||||||
|
LL | |
|
||||||
|
LL | | }
|
||||||
|
| |_- not a function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:115:1
|
||||||
|
|
|
||||||
|
LL | #[link_name = "1900"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
LL |
|
||||||
|
LL | / mod link_name {
|
||||||
|
LL | |
|
||||||
|
LL | |
|
||||||
|
LL | | #[link_name = "1900"]
|
||||||
|
... |
|
||||||
|
LL | |
|
||||||
|
LL | | }
|
||||||
|
| |_- not a foreign function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:147:1
|
||||||
|
|
|
||||||
|
LL | #[link_section = "1800"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
LL |
|
||||||
|
LL | / mod link_section {
|
||||||
|
LL | |
|
||||||
|
LL | |
|
||||||
|
LL | | mod inner { #![link_section="1800"] }
|
||||||
|
... |
|
||||||
|
LL | |
|
||||||
|
LL | | }
|
||||||
|
| |_- not a function or static
|
||||||
|
|
||||||
|
error[E0518]: attribute should be applied to function or closure
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:18:17
|
||||||
|
|
|
||||||
|
LL | mod inner { #![inline] }
|
||||||
|
| ------------^^^^^^^^^^-- not a function or closure
|
||||||
|
|
||||||
|
error[E0518]: attribute should be applied to function or closure
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:28:5
|
||||||
|
|
|
||||||
|
LL | #[inline] struct S;
|
||||||
|
| ^^^^^^^^^ --------- not a function or closure
|
||||||
|
|
||||||
|
error[E0518]: attribute should be applied to function or closure
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:32:5
|
||||||
|
|
|
||||||
|
LL | #[inline] type T = S;
|
||||||
|
| ^^^^^^^^^ ----------- not a function or closure
|
||||||
|
|
||||||
|
error[E0518]: attribute should be applied to function or closure
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:36:5
|
||||||
|
|
|
||||||
|
LL | #[inline] impl S { }
|
||||||
|
| ^^^^^^^^^ ---------- not a function or closure
|
||||||
|
|
||||||
|
error: attribute should be applied to an `extern crate` item
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:46:17
|
||||||
|
|
|
||||||
|
LL | mod inner { #![no_link] }
|
||||||
|
| ------------^^^^^^^^^^^-- not an `extern crate` item
|
||||||
|
|
||||||
|
error: attribute should be applied to an `extern crate` item
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:50:5
|
||||||
|
|
|
||||||
|
LL | #[no_link] fn f() { }
|
||||||
|
| ^^^^^^^^^^ ---------- not an `extern crate` item
|
||||||
|
|
||||||
|
error: attribute should be applied to an `extern crate` item
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:54:5
|
||||||
|
|
|
||||||
|
LL | #[no_link] struct S;
|
||||||
|
| ^^^^^^^^^^ --------- not an `extern crate` item
|
||||||
|
|
||||||
|
error: attribute should be applied to an `extern crate` item
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:58:5
|
||||||
|
|
|
||||||
|
LL | #[no_link]type T = S;
|
||||||
|
| ^^^^^^^^^^----------- not an `extern crate` item
|
||||||
|
|
||||||
|
error: attribute should be applied to an `extern crate` item
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:62:5
|
||||||
|
|
|
||||||
|
LL | #[no_link] impl S { }
|
||||||
|
| ^^^^^^^^^^ ---------- not an `extern crate` item
|
||||||
|
|
||||||
|
error: attribute should be applied to a function
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:72:17
|
||||||
|
|
|
||||||
|
LL | mod inner { #![cold] }
|
||||||
|
| ------------^^^^^^^^-- not a function
|
||||||
|
|
||||||
|
error: attribute should be applied to a function
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:78:5
|
||||||
|
|
|
||||||
|
LL | #[cold] struct S;
|
||||||
|
| ^^^^^^^ --------- not a function
|
||||||
|
|
||||||
|
error: attribute should be applied to a function
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:82:5
|
||||||
|
|
|
||||||
|
LL | #[cold] type T = S;
|
||||||
|
| ^^^^^^^ ----------- not a function
|
||||||
|
|
||||||
|
error: attribute should be applied to a function
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:86:5
|
||||||
|
|
|
||||||
|
LL | #[cold] impl S { }
|
||||||
|
| ^^^^^^^ ---------- not a function
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:96:17
|
||||||
|
|
|
||||||
|
LL | mod inner { #![export_name="2200"] }
|
||||||
|
| ------------^^^^^^^^^^^^^^^^^^^^^^-- not a function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:102:5
|
||||||
|
|
|
||||||
|
LL | #[export_name = "2200"] struct S;
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ --------- not a function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:106:5
|
||||||
|
|
|
||||||
|
LL | #[export_name = "2200"] type T = S;
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ ----------- not a function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:110:5
|
||||||
|
|
|
||||||
|
LL | #[export_name = "2200"] impl S { }
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^ ---------- not a function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:120:5
|
||||||
|
|
|
||||||
|
LL | #[link_name = "1900"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
...
|
||||||
|
LL | extern { }
|
||||||
|
| ---------- not a foreign function or static
|
||||||
|
|
|
||||||
|
help: try `#[link(name = "1900")]` instead
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:120:5
|
||||||
|
|
|
||||||
|
LL | #[link_name = "1900"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:126:17
|
||||||
|
|
|
||||||
|
LL | mod inner { #![link_name="1900"] }
|
||||||
|
| ------------^^^^^^^^^^^^^^^^^^^^-- not a foreign function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:130:5
|
||||||
|
|
|
||||||
|
LL | #[link_name = "1900"] fn f() { }
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ ---------- not a foreign function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:134:5
|
||||||
|
|
|
||||||
|
LL | #[link_name = "1900"] struct S;
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ --------- not a foreign function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:138:5
|
||||||
|
|
|
||||||
|
LL | #[link_name = "1900"] type T = S;
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ ----------- not a foreign function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:142:5
|
||||||
|
|
|
||||||
|
LL | #[link_name = "1900"] impl S { }
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^ ---------- not a foreign function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:152:17
|
||||||
|
|
|
||||||
|
LL | mod inner { #![link_section="1800"] }
|
||||||
|
| ------------^^^^^^^^^^^^^^^^^^^^^^^-- not a function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:158:5
|
||||||
|
|
|
||||||
|
LL | #[link_section = "1800"] struct S;
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ --------- not a function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:162:5
|
||||||
|
|
|
||||||
|
LL | #[link_section = "1800"] type T = S;
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ ----------- not a function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a function or static
|
||||||
|
--> $DIR/issue-43106-gating-of-builtin-attrs-error.rs:166:5
|
||||||
|
|
|
||||||
|
LL | #[link_section = "1800"] impl S { }
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^ ---------- not a function or static
|
||||||
|
|
||||||
|
error: aborting due to 34 previous errors
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0518`.
|
|
@ -72,7 +72,7 @@
|
||||||
#![doc = "2400"]
|
#![doc = "2400"]
|
||||||
#![cold]
|
#![cold]
|
||||||
#![export_name = "2200"]
|
#![export_name = "2200"]
|
||||||
// see issue-43106-gating-of-inline.rs
|
// see issue-43106-gating-of-builtin-attrs-error.rs
|
||||||
#![link()]
|
#![link()]
|
||||||
#![link_name = "1900"]
|
#![link_name = "1900"]
|
||||||
#![link_section = "1800"]
|
#![link_section = "1800"]
|
||||||
|
@ -367,25 +367,6 @@ mod no_mangle {
|
||||||
#[no_mangle] impl S { }
|
#[no_mangle] impl S { }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[no_link]
|
|
||||||
//~^ WARN unused attribute
|
|
||||||
mod no_link {
|
|
||||||
mod inner { #![no_link] }
|
|
||||||
//~^ WARN unused attribute
|
|
||||||
|
|
||||||
#[no_link] fn f() { }
|
|
||||||
//~^ WARN unused attribute
|
|
||||||
|
|
||||||
#[no_link] struct S;
|
|
||||||
//~^ WARN unused attribute
|
|
||||||
|
|
||||||
#[no_link]type T = S;
|
|
||||||
//~^ WARN unused attribute
|
|
||||||
|
|
||||||
#[no_link] impl S { }
|
|
||||||
//~^ WARN unused attribute
|
|
||||||
}
|
|
||||||
|
|
||||||
#[should_panic]
|
#[should_panic]
|
||||||
//~^ WARN unused attribute
|
//~^ WARN unused attribute
|
||||||
mod should_panic {
|
mod should_panic {
|
||||||
|
@ -524,32 +505,6 @@ mod doc {
|
||||||
#[doc = "2400"] impl S { }
|
#[doc = "2400"] impl S { }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cold]
|
|
||||||
mod cold {
|
|
||||||
mod inner { #![cold] }
|
|
||||||
|
|
||||||
#[cold] fn f() { }
|
|
||||||
|
|
||||||
#[cold] struct S;
|
|
||||||
|
|
||||||
#[cold] type T = S;
|
|
||||||
|
|
||||||
#[cold] impl S { }
|
|
||||||
}
|
|
||||||
|
|
||||||
#[export_name = "2200"]
|
|
||||||
mod export_name {
|
|
||||||
mod inner { #![export_name="2200"] }
|
|
||||||
|
|
||||||
#[export_name = "2200"] fn f() { }
|
|
||||||
|
|
||||||
#[export_name = "2200"] struct S;
|
|
||||||
|
|
||||||
#[export_name = "2200"] type T = S;
|
|
||||||
|
|
||||||
#[export_name = "2200"] impl S { }
|
|
||||||
}
|
|
||||||
|
|
||||||
// Note that this is a `check-pass` test, so it
|
// Note that this is a `check-pass` test, so it
|
||||||
// will never invoke the linker. These are here nonetheless to point
|
// will never invoke the linker. These are here nonetheless to point
|
||||||
// out that we allow them at non-crate-level (though I do not know
|
// out that we allow them at non-crate-level (though I do not know
|
||||||
|
@ -568,32 +523,6 @@ mod link {
|
||||||
#[link()] impl S { }
|
#[link()] impl S { }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[link_name = "1900"]
|
|
||||||
mod link_name {
|
|
||||||
mod inner { #![link_name="1900"] }
|
|
||||||
|
|
||||||
#[link_name = "1900"] fn f() { }
|
|
||||||
|
|
||||||
#[link_name = "1900"] struct S;
|
|
||||||
|
|
||||||
#[link_name = "1900"] type T = S;
|
|
||||||
|
|
||||||
#[link_name = "1900"] impl S { }
|
|
||||||
}
|
|
||||||
|
|
||||||
#[link_section = "1800"]
|
|
||||||
mod link_section {
|
|
||||||
mod inner { #![link_section="1800"] }
|
|
||||||
|
|
||||||
#[link_section = "1800"] fn f() { }
|
|
||||||
|
|
||||||
#[link_section = "1800"] struct S;
|
|
||||||
|
|
||||||
#[link_section = "1800"] type T = S;
|
|
||||||
|
|
||||||
#[link_section = "1800"] impl S { }
|
|
||||||
}
|
|
||||||
|
|
||||||
struct StructForDeprecated;
|
struct StructForDeprecated;
|
||||||
|
|
||||||
#[deprecated]
|
#[deprecated]
|
||||||
|
|
|
@ -173,13 +173,13 @@ LL | #[deny(x5100)] impl S { }
|
||||||
| ^^^^^
|
| ^^^^^
|
||||||
|
|
||||||
warning: `#[macro_escape]` is a deprecated synonym for `#[macro_use]`
|
warning: `#[macro_escape]` is a deprecated synonym for `#[macro_use]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:466:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:447:1
|
||||||
|
|
|
|
||||||
LL | #[macro_escape]
|
LL | #[macro_escape]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: `#[macro_escape]` is a deprecated synonym for `#[macro_use]`
|
warning: `#[macro_escape]` is a deprecated synonym for `#[macro_use]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:469:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:450:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![macro_escape] }
|
LL | mod inner { #![macro_escape] }
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
@ -463,707 +463,671 @@ LL | #[automatically_derived]
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:373:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:373:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![no_link] }
|
|
||||||
| ^^^^^^^^^^^
|
|
||||||
|
|
||||||
warning: unused attribute
|
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:376:5
|
|
||||||
|
|
|
||||||
LL | #[no_link] fn f() { }
|
|
||||||
| ^^^^^^^^^^
|
|
||||||
|
|
||||||
warning: unused attribute
|
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:379:5
|
|
||||||
|
|
|
||||||
LL | #[no_link] struct S;
|
|
||||||
| ^^^^^^^^^^
|
|
||||||
|
|
||||||
warning: unused attribute
|
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:382:5
|
|
||||||
|
|
|
||||||
LL | #[no_link]type T = S;
|
|
||||||
| ^^^^^^^^^^
|
|
||||||
|
|
||||||
warning: unused attribute
|
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:385:5
|
|
||||||
|
|
|
||||||
LL | #[no_link] impl S { }
|
|
||||||
| ^^^^^^^^^^
|
|
||||||
|
|
||||||
warning: unused attribute
|
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:370:1
|
|
||||||
|
|
|
||||||
LL | #[no_link]
|
|
||||||
| ^^^^^^^^^^
|
|
||||||
|
|
||||||
warning: unused attribute
|
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:392:17
|
|
||||||
|
|
|
||||||
LL | mod inner { #![should_panic] }
|
LL | mod inner { #![should_panic] }
|
||||||
| ^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:395:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:376:5
|
||||||
|
|
|
|
||||||
LL | #[should_panic] fn f() { }
|
LL | #[should_panic] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:398:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:379:5
|
||||||
|
|
|
|
||||||
LL | #[should_panic] struct S;
|
LL | #[should_panic] struct S;
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:401:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:382:5
|
||||||
|
|
|
|
||||||
LL | #[should_panic] type T = S;
|
LL | #[should_panic] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:404:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:385:5
|
||||||
|
|
|
|
||||||
LL | #[should_panic] impl S { }
|
LL | #[should_panic] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:389:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:370:1
|
||||||
|
|
|
|
||||||
LL | #[should_panic]
|
LL | #[should_panic]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:411:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:392:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![ignore] }
|
LL | mod inner { #![ignore] }
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:414:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:395:5
|
||||||
|
|
|
|
||||||
LL | #[ignore] fn f() { }
|
LL | #[ignore] fn f() { }
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:417:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:398:5
|
||||||
|
|
|
|
||||||
LL | #[ignore] struct S;
|
LL | #[ignore] struct S;
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:420:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:401:5
|
||||||
|
|
|
|
||||||
LL | #[ignore] type T = S;
|
LL | #[ignore] type T = S;
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:423:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:404:5
|
||||||
|
|
|
|
||||||
LL | #[ignore] impl S { }
|
LL | #[ignore] impl S { }
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:408:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:389:1
|
||||||
|
|
|
|
||||||
LL | #[ignore]
|
LL | #[ignore]
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:430:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:411:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![no_implicit_prelude] }
|
LL | mod inner { #![no_implicit_prelude] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:433:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:414:5
|
||||||
|
|
|
|
||||||
LL | #[no_implicit_prelude] fn f() { }
|
LL | #[no_implicit_prelude] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:436:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:417:5
|
||||||
|
|
|
|
||||||
LL | #[no_implicit_prelude] struct S;
|
LL | #[no_implicit_prelude] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:439:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:420:5
|
||||||
|
|
|
|
||||||
LL | #[no_implicit_prelude] type T = S;
|
LL | #[no_implicit_prelude] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:442:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:423:5
|
||||||
|
|
|
|
||||||
LL | #[no_implicit_prelude] impl S { }
|
LL | #[no_implicit_prelude] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:427:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:408:1
|
||||||
|
|
|
|
||||||
LL | #[no_implicit_prelude]
|
LL | #[no_implicit_prelude]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:449:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:430:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![reexport_test_harness_main="2900"] }
|
LL | mod inner { #![reexport_test_harness_main="2900"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:452:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:433:5
|
||||||
|
|
|
|
||||||
LL | #[reexport_test_harness_main = "2900"] fn f() { }
|
LL | #[reexport_test_harness_main = "2900"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:455:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:436:5
|
||||||
|
|
|
|
||||||
LL | #[reexport_test_harness_main = "2900"] struct S;
|
LL | #[reexport_test_harness_main = "2900"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:458:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:439:5
|
||||||
|
|
|
|
||||||
LL | #[reexport_test_harness_main = "2900"] type T = S;
|
LL | #[reexport_test_harness_main = "2900"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:461:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:442:5
|
||||||
|
|
|
|
||||||
LL | #[reexport_test_harness_main = "2900"] impl S { }
|
LL | #[reexport_test_harness_main = "2900"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:446:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:427:1
|
||||||
|
|
|
|
||||||
LL | #[reexport_test_harness_main = "2900"]
|
LL | #[reexport_test_harness_main = "2900"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:472:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:453:5
|
||||||
|
|
|
|
||||||
LL | #[macro_escape] fn f() { }
|
LL | #[macro_escape] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:475:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:456:5
|
||||||
|
|
|
|
||||||
LL | #[macro_escape] struct S;
|
LL | #[macro_escape] struct S;
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:478:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:459:5
|
||||||
|
|
|
|
||||||
LL | #[macro_escape] type T = S;
|
LL | #[macro_escape] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:481:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:462:5
|
||||||
|
|
|
|
||||||
LL | #[macro_escape] impl S { }
|
LL | #[macro_escape] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:489:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:470:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![no_std] }
|
LL | mod inner { #![no_std] }
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be in the root module
|
warning: crate-level attribute should be in the root module
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:489:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:470:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![no_std] }
|
LL | mod inner { #![no_std] }
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:493:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:474:5
|
||||||
|
|
|
|
||||||
LL | #[no_std] fn f() { }
|
LL | #[no_std] fn f() { }
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:493:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:474:5
|
||||||
|
|
|
|
||||||
LL | #[no_std] fn f() { }
|
LL | #[no_std] fn f() { }
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:497:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:478:5
|
||||||
|
|
|
|
||||||
LL | #[no_std] struct S;
|
LL | #[no_std] struct S;
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:497:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:478:5
|
||||||
|
|
|
|
||||||
LL | #[no_std] struct S;
|
LL | #[no_std] struct S;
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:501:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:482:5
|
||||||
|
|
|
|
||||||
LL | #[no_std] type T = S;
|
LL | #[no_std] type T = S;
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:501:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:482:5
|
||||||
|
|
|
|
||||||
LL | #[no_std] type T = S;
|
LL | #[no_std] type T = S;
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:505:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:486:5
|
||||||
|
|
|
|
||||||
LL | #[no_std] impl S { }
|
LL | #[no_std] impl S { }
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:505:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:486:5
|
||||||
|
|
|
|
||||||
LL | #[no_std] impl S { }
|
LL | #[no_std] impl S { }
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:485:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:466:1
|
||||||
|
|
|
|
||||||
LL | #[no_std]
|
LL | #[no_std]
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:485:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:466:1
|
||||||
|
|
|
|
||||||
LL | #[no_std]
|
LL | #[no_std]
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:644:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:573:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![crate_name="0900"] }
|
LL | mod inner { #![crate_name="0900"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be in the root module
|
warning: crate-level attribute should be in the root module
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:644:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:573:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![crate_name="0900"] }
|
LL | mod inner { #![crate_name="0900"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:648:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:577:5
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"] fn f() { }
|
LL | #[crate_name = "0900"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:648:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:577:5
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"] fn f() { }
|
LL | #[crate_name = "0900"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:652:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:581:5
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"] struct S;
|
LL | #[crate_name = "0900"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:652:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:581:5
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"] struct S;
|
LL | #[crate_name = "0900"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:656:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:585:5
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"] type T = S;
|
LL | #[crate_name = "0900"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:656:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:585:5
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"] type T = S;
|
LL | #[crate_name = "0900"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:660:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:589:5
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"] impl S { }
|
LL | #[crate_name = "0900"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:660:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:589:5
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"] impl S { }
|
LL | #[crate_name = "0900"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:640:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:569:1
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"]
|
LL | #[crate_name = "0900"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:640:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:569:1
|
||||||
|
|
|
|
||||||
LL | #[crate_name = "0900"]
|
LL | #[crate_name = "0900"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:669:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:598:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![crate_type="0800"] }
|
LL | mod inner { #![crate_type="0800"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be in the root module
|
warning: crate-level attribute should be in the root module
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:669:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:598:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![crate_type="0800"] }
|
LL | mod inner { #![crate_type="0800"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:673:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:602:5
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"] fn f() { }
|
LL | #[crate_type = "0800"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:673:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:602:5
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"] fn f() { }
|
LL | #[crate_type = "0800"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:677:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:606:5
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"] struct S;
|
LL | #[crate_type = "0800"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:677:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:606:5
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"] struct S;
|
LL | #[crate_type = "0800"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:681:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:610:5
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"] type T = S;
|
LL | #[crate_type = "0800"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:681:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:610:5
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"] type T = S;
|
LL | #[crate_type = "0800"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:685:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:614:5
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"] impl S { }
|
LL | #[crate_type = "0800"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:685:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:614:5
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"] impl S { }
|
LL | #[crate_type = "0800"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:665:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:594:1
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"]
|
LL | #[crate_type = "0800"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:665:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:594:1
|
||||||
|
|
|
|
||||||
LL | #[crate_type = "0800"]
|
LL | #[crate_type = "0800"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:694:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:623:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![feature(x0600)] }
|
LL | mod inner { #![feature(x0600)] }
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be in the root module
|
warning: crate-level attribute should be in the root module
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:694:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:623:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![feature(x0600)] }
|
LL | mod inner { #![feature(x0600)] }
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:698:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:627:5
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)] fn f() { }
|
LL | #[feature(x0600)] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:698:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:627:5
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)] fn f() { }
|
LL | #[feature(x0600)] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:702:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:631:5
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)] struct S;
|
LL | #[feature(x0600)] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:702:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:631:5
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)] struct S;
|
LL | #[feature(x0600)] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:706:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:635:5
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)] type T = S;
|
LL | #[feature(x0600)] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:706:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:635:5
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)] type T = S;
|
LL | #[feature(x0600)] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:710:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:639:5
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)] impl S { }
|
LL | #[feature(x0600)] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:710:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:639:5
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)] impl S { }
|
LL | #[feature(x0600)] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:690:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:619:1
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)]
|
LL | #[feature(x0600)]
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:690:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:619:1
|
||||||
|
|
|
|
||||||
LL | #[feature(x0600)]
|
LL | #[feature(x0600)]
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:720:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:649:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![no_main] }
|
LL | mod inner { #![no_main] }
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be in the root module
|
warning: crate-level attribute should be in the root module
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:720:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:649:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![no_main] }
|
LL | mod inner { #![no_main] }
|
||||||
| ^^^^^^^^^^^
|
| ^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:724:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:653:5
|
||||||
|
|
|
|
||||||
LL | #[no_main] fn f() { }
|
LL | #[no_main] fn f() { }
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:724:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:653:5
|
||||||
|
|
|
|
||||||
LL | #[no_main] fn f() { }
|
LL | #[no_main] fn f() { }
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:728:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:657:5
|
||||||
|
|
|
|
||||||
LL | #[no_main] struct S;
|
LL | #[no_main] struct S;
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:728:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:657:5
|
||||||
|
|
|
|
||||||
LL | #[no_main] struct S;
|
LL | #[no_main] struct S;
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:732:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:661:5
|
||||||
|
|
|
|
||||||
LL | #[no_main] type T = S;
|
LL | #[no_main] type T = S;
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:732:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:661:5
|
||||||
|
|
|
|
||||||
LL | #[no_main] type T = S;
|
LL | #[no_main] type T = S;
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:736:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:665:5
|
||||||
|
|
|
|
||||||
LL | #[no_main] impl S { }
|
LL | #[no_main] impl S { }
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:736:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:665:5
|
||||||
|
|
|
|
||||||
LL | #[no_main] impl S { }
|
LL | #[no_main] impl S { }
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:716:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:645:1
|
||||||
|
|
|
|
||||||
LL | #[no_main]
|
LL | #[no_main]
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:716:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:645:1
|
||||||
|
|
|
|
||||||
LL | #[no_main]
|
LL | #[no_main]
|
||||||
| ^^^^^^^^^^
|
| ^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:758:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:687:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![recursion_limit="0200"] }
|
LL | mod inner { #![recursion_limit="0200"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be in the root module
|
warning: crate-level attribute should be in the root module
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:758:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:687:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![recursion_limit="0200"] }
|
LL | mod inner { #![recursion_limit="0200"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:762:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:691:5
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"] fn f() { }
|
LL | #[recursion_limit="0200"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:762:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:691:5
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"] fn f() { }
|
LL | #[recursion_limit="0200"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:766:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:695:5
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"] struct S;
|
LL | #[recursion_limit="0200"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:766:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:695:5
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"] struct S;
|
LL | #[recursion_limit="0200"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:770:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:699:5
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"] type T = S;
|
LL | #[recursion_limit="0200"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:770:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:699:5
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"] type T = S;
|
LL | #[recursion_limit="0200"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:774:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:703:5
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"] impl S { }
|
LL | #[recursion_limit="0200"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:774:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:703:5
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"] impl S { }
|
LL | #[recursion_limit="0200"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:754:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:683:1
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"]
|
LL | #[recursion_limit="0200"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:754:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:683:1
|
||||||
|
|
|
|
||||||
LL | #[recursion_limit="0200"]
|
LL | #[recursion_limit="0200"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:783:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:712:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![type_length_limit="0100"] }
|
LL | mod inner { #![type_length_limit="0100"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be in the root module
|
warning: crate-level attribute should be in the root module
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:783:17
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:712:17
|
||||||
|
|
|
|
||||||
LL | mod inner { #![type_length_limit="0100"] }
|
LL | mod inner { #![type_length_limit="0100"] }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:787:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:716:5
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"] fn f() { }
|
LL | #[type_length_limit="0100"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:787:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:716:5
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"] fn f() { }
|
LL | #[type_length_limit="0100"] fn f() { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:791:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:720:5
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"] struct S;
|
LL | #[type_length_limit="0100"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:791:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:720:5
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"] struct S;
|
LL | #[type_length_limit="0100"] struct S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:795:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:724:5
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"] type T = S;
|
LL | #[type_length_limit="0100"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:795:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:724:5
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"] type T = S;
|
LL | #[type_length_limit="0100"] type T = S;
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:799:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:728:5
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"] impl S { }
|
LL | #[type_length_limit="0100"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:799:5
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:728:5
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"] impl S { }
|
LL | #[type_length_limit="0100"] impl S { }
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: unused attribute
|
warning: unused attribute
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:779:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:708:1
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"]
|
LL | #[type_length_limit="0100"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
warning: crate-level attribute should be an inner attribute: add an exclamation mark: `#![foo]`
|
||||||
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:779:1
|
--> $DIR/issue-43106-gating-of-builtin-attrs.rs:708:1
|
||||||
|
|
|
|
||||||
LL | #[type_length_limit="0100"]
|
LL | #[type_length_limit="0100"]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
@ -1234,5 +1198,5 @@ warning: unused attribute
|
||||||
LL | #![proc_macro_derive()]
|
LL | #![proc_macro_derive()]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
warning: 203 warnings emitted
|
warning: 197 warnings emitted
|
||||||
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
// This is testing whether `#[inline]` signals an error or warning
|
|
||||||
// when put in "weird" places.
|
|
||||||
//
|
|
||||||
// (This file sits on its own because it actually signals an error,
|
|
||||||
// which would mess up the treatment of other cases in
|
|
||||||
// issue-43106-gating-of-builtin-attrs.rs)
|
|
||||||
|
|
||||||
// Crate-level is accepted, though it is almost certainly unused?
|
|
||||||
#![inline]
|
|
||||||
|
|
||||||
#[inline]
|
|
||||||
//~^ ERROR attribute should be applied to function or closure
|
|
||||||
mod inline {
|
|
||||||
mod inner { #![inline] }
|
|
||||||
//~^ ERROR attribute should be applied to function or closure
|
|
||||||
|
|
||||||
#[inline = "2100"] fn f() { }
|
|
||||||
//~^ ERROR attribute must be of the form
|
|
||||||
//~| WARN this was previously accepted
|
|
||||||
|
|
||||||
#[inline] struct S;
|
|
||||||
//~^ ERROR attribute should be applied to function or closure
|
|
||||||
|
|
||||||
#[inline] type T = S;
|
|
||||||
//~^ ERROR attribute should be applied to function or closure
|
|
||||||
|
|
||||||
#[inline] impl S { }
|
|
||||||
//~^ ERROR attribute should be applied to function or closure
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() {}
|
|
|
@ -1,52 +0,0 @@
|
||||||
error: attribute must be of the form `#[inline]` or `#[inline(always|never)]`
|
|
||||||
--> $DIR/issue-43106-gating-of-inline.rs:17:5
|
|
||||||
|
|
|
||||||
LL | #[inline = "2100"] fn f() { }
|
|
||||||
| ^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
|
||||||
= note: `#[deny(ill_formed_attribute_input)]` on by default
|
|
||||||
= warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
|
|
||||||
= note: for more information, see issue #57571 <https://github.com/rust-lang/rust/issues/57571>
|
|
||||||
|
|
||||||
error[E0518]: attribute should be applied to function or closure
|
|
||||||
--> $DIR/issue-43106-gating-of-inline.rs:11:1
|
|
||||||
|
|
|
||||||
LL | #[inline]
|
|
||||||
| ^^^^^^^^^
|
|
||||||
LL |
|
|
||||||
LL | / mod inline {
|
|
||||||
LL | | mod inner { #![inline] }
|
|
||||||
LL | |
|
|
||||||
LL | |
|
|
||||||
... |
|
|
||||||
LL | |
|
|
||||||
LL | | }
|
|
||||||
| |_- not a function or closure
|
|
||||||
|
|
||||||
error[E0518]: attribute should be applied to function or closure
|
|
||||||
--> $DIR/issue-43106-gating-of-inline.rs:14:17
|
|
||||||
|
|
|
||||||
LL | mod inner { #![inline] }
|
|
||||||
| ------------^^^^^^^^^^-- not a function or closure
|
|
||||||
|
|
||||||
error[E0518]: attribute should be applied to function or closure
|
|
||||||
--> $DIR/issue-43106-gating-of-inline.rs:21:5
|
|
||||||
|
|
|
||||||
LL | #[inline] struct S;
|
|
||||||
| ^^^^^^^^^ --------- not a function or closure
|
|
||||||
|
|
||||||
error[E0518]: attribute should be applied to function or closure
|
|
||||||
--> $DIR/issue-43106-gating-of-inline.rs:24:5
|
|
||||||
|
|
|
||||||
LL | #[inline] type T = S;
|
|
||||||
| ^^^^^^^^^ ----------- not a function or closure
|
|
||||||
|
|
||||||
error[E0518]: attribute should be applied to function or closure
|
|
||||||
--> $DIR/issue-43106-gating-of-inline.rs:27:5
|
|
||||||
|
|
|
||||||
LL | #[inline] impl S { }
|
|
||||||
| ^^^^^^^^^ ---------- not a function or closure
|
|
||||||
|
|
||||||
error: aborting due to 6 previous errors
|
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0518`.
|
|
|
@ -23,7 +23,7 @@ fn lgamma(n: c_double, value: &mut isize) -> c_double {
|
||||||
mod m {
|
mod m {
|
||||||
use libc::{c_double, c_int};
|
use libc::{c_double, c_int};
|
||||||
|
|
||||||
#[link_name = "m"]
|
#[link(name = "m")]
|
||||||
extern {
|
extern {
|
||||||
#[cfg(any(all(unix, not(target_os = "vxworks")), target_os = "cloudabi"))]
|
#[cfg(any(all(unix, not(target_os = "vxworks")), target_os = "cloudabi"))]
|
||||||
#[link_name="lgamma_r"]
|
#[link_name="lgamma_r"]
|
||||||
|
|
22
src/test/ui/issues/issue-47725.rs
Normal file
22
src/test/ui/issues/issue-47725.rs
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#[link_name = "foo"] //~ ERROR attribute should be applied to a foreign function or static
|
||||||
|
struct Foo; //~ NOTE not a foreign function or static
|
||||||
|
|
||||||
|
#[link_name = "foobar"]
|
||||||
|
//~^ ERROR attribute should be applied to a foreign function or static
|
||||||
|
//~| HELP try `#[link(name = "foobar")]` instead
|
||||||
|
extern "C" {
|
||||||
|
fn foo() -> u32;
|
||||||
|
}
|
||||||
|
//~^^^ NOTE not a foreign function or static
|
||||||
|
|
||||||
|
#[link_name]
|
||||||
|
//~^ ERROR malformed `link_name` attribute input
|
||||||
|
//~| HELP must be of the form
|
||||||
|
//~| ERROR attribute should be applied to a foreign function or static
|
||||||
|
//~| HELP try `#[link(name = "...")]` instead
|
||||||
|
extern "C" {
|
||||||
|
fn bar() -> u32;
|
||||||
|
}
|
||||||
|
//~^^^ NOTE not a foreign function or static
|
||||||
|
|
||||||
|
fn main() {}
|
50
src/test/ui/issues/issue-47725.stderr
Normal file
50
src/test/ui/issues/issue-47725.stderr
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
error: malformed `link_name` attribute input
|
||||||
|
--> $DIR/issue-47725.rs:12:1
|
||||||
|
|
|
||||||
|
LL | #[link_name]
|
||||||
|
| ^^^^^^^^^^^^ help: must be of the form: `#[link_name = "name"]`
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-47725.rs:1:1
|
||||||
|
|
|
||||||
|
LL | #[link_name = "foo"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^
|
||||||
|
LL | struct Foo;
|
||||||
|
| ----------- not a foreign function or static
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-47725.rs:4:1
|
||||||
|
|
|
||||||
|
LL | #[link_name = "foobar"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
...
|
||||||
|
LL | / extern "C" {
|
||||||
|
LL | | fn foo() -> u32;
|
||||||
|
LL | | }
|
||||||
|
| |_- not a foreign function or static
|
||||||
|
|
|
||||||
|
help: try `#[link(name = "foobar")]` instead
|
||||||
|
--> $DIR/issue-47725.rs:4:1
|
||||||
|
|
|
||||||
|
LL | #[link_name = "foobar"]
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: attribute should be applied to a foreign function or static
|
||||||
|
--> $DIR/issue-47725.rs:12:1
|
||||||
|
|
|
||||||
|
LL | #[link_name]
|
||||||
|
| ^^^^^^^^^^^^
|
||||||
|
...
|
||||||
|
LL | / extern "C" {
|
||||||
|
LL | | fn bar() -> u32;
|
||||||
|
LL | | }
|
||||||
|
| |_- not a foreign function or static
|
||||||
|
|
|
||||||
|
help: try `#[link(name = "...")]` instead
|
||||||
|
--> $DIR/issue-47725.rs:12:1
|
||||||
|
|
|
||||||
|
LL | #[link_name]
|
||||||
|
| ^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: aborting due to 4 previous errors
|
||||||
|
|
7
src/test/ui/issues/issue-54044.rs
Normal file
7
src/test/ui/issues/issue-54044.rs
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#[cold] //~ ERROR attribute should be applied to a function
|
||||||
|
struct Foo; //~ NOTE not a function
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
#[cold] //~ ERROR attribute should be applied to a function
|
||||||
|
5; //~ NOTE not a function
|
||||||
|
}
|
18
src/test/ui/issues/issue-54044.stderr
Normal file
18
src/test/ui/issues/issue-54044.stderr
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
error: attribute should be applied to a function
|
||||||
|
--> $DIR/issue-54044.rs:1:1
|
||||||
|
|
|
||||||
|
LL | #[cold]
|
||||||
|
| ^^^^^^^
|
||||||
|
LL | struct Foo;
|
||||||
|
| ----------- not a function
|
||||||
|
|
||||||
|
error: attribute should be applied to a function
|
||||||
|
--> $DIR/issue-54044.rs:5:5
|
||||||
|
|
|
||||||
|
LL | #[cold]
|
||||||
|
| ^^^^^^^
|
||||||
|
LL | 5;
|
||||||
|
| - not a function
|
||||||
|
|
||||||
|
error: aborting due to 2 previous errors
|
||||||
|
|
|
@ -2,10 +2,11 @@ fn main() {
|
||||||
(0..)
|
(0..)
|
||||||
.map(
|
.map(
|
||||||
#[target_feature(enable = "")]
|
#[target_feature(enable = "")]
|
||||||
//~^ ERROR: the feature named `` is not valid for this target
|
//~^ ERROR: attribute should be applied to a function
|
||||||
//~| ERROR: `#[target_feature(..)]` can only be applied to `unsafe` functions
|
//~| ERROR: the feature named `` is not valid for this target
|
||||||
#[track_caller]
|
#[track_caller]
|
||||||
//~^ ERROR: `#[track_caller]` requires Rust ABI
|
//~^ ERROR: attribute should be applied to function [E0739]
|
||||||
|
//~| ERROR: `#[track_caller]` requires Rust ABI [E0737]
|
||||||
|_| (),
|
|_| (),
|
||||||
)
|
)
|
||||||
.next();
|
.next();
|
||||||
|
|
|
@ -1,14 +1,20 @@
|
||||||
error[E0658]: `#[target_feature(..)]` can only be applied to `unsafe` functions
|
error: attribute should be applied to a function
|
||||||
--> $DIR/issue-68060.rs:4:13
|
--> $DIR/issue-68060.rs:4:13
|
||||||
|
|
|
|
||||||
LL | #[target_feature(enable = "")]
|
LL | #[target_feature(enable = "")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
...
|
...
|
||||||
LL | |_| (),
|
LL | |_| (),
|
||||||
| ------ not an `unsafe` function
|
| ------ not a function
|
||||||
|
|
||||||
|
error[E0739]: attribute should be applied to function
|
||||||
|
--> $DIR/issue-68060.rs:7:13
|
||||||
|
|
|
|
||||||
= note: see issue #69098 <https://github.com/rust-lang/rust/issues/69098> for more information
|
LL | #[track_caller]
|
||||||
= help: add `#![feature(target_feature_11)]` to the crate attributes to enable
|
| ^^^^^^^^^^^^^^^
|
||||||
|
...
|
||||||
|
LL | |_| (),
|
||||||
|
| ------ not a function
|
||||||
|
|
||||||
error: the feature named `` is not valid for this target
|
error: the feature named `` is not valid for this target
|
||||||
--> $DIR/issue-68060.rs:4:30
|
--> $DIR/issue-68060.rs:4:30
|
||||||
|
@ -17,12 +23,12 @@ LL | #[target_feature(enable = "")]
|
||||||
| ^^^^^^^^^^^ `` is not valid for this target
|
| ^^^^^^^^^^^ `` is not valid for this target
|
||||||
|
|
||||||
error[E0737]: `#[track_caller]` requires Rust ABI
|
error[E0737]: `#[track_caller]` requires Rust ABI
|
||||||
--> $DIR/issue-68060.rs:7:13
|
--> $DIR/issue-68060.rs:8:13
|
||||||
|
|
|
|
||||||
LL | #[track_caller]
|
LL | #[track_caller]
|
||||||
| ^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to 3 previous errors
|
error: aborting due to 4 previous errors
|
||||||
|
|
||||||
Some errors have detailed explanations: E0658, E0737.
|
Some errors have detailed explanations: E0737, E0739.
|
||||||
For more information about an error, try `rustc --explain E0658`.
|
For more information about an error, try `rustc --explain E0737`.
|
||||||
|
|
|
@ -79,13 +79,16 @@ impl Quux for Foo {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
#[target_feature(enable = "sse2")]
|
||||||
|
//~^ ERROR attribute should be applied to a function
|
||||||
unsafe {
|
unsafe {
|
||||||
foo();
|
foo();
|
||||||
bar();
|
bar();
|
||||||
}
|
}
|
||||||
|
//~^^^^ NOTE not a function
|
||||||
|
|
||||||
#[target_feature(enable = "sse2")]
|
#[target_feature(enable = "sse2")]
|
||||||
//~^ ERROR `#[target_feature(..)]` can only be applied to `unsafe` functions
|
//~^ ERROR attribute should be applied to a function
|
||||||
//~| NOTE see issue #69098
|
|
||||||
|| {};
|
|| {};
|
||||||
//~^ NOTE not an `unsafe` function
|
//~^ NOTE not a function
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,17 +94,26 @@ error: cannot use `#[inline(always)]` with `#[target_feature]`
|
||||||
LL | #[inline(always)]
|
LL | #[inline(always)]
|
||||||
| ^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
error[E0658]: `#[target_feature(..)]` can only be applied to `unsafe` functions
|
error: attribute should be applied to a function
|
||||||
--> $DIR/invalid-attribute.rs:86:5
|
--> $DIR/invalid-attribute.rs:82:5
|
||||||
|
|
|
|
||||||
LL | #[target_feature(enable = "sse2")]
|
LL | #[target_feature(enable = "sse2")]
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
...
|
LL |
|
||||||
LL | || {};
|
LL | / unsafe {
|
||||||
| ----- not an `unsafe` function
|
LL | | foo();
|
||||||
|
LL | | bar();
|
||||||
|
LL | | }
|
||||||
|
| |_____- not a function
|
||||||
|
|
||||||
|
error: attribute should be applied to a function
|
||||||
|
--> $DIR/invalid-attribute.rs:90:5
|
||||||
|
|
|
|
||||||
= note: see issue #69098 <https://github.com/rust-lang/rust/issues/69098> for more information
|
LL | #[target_feature(enable = "sse2")]
|
||||||
= help: add `#![feature(target_feature_11)]` to the crate attributes to enable
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
LL |
|
||||||
|
LL | || {};
|
||||||
|
| ----- not a function
|
||||||
|
|
||||||
error[E0658]: `#[target_feature(..)]` can only be applied to `unsafe` functions
|
error[E0658]: `#[target_feature(..)]` can only be applied to `unsafe` functions
|
||||||
--> $DIR/invalid-attribute.rs:74:5
|
--> $DIR/invalid-attribute.rs:74:5
|
||||||
|
@ -118,6 +127,6 @@ LL | fn foo() {}
|
||||||
= note: see issue #69098 <https://github.com/rust-lang/rust/issues/69098> for more information
|
= note: see issue #69098 <https://github.com/rust-lang/rust/issues/69098> for more information
|
||||||
= help: add `#![feature(target_feature_11)]` to the crate attributes to enable
|
= help: add `#![feature(target_feature_11)]` to the crate attributes to enable
|
||||||
|
|
||||||
error: aborting due to 14 previous errors
|
error: aborting due to 15 previous errors
|
||||||
|
|
||||||
For more information about this error, try `rustc --explain E0658`.
|
For more information about this error, try `rustc --explain E0658`.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue