Fix issues with formatting imports with comments
This commit is contained in:
parent
f89cd3c1f3
commit
1340fc412a
@ -589,7 +589,7 @@ pub(crate) fn normalize(mut self) -> UseTree {
|
|||||||
|
|
||||||
// Normalise foo::{bar} -> foo::bar
|
// Normalise foo::{bar} -> foo::bar
|
||||||
if let UseSegmentKind::List(ref list) = last.kind {
|
if let UseSegmentKind::List(ref list) = last.kind {
|
||||||
if list.len() == 1 && list[0].to_string() != "self" {
|
if list.len() == 1 && list[0].to_string() != "self" && !list[0].has_comment() {
|
||||||
normalize_sole_list = true;
|
normalize_sole_list = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1032,7 +1032,9 @@ fn rewrite_nested_use_tree(
|
|||||||
|
|
||||||
let list_str = write_list(&list_items, &fmt)?;
|
let list_str = write_list(&list_items, &fmt)?;
|
||||||
|
|
||||||
let result = if (list_str.contains('\n') || list_str.len() > remaining_width)
|
let result = if (list_str.contains('\n')
|
||||||
|
|| list_str.len() > remaining_width
|
||||||
|
|| tactic == DefinitiveListTactic::Vertical)
|
||||||
&& context.config.imports_indent() == IndentStyle::Block
|
&& context.config.imports_indent() == IndentStyle::Block
|
||||||
{
|
{
|
||||||
format!(
|
format!(
|
||||||
|
104
tests/source/issue-5852.rs
Normal file
104
tests/source/issue-5852.rs
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
use std::{
|
||||||
|
fs,
|
||||||
|
// (temporarily commented, we'll need this again in a second) io,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self // this is important
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo :: bar
|
||||||
|
;
|
||||||
|
|
||||||
|
use foo::{bar};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
bar
|
||||||
|
// abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
bar,
|
||||||
|
// abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
// 345
|
||||||
|
bar
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self
|
||||||
|
// abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self,
|
||||||
|
// abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
// 345
|
||||||
|
self
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self // a
|
||||||
|
,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{ self /* a */ };
|
||||||
|
|
||||||
|
use foo::{ self /* a */, };
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
// abc
|
||||||
|
abc::{
|
||||||
|
xyz
|
||||||
|
// 123
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
// abc
|
||||||
|
bar,
|
||||||
|
abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
bar,
|
||||||
|
// abc
|
||||||
|
abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
bar,
|
||||||
|
abc
|
||||||
|
// abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
bar,
|
||||||
|
abc,
|
||||||
|
// abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self,
|
||||||
|
// abc
|
||||||
|
abc::{
|
||||||
|
xyz
|
||||||
|
// 123
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self,
|
||||||
|
// abc
|
||||||
|
abc::{
|
||||||
|
// 123
|
||||||
|
xyz
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
use path::{self /*comment*/,};
|
97
tests/target/issue-5852.rs
Normal file
97
tests/target/issue-5852.rs
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
use std::{
|
||||||
|
fs,
|
||||||
|
// (temporarily commented, we'll need this again in a second) io,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self, // this is important
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::bar;
|
||||||
|
|
||||||
|
use foo::bar;
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
bar, // abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
bar,
|
||||||
|
// abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
// 345
|
||||||
|
bar,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self, // abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self,
|
||||||
|
// abc
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
// 345
|
||||||
|
self,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self, // a
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{self /* a */};
|
||||||
|
|
||||||
|
use foo::{self /* a */};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
// abc
|
||||||
|
abc::{
|
||||||
|
xyz, // 123
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
abc,
|
||||||
|
// abc
|
||||||
|
bar,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
// abc
|
||||||
|
abc,
|
||||||
|
bar,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
abc, // abc
|
||||||
|
bar,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
abc,
|
||||||
|
// abc
|
||||||
|
bar,
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self,
|
||||||
|
// abc
|
||||||
|
abc::{
|
||||||
|
xyz, // 123
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
use foo::{
|
||||||
|
self,
|
||||||
|
// abc
|
||||||
|
abc::{
|
||||||
|
// 123
|
||||||
|
xyz,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
use path::{self /*comment*/};
|
Loading…
Reference in New Issue
Block a user