aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/nameres/tests
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2020-11-04 14:31:35 +0000
committerAleksey Kladov <[email protected]>2020-11-04 14:31:35 +0000
commit2b108133ac35b6886c0bd2c7e7bda83e18ba3b79 (patch)
tree139e5981758b0ba10270167f30598cb8882d2ec8 /crates/hir_def/src/nameres/tests
parentbdfffa372be37cc57facc2fbead920fcf3134a91 (diff)
Don't stack overflow on circular modules
closes #6453
Diffstat (limited to 'crates/hir_def/src/nameres/tests')
-rw-r--r--crates/hir_def/src/nameres/tests/mod_resolution.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/crates/hir_def/src/nameres/tests/mod_resolution.rs b/crates/hir_def/src/nameres/tests/mod_resolution.rs
index ec9d589a3..ba295fd9e 100644
--- a/crates/hir_def/src/nameres/tests/mod_resolution.rs
+++ b/crates/hir_def/src/nameres/tests/mod_resolution.rs
@@ -771,3 +771,30 @@ struct X;
771 "#]], 771 "#]],
772 ); 772 );
773} 773}
774
775#[test]
776fn circular_mods() {
777 mark::check!(circular_mods);
778 compute_crate_def_map(
779 r#"
780//- /lib.rs
781mod foo;
782//- /foo.rs
783#[path = "./foo.rs"]
784mod foo;
785"#,
786 );
787
788 compute_crate_def_map(
789 r#"
790//- /lib.rs
791mod foo;
792//- /foo.rs
793#[path = "./bar.rs"]
794mod bar;
795//- /bar.rs
796#[path = "./foo.rs"]
797mod foo;
798"#,
799 );
800}