From 2b108133ac35b6886c0bd2c7e7bda83e18ba3b79 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 4 Nov 2020 15:31:35 +0100 Subject: Don't stack overflow on circular modules closes #6453 --- crates/hir_def/src/nameres/tests/mod_resolution.rs | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'crates/hir_def/src/nameres/tests') 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; "#]], ); } + +#[test] +fn circular_mods() { + mark::check!(circular_mods); + compute_crate_def_map( + r#" +//- /lib.rs +mod foo; +//- /foo.rs +#[path = "./foo.rs"] +mod foo; +"#, + ); + + compute_crate_def_map( + r#" +//- /lib.rs +mod foo; +//- /foo.rs +#[path = "./bar.rs"] +mod bar; +//- /bar.rs +#[path = "./foo.rs"] +mod foo; +"#, + ); +} -- cgit v1.2.3