Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_completion/src/tests/flyimport.rs')
| -rw-r--r-- | crates/ide_completion/src/tests/flyimport.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/crates/ide_completion/src/tests/flyimport.rs b/crates/ide_completion/src/tests/flyimport.rs index 4a0fcf3442..b47a710006 100644 --- a/crates/ide_completion/src/tests/flyimport.rs +++ b/crates/ide_completion/src/tests/flyimport.rs @@ -298,6 +298,47 @@ fn main() { } #[test] +fn trait_method_from_alias() { + let fixture = r#" +//- /lib.rs crate:dep +pub mod test_mod { + pub trait TestTrait { + fn random_method(); + } + pub struct TestStruct {} + impl TestTrait for TestStruct { + fn random_method() {} + } + pub type TestAlias = TestStruct; +} + +//- /main.rs crate:main deps:dep +fn main() { + dep::test_mod::TestAlias::ran$0 +} +"#; + + check( + fixture, + expect![[r#" + fn random_method() (use dep::test_mod::TestTrait) fn() + "#]], + ); + + check_edit( + "random_method", + fixture, + r#" +use dep::test_mod::TestTrait; + +fn main() { + dep::test_mod::TestAlias::random_method()$0 +} +"#, + ); +} + +#[test] fn no_trait_type_fuzzy_completion() { check( r#" |