diff options
Diffstat (limited to 'src/test/ui/lint/clashing-extern-fn-recursion.rs')
-rw-r--r-- | src/test/ui/lint/clashing-extern-fn-recursion.rs | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/src/test/ui/lint/clashing-extern-fn-recursion.rs b/src/test/ui/lint/clashing-extern-fn-recursion.rs deleted file mode 100644 index ab0fd0a2e..000000000 --- a/src/test/ui/lint/clashing-extern-fn-recursion.rs +++ /dev/null @@ -1,119 +0,0 @@ -// check-pass -// -// This tests checks that clashing_extern_declarations handles types that are recursive through a -// pointer or ref argument. See #75512. - -#![crate_type = "lib"] - -mod raw_ptr_recursion { - mod a { - #[repr(C)] - struct Pointy { - pointy: *const Pointy, - } - - extern "C" { - fn run_pointy(pointy: Pointy); - } - } - mod b { - #[repr(C)] - struct Pointy { - pointy: *const Pointy, - } - - extern "C" { - fn run_pointy(pointy: Pointy); - } - } -} - -mod raw_ptr_recursion_once_removed { - mod a { - #[repr(C)] - struct Pointy1 { - pointy_two: *const Pointy2, - } - - #[repr(C)] - struct Pointy2 { - pointy_one: *const Pointy1, - } - - extern "C" { - fn run_pointy2(pointy: Pointy2); - } - } - - mod b { - #[repr(C)] - struct Pointy1 { - pointy_two: *const Pointy2, - } - - #[repr(C)] - struct Pointy2 { - pointy_one: *const Pointy1, - } - - extern "C" { - fn run_pointy2(pointy: Pointy2); - } - } -} - -mod ref_recursion { - mod a { - #[repr(C)] - struct Reffy<'a> { - reffy: &'a Reffy<'a>, - } - - extern "C" { - fn reffy_recursion(reffy: Reffy); - } - } - mod b { - #[repr(C)] - struct Reffy<'a> { - reffy: &'a Reffy<'a>, - } - - extern "C" { - fn reffy_recursion(reffy: Reffy); - } - } -} - -mod ref_recursion_once_removed { - mod a { - #[repr(C)] - struct Reffy1<'a> { - reffy: &'a Reffy2<'a>, - } - - struct Reffy2<'a> { - reffy: &'a Reffy1<'a>, - } - - extern "C" { - #[allow(improper_ctypes)] - fn reffy_once_removed(reffy: Reffy1); - } - } - mod b { - #[repr(C)] - struct Reffy1<'a> { - reffy: &'a Reffy2<'a>, - } - - struct Reffy2<'a> { - reffy: &'a Reffy1<'a>, - } - - extern "C" { - #[allow(improper_ctypes)] - fn reffy_once_removed(reffy: Reffy1); - } - } -} |