Smarter bracketed use diagnostic
This commit is contained in:
parent
848e817f60
commit
6eeec5d75f
2 changed files with 14 additions and 0 deletions
|
@ -199,6 +199,12 @@ fn check_unnecessary_braces_in_use_statement(
|
|||
) -> Option<()> {
|
||||
let use_tree_list = ast::UseTreeList::cast(node.clone())?;
|
||||
if let Some((single_use_tree,)) = use_tree_list.use_trees().collect_tuple() {
|
||||
// If there is a comment inside the bracketed `use`,
|
||||
// assume it is a commented out module path and don't show diagnostic.
|
||||
if use_tree_list.has_inner_comment() {
|
||||
return Some(());
|
||||
}
|
||||
|
||||
let use_range = use_tree_list.syntax().text_range();
|
||||
let edit =
|
||||
text_edit_for_remove_unnecessary_braces_with_self_in_use_statement(&single_use_tree)
|
||||
|
|
|
@ -193,6 +193,14 @@ impl ast::UseTreeList {
|
|||
.and_then(ast::UseTree::cast)
|
||||
.expect("UseTreeLists are always nested in UseTrees")
|
||||
}
|
||||
|
||||
pub fn has_inner_comment(&self) -> bool {
|
||||
self.syntax()
|
||||
.children_with_tokens()
|
||||
.filter_map(|it| it.into_token())
|
||||
.find_map(ast::Comment::cast)
|
||||
.is_some()
|
||||
}
|
||||
}
|
||||
|
||||
impl ast::Impl {
|
||||
|
|
Loading…
Add table
Reference in a new issue