chore: add test case for nested use tree

This commit is contained in:
Young-Flash 2023-12-20 19:44:57 +08:00
parent bc2dee7429
commit 4cd939ad08

View File

@ -423,7 +423,7 @@ fn w() {
struct X(); struct X();
struct Y(); struct Y();
mod z { mod z {
use super::{X}; use super::X;
fn w() { fn w() {
let x = X(); let x = X();
@ -495,7 +495,7 @@ fn f() {
mod y { mod y {
struct Y(); struct Y();
mod z { mod z {
use crate::{X}; use crate::X;
fn f() { fn f() {
let x = X(); let x = X();
} }
@ -526,7 +526,7 @@ fn f() {
mod y { mod y {
struct Y(); struct Y();
mod z { mod z {
use crate::{y::Y}; use crate::y::Y;
fn f() { fn f() {
let y = Y(); let y = Y();
} }
@ -536,6 +536,79 @@ fn f() {
); );
} }
#[test]
fn remove_unused_auto_remove_brace_nested() {
check_assist(
remove_unused_imports,
r#"
mod a {
pub struct A();
}
mod b {
struct F();
mod c {
$0use {{super::{{
{d::{{{{{{{S, U}}}}}}}},
{{{{e::{H, L, {{{R}}}}}}}},
F, super::a::A
}}}};$0
fn f() {
let f = F();
let l = L();
let a = A();
let s = S();
let h = H();
}
}
mod d {
pub struct S();
pub struct U();
}
mod e {
pub struct H();
pub struct L();
pub struct R();
}
}
"#,
r#"
mod a {
pub struct A();
}
mod b {
struct F();
mod c {
use super::{
d::S,
e::{H, L},
F, super::a::A
};
fn f() {
let f = F();
let l = L();
let a = A();
let s = S();
let h = H();
}
}
mod d {
pub struct S();
pub struct U();
}
mod e {
pub struct H();
pub struct L();
pub struct R();
}
}
"#,
);
}
#[test] #[test]
fn remove_nested_all_unused() { fn remove_nested_all_unused() {
check_assist( check_assist(