warning: the feature `effective_target_features` is incomplete and may not be safe to use and/or cause compiler crashes --> $DIR/feature-gate-effective-target-features.rs:3:30 | LL | #![cfg_attr(feature, feature(effective_target_features))] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: see issue #143352 for more information = note: `#[warn(incomplete_features)]` on by default error: `#[target_feature(..)]` cannot be applied to safe trait method --> $DIR/feature-gate-effective-target-features.rs:21:5 | LL | #[target_feature(enable = "avx2")] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot be applied to safe trait method LL | LL | fn foo(&self) {} | ------------- not an `unsafe` function error[E0053]: method `foo` has an incompatible type for trait --> $DIR/feature-gate-effective-target-features.rs:23:5 | LL | fn foo(&self) {} | ^^^^^^^^^^^^^ expected safe fn, found unsafe fn | note: type in trait --> $DIR/feature-gate-effective-target-features.rs:7:5 | LL | fn foo(&self); | ^^^^^^^^^^^^^^ = note: expected signature `fn(&Bar2)` found signature `#[target_features] fn(&Bar2)` error: aborting due to 2 previous errors; 1 warning emitted For more information about this error, try `rustc --explain E0053`.