#[target_feature]
is allowed on default implementations · Issue #108646 · rust-lang/rust (original) (raw)
The compiler currently allows safe default method implementations to be marked with #[target_feature]
:
trait Foo { #[target_feature(enable = "avx2")] // no error fn foo() {} }
which I don't think is allowed in RFC 2396. For reference, #[target_feature]
is not allowed on trait implementations:
struct Bar;
impl Foo for Bar { #[target_feature(enable = "avx2")] // error: cannot be applied to safe trait method fn foo() {} }
From my limited testing, this doesn't seem to be unsound however, as the compiler seems to consider all implementations of Foo::foo
as having #[target_feature(enable = "avx2")]
.
cc #69098
@rustbot label T-lang T-compiler C-bug F-target_feature_11