Unnamed repository; edit this file 'description' to name the repository.
feat: complete `::` on module def
Example --- ```rust fn main() { c$0 } ``` **Before this PR** ```text md core ... ``` **After this PR** ```text md core:: ... ```
A4-Tacks 9 days ago
parent 43e333a · commit b9a5c23
-rw-r--r--crates/ide-completion/src/completions/dot.rs8
-rw-r--r--crates/ide-completion/src/completions/item_list/trait_impl.rs2
-rw-r--r--crates/ide-completion/src/render.rs43
-rw-r--r--crates/ide-completion/src/tests/attribute.rs24
-rw-r--r--crates/ide-completion/src/tests/expression.rs52
-rw-r--r--crates/ide-completion/src/tests/flyimport.rs2
-rw-r--r--crates/ide-completion/src/tests/item.rs8
-rw-r--r--crates/ide-completion/src/tests/item_list.rs28
-rw-r--r--crates/ide-completion/src/tests/predicate.rs16
-rw-r--r--crates/ide-completion/src/tests/record.rs2
-rw-r--r--crates/ide-completion/src/tests/special.rs22
-rw-r--r--crates/ide-completion/src/tests/type_pos.rs74
-rw-r--r--crates/ide-completion/src/tests/visibility.rs6
13 files changed, 147 insertions, 140 deletions
diff --git a/crates/ide-completion/src/completions/dot.rs b/crates/ide-completion/src/completions/dot.rs
index 31a8ed2c13..2cc2200df9 100644
--- a/crates/ide-completion/src/completions/dot.rs
+++ b/crates/ide-completion/src/completions/dot.rs
@@ -1093,7 +1093,7 @@ impl Foo { fn foo(&mut self) { let _: fn(&mut Self) = |this| { $0 } } }"#,
me this.foo() fn(&mut self)
lc self &mut Foo
lc this &mut Foo
- md core
+ md core::
sp Self Foo
st Foo Foo
tt Fn
@@ -1117,7 +1117,7 @@ impl Foo { fn foo(&self) { let _: fn(&Self) = |foo| { $0 } } }"#,
me self.foo() fn(&self)
lc foo &Foo
lc self &Foo
- md core
+ md core::
sp Self Foo
st Foo Foo
tt Fn
@@ -1137,7 +1137,7 @@ impl Foo { fn foo(&self) { let _: fn(&Self) = || { $0 } } }"#,
fd self.field i32
me self.foo() fn(&self)
lc self &Foo
- md core
+ md core::
sp Self Foo
st Foo Foo
tt Fn
@@ -1159,7 +1159,7 @@ impl Foo { fn foo(&self) { let _: fn(&Self, &Self) = |foo, other| { $0 } } }"#,
lc foo &Foo
lc other &Foo
lc self &Foo
- md core
+ md core::
sp Self Foo
st Foo Foo
tt Fn
diff --git a/crates/ide-completion/src/completions/item_list/trait_impl.rs b/crates/ide-completion/src/completions/item_list/trait_impl.rs
index 02e14d8c8e..c165a32082 100644
--- a/crates/ide-completion/src/completions/item_list/trait_impl.rs
+++ b/crates/ide-completion/src/completions/item_list/trait_impl.rs
@@ -1744,7 +1744,7 @@ impl Trait for () {
me fn bar(..)
me fn baz(..)
me fn foo(..)
- md proc_macros
+ md proc_macros::
kw crate::
kw self::
"#]],
diff --git a/crates/ide-completion/src/render.rs b/crates/ide-completion/src/render.rs
index f7c24fc0d5..a844489ea6 100644
--- a/crates/ide-completion/src/render.rs
+++ b/crates/ide-completion/src/render.rs
@@ -471,6 +471,11 @@ fn render_resolution_path(
.insert_snippet(cap, ""); // set is snippet
}
}
+ let allow_module_path = matches!(path_ctx.kind, PathKind::Use);
+ if !allow_module_path && matches!(resolution, ScopeDef::ModuleDef(Module(_))) {
+ insert_text = format_smolstr!("{insert_text}::");
+ item.lookup_by(name.clone()).label(insert_text.clone());
+ }
adds_ret_type_arrow(completion, path_ctx, &mut item, insert_text.into());
let mut set_item_relevance = |ty: Type<'_>| {
@@ -942,7 +947,7 @@ fn main() {
st dep::test_mod_b::Struct {…} dep::test_mod_b::Struct { } [type_could_unify]
ex dep::test_mod_b::Struct { } [type_could_unify]
st Struct Struct [type_could_unify+requires_import]
- md dep []
+ md dep:: []
fn main() fn() []
fn test(…) fn(Struct) []
st Struct Struct [requires_import]
@@ -980,7 +985,7 @@ fn main() {
"#,
expect![[r#"
un Union Union [type_could_unify+requires_import]
- md dep []
+ md dep:: []
fn main() fn() []
fn test(…) fn(Union) []
en Union Union [requires_import]
@@ -1018,7 +1023,7 @@ fn main() {
ev dep::test_mod_b::Enum::variant dep::test_mod_b::Enum::variant [type_could_unify]
ex dep::test_mod_b::Enum::variant [type_could_unify]
en Enum Enum [type_could_unify+requires_import]
- md dep []
+ md dep:: []
fn main() fn() []
fn test(…) fn(Enum) []
en Enum Enum [requires_import]
@@ -1055,7 +1060,7 @@ fn main() {
expect![[r#"
ev dep::test_mod_b::Enum::Variant dep::test_mod_b::Enum::Variant [type_could_unify]
ex dep::test_mod_b::Enum::Variant [type_could_unify]
- md dep []
+ md dep:: []
fn main() fn() []
fn test(…) fn(Enum) []
"#]],
@@ -1085,7 +1090,7 @@ fn main() {
}
"#,
expect![[r#"
- md dep []
+ md dep:: []
fn main() fn() []
fn test(…) fn(fn(usize) -> i32) []
fn function fn(usize) -> i32 [requires_import]
@@ -1118,7 +1123,7 @@ fn main() {
"#,
expect![[r#"
ct CONST i32 [type_could_unify+requires_import]
- md dep []
+ md dep:: []
fn main() fn() []
fn test(…) fn(i32) []
ct CONST i64 [requires_import]
@@ -1150,7 +1155,7 @@ fn main() {
"#,
expect![[r#"
sc STATIC i32 [type_could_unify+requires_import]
- md dep []
+ md dep:: []
fn main() fn() []
fn test(…) fn(i32) []
sc STATIC i64 [requires_import]
@@ -1528,15 +1533,16 @@ fn main() { let _: m::Spam = S$0 }
detail: "fn()",
},
CompletionItem {
- label: "m",
+ label: "m::",
detail_left: None,
detail_right: None,
source_range: 75..76,
delete: 75..76,
- insert: "m",
+ insert: "m::",
kind: SymbolKind(
Module,
),
+ lookup: "m",
},
CompletionItem {
label: "m::Spam::Bar(…)",
@@ -1632,15 +1638,16 @@ fn main() { som$0 }
expect![[r#"
[
CompletionItem {
- label: "something_deprecated",
+ label: "something_deprecated::",
detail_left: None,
detail_right: None,
source_range: 55..58,
delete: 55..58,
- insert: "something_deprecated",
+ insert: "something_deprecated::",
kind: SymbolKind(
Module,
),
+ lookup: "something_deprecated",
deprecated: true,
relevance: CompletionRelevance {
exact_name_match: false,
@@ -2811,8 +2818,8 @@ mod b {
expect![[r#"
st Fooa Fooa []
tt Foob []
- md a []
- md b []
+ md a:: []
+ md b:: []
"#]],
);
}
@@ -2970,7 +2977,7 @@ fn main() {
tt Clone []
tt Copy []
fn bar(…) fn(Foo) []
- md core []
+ md core:: []
fn main() fn() []
"#]],
);
@@ -3012,7 +3019,7 @@ fn main() {
st &S [type]
st T T []
st &T [type]
- md core []
+ md core:: []
fn foo(…) fn(&S) []
fn main() fn() []
"#]],
@@ -3061,7 +3068,7 @@ fn main() {
st &mut S [type]
st T T []
st &mut T [type]
- md core []
+ md core:: []
fn foo(…) fn(&mut S) []
fn main() fn() []
"#]],
@@ -3164,7 +3171,7 @@ fn main() {
st &T [type]
fn bar() fn() -> T []
fn &bar() [type]
- md core []
+ md core:: []
fn foo(…) fn(&S) []
fn main() fn() []
"#]],
@@ -3842,7 +3849,7 @@ fn f() {
expect![[r#"
st Buffer Buffer []
fn f() fn() []
- md std []
+ md std:: []
tt BufRead [requires_import]
st BufReader BufReader [requires_import]
st BufWriter BufWriter [requires_import]
diff --git a/crates/ide-completion/src/tests/attribute.rs b/crates/ide-completion/src/tests/attribute.rs
index 131911be91..6dcd4f9cdd 100644
--- a/crates/ide-completion/src/tests/attribute.rs
+++ b/crates/ide-completion/src/tests/attribute.rs
@@ -64,7 +64,7 @@ pub struct Foo(#[m$0] i32);
at unsafe(…)
at used
at warn(…)
- md mac
+ md mac::
kw crate::
kw self::
"#]],
@@ -128,7 +128,7 @@ pub struct Foo(#[$0] i32);
at unsafe(…)
at used
at warn(…)
- md mac
+ md mac::
kw crate::
kw self::
"#]],
@@ -162,7 +162,7 @@ struct Foo;
at repr(…)
at unsafe(…)
at warn(…)
- md proc_macros
+ md proc_macros::
kw crate::
kw self::
"#]],
@@ -463,7 +463,7 @@ struct Foo;
at repr(…)
at unsafe(…)
at warn(…)
- md core
+ md core::
kw crate::
kw self::
"#]],
@@ -1137,7 +1137,7 @@ mod derive {
de PartialEq, Eq
de PartialEq, Eq, PartialOrd, Ord
de PartialEq, PartialOrd
- md core
+ md core::
kw crate::
kw self::
"#]],
@@ -1159,7 +1159,7 @@ mod derive {
de Eq
de Eq, PartialOrd, Ord
de PartialOrd
- md core
+ md core::
kw crate::
kw self::
"#]],
@@ -1181,7 +1181,7 @@ mod derive {
de Eq
de Eq, PartialOrd, Ord
de PartialOrd
- md core
+ md core::
kw crate::
kw self::
"#]],
@@ -1202,7 +1202,7 @@ mod derive {
de Default macro Default
de PartialOrd
de PartialOrd, Ord
- md core
+ md core::
kw crate::
kw self::
"#]],
@@ -1219,8 +1219,8 @@ mod derive {
"#,
expect![[r#"
de DeriveIdentity (use proc_macros::DeriveIdentity) proc_macro DeriveIdentity
- md core
- md proc_macros
+ md core::
+ md proc_macros::
kw crate::
kw self::
"#]],
@@ -1234,8 +1234,8 @@ use proc_macros::DeriveIdentity;
"#,
expect![[r#"
de DeriveIdentity proc_macro DeriveIdentity
- md core
- md proc_macros
+ md core::
+ md proc_macros::
kw crate::
kw self::
"#]],
diff --git a/crates/ide-completion/src/tests/expression.rs b/crates/ide-completion/src/tests/expression.rs
index 91852bb0f5..7e9ee7ba8d 100644
--- a/crates/ide-completion/src/tests/expression.rs
+++ b/crates/ide-completion/src/tests/expression.rs
@@ -48,8 +48,8 @@ fn baz() {
fn create_foo(…) fn(&FooDesc)
fn function() fn()
ma makro!(…) macro_rules! makro
- md _69latrick
- md module
+ md _69latrick::
+ md module::
sc STATIC Unit
st FooDesc FooDesc
st Record Record
@@ -149,8 +149,8 @@ impl Unit {
me self.foo() fn(self)
lc self Unit
ma makro!(…) macro_rules! makro
- md module
- md qualified
+ md module::
+ md qualified::
sp Self Unit
sc STATIC Unit
st Record Record
@@ -212,8 +212,8 @@ impl Unit {
en Enum Enum
fn function() fn()
ma makro!(…) macro_rules! makro
- md module
- md qualified
+ md module::
+ md qualified::
sc STATIC Unit
st Record Record
st Tuple Tuple
@@ -2224,7 +2224,7 @@ pub struct UnstableThisShouldNotBeListed;
"#,
expect![[r#"
fn main() fn()
- md std
+ md std::
bt u32 u32
kw async
kw const
@@ -2278,7 +2278,7 @@ pub struct UnstableButWeAreOnNightlyAnyway;
"#,
expect![[r#"
fn main() fn()
- md std
+ md std::
st UnstableButWeAreOnNightlyAnyway UnstableButWeAreOnNightlyAnyway
bt u32 u32
kw async
@@ -2333,7 +2333,7 @@ pub mod intrinsics {}
"#,
expect![[r#"
fn main() fn()
- md std
+ md std::
bt u32 u32
kw async
kw const
@@ -2383,10 +2383,10 @@ fn main() {
pub mod intrinsics {}
"#,
expect![[r#"
- fn main() fn()
- md intrinsics
- md std
- bt u32 u32
+ fn main() fn()
+ md intrinsics::
+ md std::
+ bt u32 u32
kw async
kw const
kw crate::
@@ -2622,7 +2622,7 @@ fn main() {
ma helper!(…) macro_rules! helper
ma m!(…) macro_rules! m
ma makro!(…) macro_rules! makro
- md module
+ md module::
sc STATIC Unit
st Record Record
st Tuple Tuple
@@ -3085,12 +3085,12 @@ fn bar() {
ma format_args_nl!(…) macro_rules! format_args_nl
ma panic!(…) macro_rules! panic
ma print!(…) macro_rules! print
- md core
- md result (use core::result)
- md rust_2015 (use core::prelude::rust_2015)
- md rust_2018 (use core::prelude::rust_2018)
- md rust_2021 (use core::prelude::rust_2021)
- md rust_2024 (use core::prelude::rust_2024)
+ md core::
+ md result:: (use core::result)
+ md rust_2015:: (use core::prelude::rust_2015)
+ md rust_2018:: (use core::prelude::rust_2018)
+ md rust_2021:: (use core::prelude::rust_2021)
+ md rust_2024:: (use core::prelude::rust_2024)
tt Clone
tt Copy
tt FromIterator
@@ -3205,9 +3205,9 @@ fn foo() {
}
"#,
expect![[r#"
- fn foo() fn()
- md proc_macros
- bt u32 u32
+ fn foo() fn()
+ md proc_macros::
+ bt u32 u32
kw async
kw const
kw crate::
@@ -3255,9 +3255,9 @@ fn foo() {
}
"#,
expect![[r#"
- fn foo() fn()
- md proc_macros
- bt u32 u32
+ fn foo() fn()
+ md proc_macros::
+ bt u32 u32
kw async
kw const
kw crate::
diff --git a/crates/ide-completion/src/tests/flyimport.rs b/crates/ide-completion/src/tests/flyimport.rs
index 896b132e15..287c62a0b5 100644
--- a/crates/ide-completion/src/tests/flyimport.rs
+++ b/crates/ide-completion/src/tests/flyimport.rs
@@ -1772,7 +1772,7 @@ fn function() {
"#,
expect![[r#"
st FooStruct (use outer::FooStruct) BarStruct
- md foo (use outer::foo)
+ md foo:: (use outer::foo)
fn foo_fun() (use outer::foo_fun) fn()
"#]],
);
diff --git a/crates/ide-completion/src/tests/item.rs b/crates/ide-completion/src/tests/item.rs
index 2d116c403b..bb79af7e98 100644
--- a/crates/ide-completion/src/tests/item.rs
+++ b/crates/ide-completion/src/tests/item.rs
@@ -15,7 +15,7 @@ impl Tra$0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -41,7 +41,7 @@ impl Trait for Str$0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -118,7 +118,7 @@ fn completes_where() {
expect![[r#"
en Enum (adds ->) Enum
ma makro!(…) macro_rules! makro
- md module (adds ->)
+ md module:: (adds ->)
st Record (adds ->) Record
st Tuple (adds ->) Tuple
st Unit (adds ->) Unit
@@ -363,7 +363,7 @@ fn bar() {
ma expand_to_test!(…) macro_rules! expand_to_test
ma makro!(…) macro_rules! makro
ma test!(…) macro test
- md module
+ md module::
sc STATIC Unit
st Record Record
st Tuple Tuple
diff --git a/crates/ide-completion/src/tests/item_list.rs b/crates/ide-completion/src/tests/item_list.rs
index 0b2be0265f..430c61887a 100644
--- a/crates/ide-completion/src/tests/item_list.rs
+++ b/crates/ide-completion/src/tests/item_list.rs
@@ -43,7 +43,7 @@ fn in_source_file_item_list() {
r#"$0"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -77,7 +77,7 @@ fn in_item_list_after_attr() {
r#"#[attr] $0"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -111,7 +111,7 @@ fn in_item_list_after_inner_attr() {
r#"#![attr] $0"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -145,7 +145,7 @@ fn in_qualified_path() {
r#"crate::$0"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
"#]],
)
}
@@ -315,7 +315,7 @@ fn in_impl_assoc_item_list() {
r#"impl Struct { $0 }"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -335,7 +335,7 @@ fn in_impl_assoc_item_list_after_attr() {
r#"impl Struct { #[attr] $0 }"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -355,7 +355,7 @@ fn in_trait_assoc_item_list() {
r"trait Foo { $0 }",
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -373,7 +373,7 @@ fn in_trait_assoc_fn_missing_body() {
r#"trait Foo { fn function(); $0 }"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -391,7 +391,7 @@ fn in_trait_assoc_const_missing_body() {
r#"trait Foo { const CONST: (); $0 }"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -409,7 +409,7 @@ fn in_trait_assoc_type_aliases_missing_ty() {
r#"trait Foo { type Type; $0 }"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -448,7 +448,7 @@ impl Test for () {
fn fn function1()
fn fn function2()
ma makro!(…) macro_rules! makro
- md module
+ md module::
ta type Type1 =
kw crate::
kw self::
@@ -514,7 +514,7 @@ fn after_unit_struct() {
r#"struct S; f$0"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw async
kw const
kw crate::
@@ -664,7 +664,7 @@ fn inside_extern_blocks() {
r#"extern { $0 }"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw crate::
kw fn
kw pub
@@ -681,7 +681,7 @@ fn inside_extern_blocks() {
r#"unsafe extern { $0 }"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
kw crate::
kw fn
kw pub
diff --git a/crates/ide-completion/src/tests/predicate.rs b/crates/ide-completion/src/tests/predicate.rs
index 682b8904e5..9826a8ed7b 100644
--- a/crates/ide-completion/src/tests/predicate.rs
+++ b/crates/ide-completion/src/tests/predicate.rs
@@ -13,7 +13,7 @@ struct Foo<'lt, T, const C: usize> where $0 {}
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Foo<…> Foo<'_, {unknown}, _>
st Record Record
st Tuple Tuple
@@ -39,7 +39,7 @@ struct Foo<'lt, T, const C: usize> where T: $0 {}
"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
tt Trait
kw crate::
kw self::
@@ -57,7 +57,7 @@ struct Foo<'lt, T, const C: usize> where 'lt: $0 {}
"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
tt Trait
kw crate::
kw self::
@@ -73,7 +73,7 @@ struct Foo<'lt, T, const C: usize> where for<'a> T: $0 {}
"#,
expect![[r#"
ma makro!(…) macro_rules! makro
- md module
+ md module::
tt Trait
kw crate::
kw self::
@@ -90,7 +90,7 @@ struct Foo<'lt, T, const C: usize> where for<'a> $0 {}
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Foo<…> Foo<'_, {unknown}, _>
st Record Record
st Tuple Tuple
@@ -119,7 +119,7 @@ impl Record {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
sp Self Record
st Record Record
st Tuple Tuple
@@ -149,7 +149,7 @@ struct Foo<T> where T: $0 {}
pub trait Trait {}
"#,
expect![[r#"
- md std
+ md std::
kw crate::
kw self::
"#]],
@@ -169,7 +169,7 @@ struct Foo<T> where T: $0 {}
pub trait Trait {}
"#,
expect![[r#"
- md std
+ md std::
tt Trait
kw crate::
kw self::
diff --git a/crates/ide-completion/src/tests/record.rs b/crates/ide-completion/src/tests/record.rs
index c1274f6640..ddb9294469 100644
--- a/crates/ide-completion/src/tests/record.rs
+++ b/crates/ide-completion/src/tests/record.rs
@@ -176,7 +176,7 @@ fn main() {
fn main() fn()
lc foo Foo
lc thing i32
- md core
+ md core::
st Foo Foo
st Foo {…} Foo { foo1: u32, foo2: u32 }
tt Default
diff --git a/crates/ide-completion/src/tests/special.rs b/crates/ide-completion/src/tests/special.rs
index 55059a4035..0454f4e350 100644
--- a/crates/ide-completion/src/tests/special.rs
+++ b/crates/ide-completion/src/tests/special.rs
@@ -65,7 +65,7 @@ pub mod prelude {
}
"#,
expect![[r#"
- md std
+ md std::
st Option Option
bt u32 u32
"#]],
@@ -95,7 +95,7 @@ mod macros {
expect![[r#"
fn f() fn()
ma concat!(…) macro_rules! concat
- md std
+ md std::
bt u32 u32
"#]],
);
@@ -123,8 +123,8 @@ pub mod prelude {
}
"#,
expect![[r#"
- md core
- md std
+ md core::
+ md std::
st String String
bt u32 u32
"#]],
@@ -153,7 +153,7 @@ pub mod prelude {
"#,
expect![[r#"
fn f() fn()
- md std
+ md std::
bt u32 u32
"#]],
);
@@ -181,8 +181,8 @@ pub mod prelude {
}
"#,
expect![[r#"
- md std
- "#]],
+ md std::
+ "#]],
);
}
@@ -714,7 +714,7 @@ mod m {
"#,
expect![[r#"
fn z() fn()
- md z
+ md z::
"#]],
);
}
@@ -1126,7 +1126,7 @@ fn foo { ::$0 }
"#,
Some(':'),
expect![[r#"
- md core
+ md core::
"#]],
);
check_with_trigger_character(
@@ -1136,7 +1136,7 @@ fn foo { /* test */::$0 }
"#,
Some(':'),
expect![[r#"
- md core
+ md core::
"#]],
);
@@ -1488,7 +1488,7 @@ fn here_we_go() {
"#,
expect![[r#"
fn here_we_go() fn()
- md foo
+ md foo::
st Bar (alias Qux) (use foo::Bar) Bar
bt u32 u32
kw const
diff --git a/crates/ide-completion/src/tests/type_pos.rs b/crates/ide-completion/src/tests/type_pos.rs
index 1a4c255fc0..24080334ae 100644
--- a/crates/ide-completion/src/tests/type_pos.rs
+++ b/crates/ide-completion/src/tests/type_pos.rs
@@ -14,7 +14,7 @@ struct Foo<'lt, T, const C: usize> {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
sp Self Foo<'_, {unknown}, _>
st Foo<…> Foo<'_, {unknown}, _>
st Record Record
@@ -43,7 +43,7 @@ struct Foo<'lt, T, const C: usize>(f$0);
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
sp Self Foo<'_, {unknown}, _>
st Foo<…> Foo<'_, {unknown}, _>
st Record Record
@@ -75,7 +75,7 @@ fn x<'lt, T, const C: usize>() -> $0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -102,7 +102,7 @@ fn x() u$0
expect![[r#"
en Enum (adds ->) Enum
ma makro!(…) macro_rules! makro
- md module (adds ->)
+ md module:: (adds ->)
st Record (adds ->) Record
st Tuple (adds ->) Tuple
st Unit (adds ->) Unit
@@ -126,7 +126,7 @@ fn x() $0
expect![[r#"
en Enum (adds ->) Enum
ma makro!(…) macro_rules! makro
- md module (adds ->)
+ md module:: (adds ->)
st Record (adds ->) Record
st Tuple (adds ->) Tuple
st Unit (adds ->) Unit
@@ -216,7 +216,7 @@ fn foo() $0
"#,
r#"
mod foo { pub type Num = u32; }
-fn foo() -> foo
+fn foo() -> foo::
"#,
);
@@ -253,7 +253,7 @@ fn foo()$0
"#,
r#"
mod foo { pub type Num = u32; }
-fn foo() ->foo
+fn foo() ->foo::
"#,
);
}
@@ -306,7 +306,7 @@ fn x() u$0 {&2u32}
expect![[r#"
en Enum (adds ->) Enum
ma makro!(…) macro_rules! makro
- md module (adds ->)
+ md module:: (adds ->)
st Record (adds ->) Record
st Tuple (adds ->) Tuple
st Unit (adds ->) Unit
@@ -346,7 +346,7 @@ fn x<'lt, T, const C: usize>(_: &()) -> &$0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -380,7 +380,7 @@ fn foo() -> B$0 {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -408,7 +408,7 @@ const FOO: $0 = Foo(2);
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Foo<…> Foo<{unknown}>
st Record Record
st Tuple Tuple
@@ -437,7 +437,7 @@ static FOO: $0 = Foo(2);
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Foo<…> Foo<{unknown}>
st Record Record
st Tuple Tuple
@@ -468,7 +468,7 @@ fn f2() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -500,7 +500,7 @@ fn f2() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -529,7 +529,7 @@ fn f2(x: u64) -> $0 {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -559,7 +559,7 @@ fn f2(x: $0) {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -595,8 +595,8 @@ fn foo<'lt, T, const C: usize>() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md a
- md module
+ md a::
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -628,7 +628,7 @@ fn foo<'lt, T, const C: usize>() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Foo<…> Foo<{unknown}>
st Record Record
st Tuple Tuple
@@ -660,7 +660,7 @@ fn foo<'lt, T, const C: usize>() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -686,7 +686,7 @@ fn foo<'lt, T, const C: usize>() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -729,7 +729,7 @@ fn foo<'lt, T: Trait2<$0>, const CONST_PARAM: usize>(_: T) {}
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -758,7 +758,7 @@ fn foo<'lt, T: Trait2<self::$0>, const CONST_PARAM: usize>(_: T) {}
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -783,7 +783,7 @@ impl Tr<$0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
sp Self dyn Tr<{unknown}> + 'static
st Record Record
st S S
@@ -834,7 +834,7 @@ fn f(t: impl MyTrait<u$0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -863,7 +863,7 @@ fn f(t: impl MyTrait<u8, u$0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -910,7 +910,7 @@ fn f(t: impl MyTrait<u$0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -939,7 +939,7 @@ fn f(t: impl MyTrait<u8, u$0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -988,7 +988,7 @@ fn f(t: impl MyTrait<Item1 = $0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -1017,7 +1017,7 @@ fn f(t: impl MyTrait<Item1 = u8, Item2 = $0
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Record Record
st Tuple Tuple
st Unit Unit
@@ -1069,7 +1069,7 @@ struct Foo {
pub struct S;
"#,
expect![[r#"
- md std
+ md std::
sp Self Foo
st Foo Foo
bt u32 u32
@@ -1098,7 +1098,7 @@ struct Foo {
pub struct S;
"#,
expect![[r#"
- md std
+ md std::
sp Self Foo
st Foo Foo
st S S
@@ -1128,7 +1128,7 @@ fn completes_const_and_type_generics_separately() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Foo Foo
st Record Record
st Tuple Tuple
@@ -1182,7 +1182,7 @@ fn completes_const_and_type_generics_separately() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Foo Foo
st Record Record
st Tuple Tuple
@@ -1233,7 +1233,7 @@ fn completes_const_and_type_generics_separately() {
expect![[r#"
en Enum Enum
ma makro!(…) macro_rules! makro
- md module
+ md module::
st Foo Foo
st Record Record
st Tuple Tuple
@@ -1444,7 +1444,7 @@ struct Bar;
impl $0 for Bar { }
"#,
expect![[r#"
- md module
+ md module::
tt Foo
tt Trait
kw crate::
@@ -1467,7 +1467,7 @@ mod outer {
impl outer::$0 for Bar { }
"#,
expect![[r#"
- md inner
+ md inner::
tt Foo
"#]],
);
diff --git a/crates/ide-completion/src/tests/visibility.rs b/crates/ide-completion/src/tests/visibility.rs
index b404011dfe..113c41226f 100644
--- a/crates/ide-completion/src/tests/visibility.rs
+++ b/crates/ide-completion/src/tests/visibility.rs
@@ -44,7 +44,7 @@ mod foo {
mod bar {}
"#,
expect![[r#"
- md foo
+ md foo::
"#]],
);
check(
@@ -59,7 +59,7 @@ mod qux {
mod bar {}
"#,
expect![[r#"
- md qux
+ md qux::
"#]],
);
check(
@@ -74,7 +74,7 @@ mod qux {
mod bar {}
"#,
expect![[r#"
- md foo
+ md foo::
"#]],
);
}