passes-rustc-lint-opt-deny-field-access = `#[rustc_lint_opt_deny_field_access]` should be applied to a field
.label = not a field
-passes-link-ordinal = attribute should be applied to a foreign function
- .label = not a foreign function
\ No newline at end of file
+passes-link-ordinal = attribute should be applied to a foreign function or static
+ .label = not a foreign function or static
\ No newline at end of file
fn check_link_ordinal(&self, attr: &Attribute, _span: Span, target: Target) -> bool {
match target {
- Target::ForeignFn => true,
+ Target::ForeignFn | Target::ForeignStatic => true,
_ => {
self.tcx.sess.emit_err(errors::LinkOrdinal { attr_span: attr.span });
false
//~^ WARN the feature `raw_dylib` is incomplete
#[link_ordinal(123)]
-//~^ ERROR attribute should be applied to a foreign function
+//~^ ERROR attribute should be applied to a foreign function or static
struct Foo {}
#[link_ordinal(123)]
-//~^ ERROR attribute should be applied to a foreign function
+//~^ ERROR attribute should be applied to a foreign function or static
fn test() {}
+#[link_ordinal(42)]
+//~^ ERROR attribute should be applied to a foreign function or static
+static mut imported_val: i32 = 123;
+
#[link(name = "exporter", kind = "raw-dylib")]
extern {
#[link_ordinal(13)]
fn imported_function();
+
+ #[link_ordinal(42)]
+ static mut imported_variable: i32;
}
fn main() {}
= note: `#[warn(incomplete_features)]` on by default
= note: see issue #58713 <https://github.com/rust-lang/rust/issues/58713> for more information
-error: attribute should be applied to a foreign function
+error: attribute should be applied to a foreign function or static
--> $DIR/link-ordinal-not-foreign-fn.rs:4:1
|
LL | #[link_ordinal(123)]
| ^^^^^^^^^^^^^^^^^^^^
-error: attribute should be applied to a foreign function
+error: attribute should be applied to a foreign function or static
--> $DIR/link-ordinal-not-foreign-fn.rs:8:1
|
LL | #[link_ordinal(123)]
| ^^^^^^^^^^^^^^^^^^^^
-error: aborting due to 2 previous errors; 1 warning emitted
+error: attribute should be applied to a foreign function or static
+ --> $DIR/link-ordinal-not-foreign-fn.rs:12:1
+ |
+LL | #[link_ordinal(42)]
+ | ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to 3 previous errors; 1 warning emitted