do not add to pub use statements

This commit is contained in:
Jacob Rothstein 2020-08-03 12:17:05 -07:00
parent 33e53d4721
commit 03a61134f2
No known key found for this signature in database
GPG key ID: C38BA18C6CFE15A5
2 changed files with 44 additions and 1 deletions

View file

@ -639,6 +639,48 @@ use std::fmt::{self, Display};
fn main() {
fmt;
}
",
);
}
#[test]
fn does_not_replace_pub_use() {
check_assist(
replace_qualified_name_with_use,
r"
pub use std::fmt;
impl std::io<|> for Foo {
}
",
r"
use std::io;
pub use std::fmt;
impl io for Foo {
}
",
);
}
#[test]
fn does_not_replace_pub_crate_use() {
check_assist(
replace_qualified_name_with_use,
r"
pub(crate) use std::fmt;
impl std::io<|> for Foo {
}
",
r"
use std::io;
pub(crate) use std::fmt;
impl io for Foo {
}
",
);

View file

@ -4,7 +4,7 @@
use hir::{self, ModPath};
use ra_syntax::{
ast::{self, NameOwner},
ast::{self, NameOwner, VisibilityOwner},
AstNode, Direction, SmolStr,
SyntaxKind::{PATH, PATH_SEGMENT},
SyntaxNode, T,
@ -378,6 +378,7 @@ fn best_action_for_target(
let best_action = container
.children()
.filter_map(ast::Use::cast)
.filter(|u| u.visibility().is_none())
.filter_map(|it| it.use_tree())
.map(|u| walk_use_tree_for_best_action(&mut storage, None, u, target))
.fold(None, |best, a| match best {