Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-def/src/import_map.rs')
-rw-r--r--crates/hir-def/src/import_map.rs22
1 files changed, 20 insertions, 2 deletions
diff --git a/crates/hir-def/src/import_map.rs b/crates/hir-def/src/import_map.rs
index 34635997bd..d43776b8a6 100644
--- a/crates/hir-def/src/import_map.rs
+++ b/crates/hir-def/src/import_map.rs
@@ -320,7 +320,7 @@ impl SearchMode {
};
match m {
Some((index, _)) => {
- name = &name[index + 1..];
+ name = name[index..].strip_prefix(|_: char| true).unwrap_or_default();
true
}
None => false,
@@ -519,7 +519,7 @@ mod tests {
crate_graph[krate]
.display_name
.as_ref()
- .is_some_and(|it| &**it.crate_name() == crate_name)
+ .is_some_and(|it| it.crate_name().as_str() == crate_name)
})
.expect("could not find crate");
@@ -1039,4 +1039,22 @@ pub mod fmt {
"#]],
);
}
+
+ #[test]
+ fn unicode_fn_name() {
+ let ra_fixture = r#"
+ //- /main.rs crate:main deps:dep
+ //- /dep.rs crate:dep
+ pub fn あい() {}
+ "#;
+
+ check_search(
+ ra_fixture,
+ "main",
+ Query::new("あ".to_owned()).fuzzy(),
+ expect![[r#"
+ dep::あい (f)
+ "#]],
+ );
+ }
}