about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/incremental/issue-96319-coinductive-cycle.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/test/incremental/issue-96319-coinductive-cycle.rs b/src/test/incremental/issue-96319-coinductive-cycle.rs
new file mode 100644
index 00000000000..b5ff9112a20
--- /dev/null
+++ b/src/test/incremental/issue-96319-coinductive-cycle.rs
@@ -0,0 +1,34 @@
+// edition:2018
+// revisions: rpass1 rpass2
+
+pub struct Stmt {
+    pub stmt_type: StmtKind,
+    #[cfg(rpass1)] pub stmt_tag: Option<LintTag>,
+    #[cfg(rpass2)] pub renamed_tag: Option<LintTag>,
+}
+pub struct LintTag;
+pub enum StmtKind {
+    If(If),
+    Block(&'static str),
+    Return(Return),
+}
+pub struct If {
+    pub condition: Function,
+}
+pub struct Return {
+    pub value: Function,
+}
+pub struct Function {
+    pub parameters: Box<Stmt>,
+}
+pub fn start_late_pass(stmt_receiver: Box<Stmt>) {
+    spawn(async { stmt_receiver });
+}
+
+pub fn spawn<T>(_: T)
+where
+    T: Send,
+{
+}
+
+fn main() {}