Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/nameres/tests/globs.rs')
-rw-r--r--crates/hir-def/src/nameres/tests/globs.rs39
1 files changed, 39 insertions, 0 deletions
diff --git a/crates/hir-def/src/nameres/tests/globs.rs b/crates/hir-def/src/nameres/tests/globs.rs
index a2696055ca..543ab41cd5 100644
--- a/crates/hir-def/src/nameres/tests/globs.rs
+++ b/crates/hir-def/src/nameres/tests/globs.rs
@@ -412,3 +412,42 @@ use reexport::*;
"#]],
);
}
+
+#[test]
+fn regression_18308() {
+ check(
+ r#"
+use outer::*;
+
+mod outer {
+ mod inner_superglob {
+ pub use super::*;
+ }
+
+ // The importing order matters!
+ pub use inner_superglob::*;
+ use super::glob_target::*;
+}
+
+mod glob_target {
+ pub struct ShouldBePrivate;
+}
+"#,
+ expect![[r#"
+ crate
+ glob_target: t
+ outer: t
+
+ crate::glob_target
+ ShouldBePrivate: t v
+
+ crate::outer
+ ShouldBePrivate: t v
+ inner_superglob: t
+
+ crate::outer::inner_superglob
+ ShouldBePrivate: t v
+ inner_superglob: t
+ "#]],
+ );
+}