about summary refs log tree commit diff
diff options
context:
space:
mode:
authorcameron <cameron.studdstreet@gmail.com>2021-10-18 08:41:18 +0100
committercameron <cameron.studdstreet@gmail.com>2021-10-18 08:41:18 +0100
commitf8b2f91c4879bbb37ed64623373a1b95b658bc20 (patch)
treea20be01de9e817784e5e20ead4890d0ca5c906f8
parente1e9319d93aea755c444c8f8ff863b0936d7a4b6 (diff)
downloadrust-f8b2f91c4879bbb37ed64623373a1b95b658bc20.tar.gz
rust-f8b2f91c4879bbb37ed64623373a1b95b658bc20.zip
add test for issue 84957
-rw-r--r--src/test/ui/consts/const-eval/issue-84957-const-str-as-bytes.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/consts/const-eval/issue-84957-const-str-as-bytes.rs b/src/test/ui/consts/const-eval/issue-84957-const-str-as-bytes.rs
new file mode 100644
index 00000000000..7e235c4911c
--- /dev/null
+++ b/src/test/ui/consts/const-eval/issue-84957-const-str-as-bytes.rs
@@ -0,0 +1,28 @@
+// build-pass
+
+trait Foo {}
+
+struct Bar {
+    bytes: &'static [u8],
+    func: fn(&Box<dyn Foo>),
+}
+fn example(_: &Box<dyn Foo>) {}
+
+const BARS: &[Bar] = &[
+    Bar {
+        bytes: "0".as_bytes(),
+        func: example,
+    },
+    Bar {
+        bytes: "0".as_bytes(),
+        func: example,
+    },
+];
+
+fn main() {
+    let x = todo!();
+
+    for bar in BARS {
+        (bar.func)(&x);
+    }
+}