summaryrefslogtreecommitdiffstats
path: root/src/test/ui/regions/regions-mock-codegen.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/regions/regions-mock-codegen.rs')
-rw-r--r--src/test/ui/regions/regions-mock-codegen.rs54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/test/ui/regions/regions-mock-codegen.rs b/src/test/ui/regions/regions-mock-codegen.rs
deleted file mode 100644
index 9d0ca76e4..000000000
--- a/src/test/ui/regions/regions-mock-codegen.rs
+++ /dev/null
@@ -1,54 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-#![allow(non_camel_case_types)]
-// pretty-expanded FIXME #23616
-#![feature(allocator_api)]
-
-use std::alloc::{handle_alloc_error, Allocator, Global, Layout};
-use std::ptr::NonNull;
-
-struct arena(());
-
-struct Bcx<'a> {
- fcx: &'a Fcx<'a>,
-}
-
-struct Fcx<'a> {
- arena: &'a arena,
- ccx: &'a Ccx,
-}
-
-struct Ccx {
- x: isize,
-}
-
-fn allocate(_bcx: &arena) -> &Bcx<'_> {
- unsafe {
- let layout = Layout::new::<Bcx>();
- let ptr = Global.allocate(layout).unwrap_or_else(|_| handle_alloc_error(layout));
- &*(ptr.as_ptr() as *const _)
- }
-}
-
-fn h<'a>(bcx: &'a Bcx<'a>) -> &'a Bcx<'a> {
- return allocate(bcx.fcx.arena);
-}
-
-fn g(fcx: &Fcx) {
- let bcx = Bcx { fcx };
- let bcx2 = h(&bcx);
- unsafe {
- Global.deallocate(NonNull::new_unchecked(bcx2 as *const _ as *mut _), Layout::new::<Bcx>());
- }
-}
-
-fn f(ccx: &Ccx) {
- let a = arena(());
- let fcx = Fcx { arena: &a, ccx };
- return g(&fcx);
-}
-
-pub fn main() {
- let ccx = Ccx { x: 0 };
- f(&ccx);
-}