summaryrefslogtreecommitdiffstats
path: root/src/test/ui/unsized/issue-97732.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/unsized/issue-97732.rs')
-rw-r--r--src/test/ui/unsized/issue-97732.rs28
1 files changed, 0 insertions, 28 deletions
diff --git a/src/test/ui/unsized/issue-97732.rs b/src/test/ui/unsized/issue-97732.rs
deleted file mode 100644
index 72f765033..000000000
--- a/src/test/ui/unsized/issue-97732.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// check-pass
-
-#![feature(coerce_unsized)]
-
-// Ensure that unsizing structs that contain ZSTs at non-zero offsets don't ICE
-
-use std::ops::CoerceUnsized;
-
-#[repr(C)]
-pub struct BoxWithZstTail<T: ?Sized>(Box<T>, ());
-
-impl<S: ?Sized, T: ?Sized> CoerceUnsized<BoxWithZstTail<T>> for BoxWithZstTail<S> where
- Box<S>: CoerceUnsized<Box<T>>
-{
-}
-
-pub fn noop_dyn_upcast_with_zst_tail(
- b: BoxWithZstTail<dyn ToString + Send>,
-) -> BoxWithZstTail<dyn ToString> {
- b
-}
-
-fn main() {
- let original = "foo";
- let boxed = BoxWithZstTail(Box::new(original) as Box<dyn ToString + Send>, ());
- let noop_upcasted = noop_dyn_upcast_with_zst_tail(boxed);
- assert_eq!(original, noop_upcasted.0.to_string());
-}