Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/inlay_hints.rs')
-rw-r--r--crates/ide/src/inlay_hints.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/crates/ide/src/inlay_hints.rs b/crates/ide/src/inlay_hints.rs
index a260944d05..a8a200a399 100644
--- a/crates/ide/src/inlay_hints.rs
+++ b/crates/ide/src/inlay_hints.rs
@@ -1004,4 +1004,32 @@ fn foo() {
"#,
);
}
+
+ #[test]
+ fn closure_dependency_cycle_no_panic() {
+ check(
+ r#"
+fn foo() {
+ let closure;
+ // ^^^^^^^ impl Fn()
+ closure = || {
+ closure();
+ };
+}
+
+fn bar() {
+ let closure1;
+ // ^^^^^^^^ impl Fn()
+ let closure2;
+ // ^^^^^^^^ impl Fn()
+ closure1 = || {
+ closure2();
+ };
+ closure2 = || {
+ closure1();
+ };
+}
+ "#,
+ );
+ }
}