fix: handle aliased pattern and simplify testcase
This commit is contained in:
parent
75a659e4d2
commit
1b699b5d6c
@ -294,7 +294,7 @@ pub(crate) fn render_resolution_with_import_pat(
|
|||||||
import_edit: LocatedImport,
|
import_edit: LocatedImport,
|
||||||
) -> Option<Builder> {
|
) -> Option<Builder> {
|
||||||
let resolution = ScopeDef::from(import_edit.original_item);
|
let resolution = ScopeDef::from(import_edit.original_item);
|
||||||
let local_name = scope_def_to_name(resolution, &ctx, &import_edit)?;
|
let local_name = get_import_name(resolution, &ctx, &import_edit)?;
|
||||||
Some(render_resolution_pat(ctx, pattern_ctx, local_name, Some(import_edit), resolution))
|
Some(render_resolution_pat(ctx, pattern_ctx, local_name, Some(import_edit), resolution))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1671,43 +1671,52 @@ mod module {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn re_export_aliased_function() {
|
fn re_export_aliased() {
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
//- /lib.rs crate:bar
|
mod outer {
|
||||||
pub fn func(_: i32) -> i32 {}
|
mod inner {
|
||||||
|
pub struct BarStruct;
|
||||||
//- /lib.rs crate:foo deps:bar
|
pub fn bar_fun() {}
|
||||||
pub use bar::func as my_func;
|
pub mod bar {}
|
||||||
|
}
|
||||||
//- /main.rs crate:main deps:foo
|
pub use inner::bar as foo;
|
||||||
fn main() {
|
pub use inner::bar_fun as foo_fun;
|
||||||
m$0
|
pub use inner::BarStruct as FooStruct;
|
||||||
|
}
|
||||||
|
fn function() {
|
||||||
|
foo$0
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
fn my_func(…) (use foo::my_func) fn(i32) -> i32
|
st FooStruct (use outer::FooStruct) BarStruct
|
||||||
|
md foo (use outer::foo)
|
||||||
|
fn foo_fun() (use outer::foo_fun) fn()
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn re_export_aliased_module() {
|
fn re_export_aliased_pattern() {
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
//- /lib.rs crate:bar
|
mod outer {
|
||||||
pub mod baz {}
|
mod inner {
|
||||||
|
pub struct BarStruct;
|
||||||
//- /lib.rs crate:foo deps:bar
|
pub fn bar_fun() {}
|
||||||
pub use bar::baz as my_baz;
|
pub mod bar {}
|
||||||
|
}
|
||||||
//- /main.rs crate:main deps:foo
|
pub use inner::bar as foo;
|
||||||
fn main() {
|
pub use inner::bar_fun as foo_fun;
|
||||||
m$0
|
pub use inner::BarStruct as FooStruct;
|
||||||
|
}
|
||||||
|
fn function() {
|
||||||
|
let foo$0
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
md my_baz (use foo::my_baz)
|
st FooStruct (use outer::FooStruct)
|
||||||
|
md foo (use outer::foo)
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user