Add regression test for integral pointers in zst str slice fat pointers
This commit is contained in:
parent
df1ed0c2a6
commit
20dee47a66
3
src/test/ui/consts/int_ptr_for_zst_slices.rs
Normal file
3
src/test/ui/consts/int_ptr_for_zst_slices.rs
Normal file
@ -0,0 +1,3 @@
|
||||
const FOO: &str = unsafe { &*(1_usize as *const [u8; 0] as *const [u8] as *const [str]) };
|
||||
|
||||
fn main() {}
|
23
src/test/ui/consts/int_ptr_for_zst_slices.stderr
Normal file
23
src/test/ui/consts/int_ptr_for_zst_slices.stderr
Normal file
@ -0,0 +1,23 @@
|
||||
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`.
|
Loading…
x
Reference in New Issue
Block a user