summaryrefslogtreecommitdiffstats
path: root/src/test/ui/rfcs/rfc-2396-target_feature-11/check-pass.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/rfcs/rfc-2396-target_feature-11/check-pass.rs')
-rw-r--r--src/test/ui/rfcs/rfc-2396-target_feature-11/check-pass.rs52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/test/ui/rfcs/rfc-2396-target_feature-11/check-pass.rs b/src/test/ui/rfcs/rfc-2396-target_feature-11/check-pass.rs
deleted file mode 100644
index e0842bfa4..000000000
--- a/src/test/ui/rfcs/rfc-2396-target_feature-11/check-pass.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-// Tests the new rules added by RFC 2396, including:
-// - applying `#[target_feature]` to safe functions is allowed
-// - calling functions with `#[target_feature]` is allowed in
-// functions which have (at least) the same features
-// - calling functions with `#[target_feature]` is allowed in
-// unsafe contexts
-// - functions with `#[target_feature]` can coerce to unsafe fn pointers
-
-// check-pass
-// only-x86_64
-// revisions: mir thir
-// [thir]compile-flags: -Z thir-unsafeck
-
-#![feature(target_feature_11)]
-
-#[target_feature(enable = "sse2")]
-const fn sse2() {}
-
-#[cfg(target_feature = "sse2")]
-const SSE2_ONLY: () = unsafe {
- sse2();
-};
-
-#[target_feature(enable = "sse2")]
-fn also_sse2() {
- sse2();
-}
-
-#[target_feature(enable = "sse2")]
-#[target_feature(enable = "avx")]
-fn sse2_and_avx() {
- sse2();
-}
-
-struct Foo;
-
-impl Foo {
- #[target_feature(enable = "sse2")]
- fn sse2(&self) {
- sse2();
- }
-}
-
-fn main() {
- if cfg!(target_feature = "sse2") {
- unsafe {
- sse2();
- Foo.sse2();
- }
- }
- let sse2_ptr: unsafe fn() = sse2;
-}