summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lint/clashing-extern-fn-recursion.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/lint/clashing-extern-fn-recursion.rs')
-rw-r--r--src/test/ui/lint/clashing-extern-fn-recursion.rs119
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);
- }
- }
-}