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
|
||||
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;
|
||||
}
|
||||
}
|
||||
@ -1032,7 +1032,9 @@ fn rewrite_nested_use_tree(
|
||||
|
||||
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
|
||||
{
|
||||
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