summaryrefslogtreecommitdiffstats
path: root/tests/ui/inline-const
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/ui/inline-const/const-expr-array-init.rs (renamed from src/test/ui/inline-const/const-expr-array-init.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-basic.rs (renamed from src/test/ui/inline-const/const-expr-basic.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-generic-err.rs (renamed from src/test/ui/inline-const/const-expr-generic-err.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-generic-err.stderr (renamed from src/test/ui/inline-const/const-expr-generic-err.stderr)0
-rw-r--r--tests/ui/inline-const/const-expr-generic-err2.rs (renamed from src/test/ui/inline-const/const-expr-generic-err2.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-generic-err2.stderr (renamed from src/test/ui/inline-const/const-expr-generic-err2.stderr)0
-rw-r--r--tests/ui/inline-const/const-expr-generic.rs (renamed from src/test/ui/inline-const/const-expr-generic.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-inference.rs (renamed from src/test/ui/inline-const/const-expr-inference.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-lifetime-err.rs (renamed from src/test/ui/inline-const/const-expr-lifetime-err.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-lifetime-err.stderr (renamed from src/test/ui/inline-const/const-expr-lifetime-err.stderr)0
-rw-r--r--tests/ui/inline-const/const-expr-lifetime.rs (renamed from src/test/ui/inline-const/const-expr-lifetime.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-macro.rs (renamed from src/test/ui/inline-const/const-expr-macro.rs)0
-rw-r--r--tests/ui/inline-const/const-expr-reference.rs (renamed from src/test/ui/inline-const/const-expr-reference.rs)0
-rw-r--r--tests/ui/inline-const/const-match-pat-generic.rs (renamed from src/test/ui/inline-const/const-match-pat-generic.rs)0
-rw-r--r--tests/ui/inline-const/const-match-pat-generic.stderr (renamed from src/test/ui/inline-const/const-match-pat-generic.stderr)0
-rw-r--r--tests/ui/inline-const/const-match-pat-inference.rs (renamed from src/test/ui/inline-const/const-match-pat-inference.rs)0
-rw-r--r--tests/ui/inline-const/const-match-pat-lifetime-err.rs (renamed from src/test/ui/inline-const/const-match-pat-lifetime-err.rs)0
-rw-r--r--tests/ui/inline-const/const-match-pat-lifetime.rs (renamed from src/test/ui/inline-const/const-match-pat-lifetime.rs)0
-rw-r--r--tests/ui/inline-const/const-match-pat-range.rs (renamed from src/test/ui/inline-const/const-match-pat-range.rs)0
-rw-r--r--tests/ui/inline-const/const-match-pat.rs (renamed from src/test/ui/inline-const/const-match-pat.rs)0
-rw-r--r--tests/ui/inline-const/expr-unsafe-err.mir.stderr11
-rw-r--r--tests/ui/inline-const/expr-unsafe-err.rs11
-rw-r--r--tests/ui/inline-const/expr-unsafe-err.thir.stderr11
-rw-r--r--tests/ui/inline-const/expr-unsafe.mir.stderr14
-rw-r--r--tests/ui/inline-const/expr-unsafe.rs16
-rw-r--r--tests/ui/inline-const/expr-unsafe.thir.stderr17
-rw-r--r--tests/ui/inline-const/expr-with-block-err.rs (renamed from src/test/ui/inline-const/expr-with-block-err.rs)0
-rw-r--r--tests/ui/inline-const/expr-with-block-err.stderr (renamed from src/test/ui/inline-const/expr-with-block-err.stderr)0
-rw-r--r--tests/ui/inline-const/expr-with-block.rs (renamed from src/test/ui/inline-const/expr-with-block.rs)0
-rw-r--r--tests/ui/inline-const/macro-with-const.rs (renamed from src/test/ui/inline-const/macro-with-const.rs)0
-rw-r--r--tests/ui/inline-const/pat-unsafe-err.rs17
-rw-r--r--tests/ui/inline-const/pat-unsafe.rs22
32 files changed, 119 insertions, 0 deletions
diff --git a/src/test/ui/inline-const/const-expr-array-init.rs b/tests/ui/inline-const/const-expr-array-init.rs
index 8a92cdbc0..8a92cdbc0 100644
--- a/src/test/ui/inline-const/const-expr-array-init.rs
+++ b/tests/ui/inline-const/const-expr-array-init.rs
diff --git a/src/test/ui/inline-const/const-expr-basic.rs b/tests/ui/inline-const/const-expr-basic.rs
index dac46fe25..dac46fe25 100644
--- a/src/test/ui/inline-const/const-expr-basic.rs
+++ b/tests/ui/inline-const/const-expr-basic.rs
diff --git a/src/test/ui/inline-const/const-expr-generic-err.rs b/tests/ui/inline-const/const-expr-generic-err.rs
index 4e8879af5..4e8879af5 100644
--- a/src/test/ui/inline-const/const-expr-generic-err.rs
+++ b/tests/ui/inline-const/const-expr-generic-err.rs
diff --git a/src/test/ui/inline-const/const-expr-generic-err.stderr b/tests/ui/inline-const/const-expr-generic-err.stderr
index fc0b6cc44..fc0b6cc44 100644
--- a/src/test/ui/inline-const/const-expr-generic-err.stderr
+++ b/tests/ui/inline-const/const-expr-generic-err.stderr
diff --git a/src/test/ui/inline-const/const-expr-generic-err2.rs b/tests/ui/inline-const/const-expr-generic-err2.rs
index e097cbe9d..e097cbe9d 100644
--- a/src/test/ui/inline-const/const-expr-generic-err2.rs
+++ b/tests/ui/inline-const/const-expr-generic-err2.rs
diff --git a/src/test/ui/inline-const/const-expr-generic-err2.stderr b/tests/ui/inline-const/const-expr-generic-err2.stderr
index 00b716cd2..00b716cd2 100644
--- a/src/test/ui/inline-const/const-expr-generic-err2.stderr
+++ b/tests/ui/inline-const/const-expr-generic-err2.stderr
diff --git a/src/test/ui/inline-const/const-expr-generic.rs b/tests/ui/inline-const/const-expr-generic.rs
index 3207bfa0e..3207bfa0e 100644
--- a/src/test/ui/inline-const/const-expr-generic.rs
+++ b/tests/ui/inline-const/const-expr-generic.rs
diff --git a/src/test/ui/inline-const/const-expr-inference.rs b/tests/ui/inline-const/const-expr-inference.rs
index 0d5892a74..0d5892a74 100644
--- a/src/test/ui/inline-const/const-expr-inference.rs
+++ b/tests/ui/inline-const/const-expr-inference.rs
diff --git a/src/test/ui/inline-const/const-expr-lifetime-err.rs b/tests/ui/inline-const/const-expr-lifetime-err.rs
index 0a032a733..0a032a733 100644
--- a/src/test/ui/inline-const/const-expr-lifetime-err.rs
+++ b/tests/ui/inline-const/const-expr-lifetime-err.rs
diff --git a/src/test/ui/inline-const/const-expr-lifetime-err.stderr b/tests/ui/inline-const/const-expr-lifetime-err.stderr
index a23f7c9a7..a23f7c9a7 100644
--- a/src/test/ui/inline-const/const-expr-lifetime-err.stderr
+++ b/tests/ui/inline-const/const-expr-lifetime-err.stderr
diff --git a/src/test/ui/inline-const/const-expr-lifetime.rs b/tests/ui/inline-const/const-expr-lifetime.rs
index d883deb28..d883deb28 100644
--- a/src/test/ui/inline-const/const-expr-lifetime.rs
+++ b/tests/ui/inline-const/const-expr-lifetime.rs
diff --git a/src/test/ui/inline-const/const-expr-macro.rs b/tests/ui/inline-const/const-expr-macro.rs
index 041f3e15a..041f3e15a 100644
--- a/src/test/ui/inline-const/const-expr-macro.rs
+++ b/tests/ui/inline-const/const-expr-macro.rs
diff --git a/src/test/ui/inline-const/const-expr-reference.rs b/tests/ui/inline-const/const-expr-reference.rs
index a54d879f6..a54d879f6 100644
--- a/src/test/ui/inline-const/const-expr-reference.rs
+++ b/tests/ui/inline-const/const-expr-reference.rs
diff --git a/src/test/ui/inline-const/const-match-pat-generic.rs b/tests/ui/inline-const/const-match-pat-generic.rs
index 7c0d83516..7c0d83516 100644
--- a/src/test/ui/inline-const/const-match-pat-generic.rs
+++ b/tests/ui/inline-const/const-match-pat-generic.rs
diff --git a/src/test/ui/inline-const/const-match-pat-generic.stderr b/tests/ui/inline-const/const-match-pat-generic.stderr
index 77267f12f..77267f12f 100644
--- a/src/test/ui/inline-const/const-match-pat-generic.stderr
+++ b/tests/ui/inline-const/const-match-pat-generic.stderr
diff --git a/src/test/ui/inline-const/const-match-pat-inference.rs b/tests/ui/inline-const/const-match-pat-inference.rs
index d83ae6e98..d83ae6e98 100644
--- a/src/test/ui/inline-const/const-match-pat-inference.rs
+++ b/tests/ui/inline-const/const-match-pat-inference.rs
diff --git a/src/test/ui/inline-const/const-match-pat-lifetime-err.rs b/tests/ui/inline-const/const-match-pat-lifetime-err.rs
index 436b8037f..436b8037f 100644
--- a/src/test/ui/inline-const/const-match-pat-lifetime-err.rs
+++ b/tests/ui/inline-const/const-match-pat-lifetime-err.rs
diff --git a/src/test/ui/inline-const/const-match-pat-lifetime.rs b/tests/ui/inline-const/const-match-pat-lifetime.rs
index 6d943bbcc..6d943bbcc 100644
--- a/src/test/ui/inline-const/const-match-pat-lifetime.rs
+++ b/tests/ui/inline-const/const-match-pat-lifetime.rs
diff --git a/src/test/ui/inline-const/const-match-pat-range.rs b/tests/ui/inline-const/const-match-pat-range.rs
index 73d6334c3..73d6334c3 100644
--- a/src/test/ui/inline-const/const-match-pat-range.rs
+++ b/tests/ui/inline-const/const-match-pat-range.rs
diff --git a/src/test/ui/inline-const/const-match-pat.rs b/tests/ui/inline-const/const-match-pat.rs
index 2f55e16b3..2f55e16b3 100644
--- a/src/test/ui/inline-const/const-match-pat.rs
+++ b/tests/ui/inline-const/const-match-pat.rs
diff --git a/tests/ui/inline-const/expr-unsafe-err.mir.stderr b/tests/ui/inline-const/expr-unsafe-err.mir.stderr
new file mode 100644
index 000000000..1bec41e2e
--- /dev/null
+++ b/tests/ui/inline-const/expr-unsafe-err.mir.stderr
@@ -0,0 +1,11 @@
+error[E0133]: call to unsafe function is unsafe and requires unsafe function or block
+ --> $DIR/expr-unsafe-err.rs:8:9
+ |
+LL | require_unsafe();
+ | ^^^^^^^^^^^^^^^^ call to unsafe function
+ |
+ = note: consult the function's documentation for information on how to avoid undefined behavior
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0133`.
diff --git a/tests/ui/inline-const/expr-unsafe-err.rs b/tests/ui/inline-const/expr-unsafe-err.rs
new file mode 100644
index 000000000..adf05d352
--- /dev/null
+++ b/tests/ui/inline-const/expr-unsafe-err.rs
@@ -0,0 +1,11 @@
+// revisions: mir thir
+// [thir]compile-flags: -Z thir-unsafeck
+#![feature(inline_const)]
+const unsafe fn require_unsafe() -> usize { 1 }
+
+fn main() {
+ const {
+ require_unsafe();
+ //~^ ERROR [E0133]
+ }
+}
diff --git a/tests/ui/inline-const/expr-unsafe-err.thir.stderr b/tests/ui/inline-const/expr-unsafe-err.thir.stderr
new file mode 100644
index 000000000..c971e8afb
--- /dev/null
+++ b/tests/ui/inline-const/expr-unsafe-err.thir.stderr
@@ -0,0 +1,11 @@
+error[E0133]: call to unsafe function `require_unsafe` is unsafe and requires unsafe function or block
+ --> $DIR/expr-unsafe-err.rs:8:9
+ |
+LL | require_unsafe();
+ | ^^^^^^^^^^^^^^^^ call to unsafe function
+ |
+ = note: consult the function's documentation for information on how to avoid undefined behavior
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0133`.
diff --git a/tests/ui/inline-const/expr-unsafe.mir.stderr b/tests/ui/inline-const/expr-unsafe.mir.stderr
new file mode 100644
index 000000000..1ab6e42fb
--- /dev/null
+++ b/tests/ui/inline-const/expr-unsafe.mir.stderr
@@ -0,0 +1,14 @@
+warning: unnecessary `unsafe` block
+ --> $DIR/expr-unsafe.rs:12:13
+ |
+LL | unsafe {}
+ | ^^^^^^ unnecessary `unsafe` block
+ |
+note: the lint level is defined here
+ --> $DIR/expr-unsafe.rs:4:9
+ |
+LL | #![warn(unused_unsafe)]
+ | ^^^^^^^^^^^^^
+
+warning: 1 warning emitted
+
diff --git a/tests/ui/inline-const/expr-unsafe.rs b/tests/ui/inline-const/expr-unsafe.rs
new file mode 100644
index 000000000..d71efd33d
--- /dev/null
+++ b/tests/ui/inline-const/expr-unsafe.rs
@@ -0,0 +1,16 @@
+// check-pass
+// revisions: mir thir
+// [thir]compile-flags: -Z thir-unsafeck
+#![warn(unused_unsafe)]
+#![feature(inline_const)]
+const unsafe fn require_unsafe() -> usize { 1 }
+
+fn main() {
+ unsafe {
+ const {
+ require_unsafe();
+ unsafe {}
+ //~^ WARNING unnecessary `unsafe` block
+ }
+ }
+}
diff --git a/tests/ui/inline-const/expr-unsafe.thir.stderr b/tests/ui/inline-const/expr-unsafe.thir.stderr
new file mode 100644
index 000000000..4737444fb
--- /dev/null
+++ b/tests/ui/inline-const/expr-unsafe.thir.stderr
@@ -0,0 +1,17 @@
+warning: unnecessary `unsafe` block
+ --> $DIR/expr-unsafe.rs:12:13
+ |
+LL | unsafe {
+ | ------ because it's nested under this `unsafe` block
+...
+LL | unsafe {}
+ | ^^^^^^ unnecessary `unsafe` block
+ |
+note: the lint level is defined here
+ --> $DIR/expr-unsafe.rs:4:9
+ |
+LL | #![warn(unused_unsafe)]
+ | ^^^^^^^^^^^^^
+
+warning: 1 warning emitted
+
diff --git a/src/test/ui/inline-const/expr-with-block-err.rs b/tests/ui/inline-const/expr-with-block-err.rs
index f7547742d..f7547742d 100644
--- a/src/test/ui/inline-const/expr-with-block-err.rs
+++ b/tests/ui/inline-const/expr-with-block-err.rs
diff --git a/src/test/ui/inline-const/expr-with-block-err.stderr b/tests/ui/inline-const/expr-with-block-err.stderr
index 6f7408f4e..6f7408f4e 100644
--- a/src/test/ui/inline-const/expr-with-block-err.stderr
+++ b/tests/ui/inline-const/expr-with-block-err.stderr
diff --git a/src/test/ui/inline-const/expr-with-block.rs b/tests/ui/inline-const/expr-with-block.rs
index 391872476..391872476 100644
--- a/src/test/ui/inline-const/expr-with-block.rs
+++ b/tests/ui/inline-const/expr-with-block.rs
diff --git a/src/test/ui/inline-const/macro-with-const.rs b/tests/ui/inline-const/macro-with-const.rs
index e7393166d..e7393166d 100644
--- a/src/test/ui/inline-const/macro-with-const.rs
+++ b/tests/ui/inline-const/macro-with-const.rs
diff --git a/tests/ui/inline-const/pat-unsafe-err.rs b/tests/ui/inline-const/pat-unsafe-err.rs
new file mode 100644
index 000000000..e290b438c
--- /dev/null
+++ b/tests/ui/inline-const/pat-unsafe-err.rs
@@ -0,0 +1,17 @@
+// ignore-test This is currently broken
+// revisions: mir thir
+// [thir]compile-flags: -Z thir-unsafeck
+
+#![allow(incomplete_features)]
+#![feature(inline_const_pat)]
+
+const unsafe fn require_unsafe() -> usize { 1 }
+
+fn main() {
+ match () {
+ const {
+ require_unsafe();
+ //~^ ERROR [E0133]
+ } => (),
+ }
+}
diff --git a/tests/ui/inline-const/pat-unsafe.rs b/tests/ui/inline-const/pat-unsafe.rs
new file mode 100644
index 000000000..bcf7f6e01
--- /dev/null
+++ b/tests/ui/inline-const/pat-unsafe.rs
@@ -0,0 +1,22 @@
+// ignore-test This is currently broken
+// check-pass
+// revisions: mir thir
+// [thir]compile-flags: -Z thir-unsafeck
+
+#![allow(incomplete_features)]
+#![warn(unused_unsafe)]
+#![feature(inline_const_pat)]
+
+const unsafe fn require_unsafe() -> usize { 1 }
+
+fn main() {
+ unsafe {
+ match () {
+ const {
+ require_unsafe();
+ unsafe {}
+ //~^ WARNING unnecessary `unsafe` block
+ } => (),
+ }
+ }
+}