--- /dev/null
+error[E0308]: mismatched types
+ --> $DIR/int_ptr_for_zst_slices.rs:1:28
+ |
+LL | const FOO: &str = unsafe { &*(1_usize as *const [u8; 0] as *const [u8] as *const [str]) };
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected str, found slice
+ |
+ = note: expected type `&'static str`
+ found type `&[str]`
+
+error[E0277]: the size for values of type `str` cannot be known at compilation time
+ --> $DIR/int_ptr_for_zst_slices.rs:1:75
+ |
+LL | const FOO: &str = unsafe { &*(1_usize as *const [u8; 0] as *const [u8] as *const [str]) };
+ | ^^^^^^^^^^^^ doesn't have a size known at compile-time
+ |
+ = help: the trait `std::marker::Sized` is not implemented for `str`
+ = note: to learn more, visit <https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
+ = note: slice and array elements must have `Sized` type
+
+error: aborting due to 2 previous errors
+
+Some errors occurred: E0277, E0308.
+For more information about an error, try `rustc --explain E0277`.