diff --git a/ices/92537.rs b/ices/92537.rs new file mode 100644 index 00000000..fdc96145 --- /dev/null +++ b/ices/92537.rs @@ -0,0 +1,30 @@ +use std::mem; +use std::marker::PhantomData; + +struct LazyStack { } + +impl Drop for LazyStack { + fn drop(&mut self) { + let g: *mut dyn FnMut(Option>) -> Option> = + unsafe {make_fat_ptr()}; + + let clos = unsafe { &mut *g }; + clos(None); + } +} + +unsafe fn make_fat_ptr() -> *mut T { + mem::MaybeUninit::<*mut T>::uninit().assume_init() +} + +enum VNode<'src> { + Fragment(&'src [VNode<'src>]), +} + +struct NodeFactory<'a> { + _x : &'a PhantomData, +} + +fn main() { + let _x = LazyStack{}; +} \ No newline at end of file