diff options
Diffstat (limited to 'src/test/ui/box/thin_zst.rs')
-rw-r--r-- | src/test/ui/box/thin_zst.rs | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/test/ui/box/thin_zst.rs b/src/test/ui/box/thin_zst.rs deleted file mode 100644 index 77c400d17..000000000 --- a/src/test/ui/box/thin_zst.rs +++ /dev/null @@ -1,34 +0,0 @@ -#![feature(thin_box)] -// run-pass -use std::boxed::ThinBox; -use std::error::Error; -use std::{fmt, mem}; -use std::ops::DerefMut; - -const EXPECTED: &str = "boooo!"; - -fn main() { - let thin_error: ThinBox<dyn Error> = ThinBox::new_unsize(Foo); - assert_eq!(mem::size_of::<*const i32>(), mem::size_of_val(&thin_error)); - let msg = thin_error.to_string(); - assert_eq!(EXPECTED, msg); - - let mut thin_concrete_error: ThinBox<Foo> = ThinBox::new(Foo); - assert_eq!(mem::size_of::<*const i32>(), mem::size_of_val(&thin_concrete_error)); - let msg = thin_concrete_error.to_string(); - assert_eq!(EXPECTED, msg); - let inner = thin_concrete_error.deref_mut(); - let msg = inner.to_string(); - assert_eq!(EXPECTED, msg); -} - -#[derive(Debug)] -struct Foo; - -impl fmt::Display for Foo { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "{}", EXPECTED) - } -} - -impl Error for Foo {} |