} else {
Some(item.attrs.clone())
},
- ).normalize(context.config.reorder_imported_names()),
+ ).normalize(),
),
_ => None,
}
}
// Do the adjustments that rustfmt does elsewhere to use paths.
- pub fn normalize(mut self, do_sort: bool) -> UseTree {
+ pub fn normalize(mut self) -> UseTree {
let mut last = self.path.pop().expect("Empty use tree?");
// Hack around borrow checker.
let mut normalize_sole_list = false;
for seg in &list[0].path {
self.path.push(seg.clone());
}
- return self.normalize(do_sort);
+ return self.normalize();
}
_ => unreachable!(),
}
// Recursively normalize elements of a list use (including sorting the list).
if let UseSegment::List(list) = last {
let mut list = list.into_iter()
- .map(|ut| ut.normalize(do_sort))
+ .map(|ut| ut.normalize())
.collect::<Vec<_>>();
- if do_sort {
- list.sort();
- }
+ list.sort();
last = UseSegment::List(list);
}
#[test]
fn test_use_tree_normalize() {
+ assert_eq!(parse_use_tree("a::self").normalize(), parse_use_tree("a"));
assert_eq!(
- parse_use_tree("a::self").normalize(true),
- parse_use_tree("a")
- );
- assert_eq!(
- parse_use_tree("a::self as foo").normalize(true),
+ parse_use_tree("a::self as foo").normalize(),
parse_use_tree("a as foo")
);
+ assert_eq!(parse_use_tree("a::{self}").normalize(), parse_use_tree("a"));
+ assert_eq!(parse_use_tree("a::{b}").normalize(), parse_use_tree("a::b"));
assert_eq!(
- parse_use_tree("a::{self}").normalize(true),
- parse_use_tree("a")
- );
- assert_eq!(
- parse_use_tree("a::{b}").normalize(true),
- parse_use_tree("a::b")
- );
- assert_eq!(
- parse_use_tree("a::{b, c::self}").normalize(true),
+ parse_use_tree("a::{b, c::self}").normalize(),
parse_use_tree("a::{b, c}")
);
assert_eq!(
- parse_use_tree("a::{b as bar, c::self}").normalize(true),
+ parse_use_tree("a::{b as bar, c::self}").normalize(),
parse_use_tree("a::{b as bar, c}")
);
}
#[test]
fn test_use_tree_ord() {
- assert!(parse_use_tree("a").normalize(true) < parse_use_tree("aa").normalize(true));
- assert!(parse_use_tree("a").normalize(true) < parse_use_tree("a::a").normalize(true));
- assert!(parse_use_tree("a").normalize(true) < parse_use_tree("*").normalize(true));
- assert!(parse_use_tree("a").normalize(true) < parse_use_tree("{a, b}").normalize(true));
- assert!(parse_use_tree("*").normalize(true) < parse_use_tree("{a, b}").normalize(true));
+ assert!(parse_use_tree("a").normalize() < parse_use_tree("aa").normalize());
+ assert!(parse_use_tree("a").normalize() < parse_use_tree("a::a").normalize());
+ assert!(parse_use_tree("a").normalize() < parse_use_tree("*").normalize());
+ assert!(parse_use_tree("a").normalize() < parse_use_tree("{a, b}").normalize());
+ assert!(parse_use_tree("*").normalize() < parse_use_tree("{a, b}").normalize());
assert!(
- parse_use_tree("aaaaaaaaaaaaaaa::{bb, cc, dddddddd}").normalize(true)
- < parse_use_tree("aaaaaaaaaaaaaaa::{bb, cc, ddddddddd}").normalize(true)
- );
- assert!(
- parse_use_tree("serde::de::{Deserialize}").normalize(true)
- < parse_use_tree("serde_json").normalize(true)
+ parse_use_tree("aaaaaaaaaaaaaaa::{bb, cc, dddddddd}").normalize()
+ < parse_use_tree("aaaaaaaaaaaaaaa::{bb, cc, ddddddddd}").normalize()
);
assert!(
- parse_use_tree("a::b::c").normalize(true) < parse_use_tree("a::b::*").normalize(true)
+ parse_use_tree("serde::de::{Deserialize}").normalize()
+ < parse_use_tree("serde_json").normalize()
);
+ assert!(parse_use_tree("a::b::c").normalize() < parse_use_tree("a::b::*").normalize());
assert!(
- parse_use_tree("foo::{Bar, Baz}").normalize(true)
- < parse_use_tree("{Bar, Baz}").normalize(true)
+ parse_use_tree("foo::{Bar, Baz}").normalize()
+ < parse_use_tree("{Bar, Baz}").normalize()
);
assert!(
- parse_use_tree("foo::{self as bar}").normalize(true)
- < parse_use_tree("foo::{qux as bar}").normalize(true)
+ parse_use_tree("foo::{self as bar}").normalize()
+ < parse_use_tree("foo::{qux as bar}").normalize()
);
assert!(
- parse_use_tree("foo::{qux as bar}").normalize(true)
- < parse_use_tree("foo::{baz, qux as bar}").normalize(true)
+ parse_use_tree("foo::{qux as bar}").normalize()
+ < parse_use_tree("foo::{baz, qux as bar}").normalize()
);
assert!(
- parse_use_tree("foo::{self as bar, baz}").normalize(true)
- < parse_use_tree("foo::{baz, qux as bar}").normalize(true)
+ parse_use_tree("foo::{self as bar, baz}").normalize()
+ < parse_use_tree("foo::{baz, qux as bar}").normalize()
);
- assert!(parse_use_tree("foo").normalize(true) < parse_use_tree("Foo").normalize(true));
- assert!(parse_use_tree("foo").normalize(true) < parse_use_tree("foo::Bar").normalize(true));
+ assert!(parse_use_tree("foo").normalize() < parse_use_tree("Foo").normalize());
+ assert!(parse_use_tree("foo").normalize() < parse_use_tree("foo::Bar").normalize());
assert!(
- parse_use_tree("std::cmp::{d, c, b, a}").normalize(true)
- < parse_use_tree("std::cmp::{b, e, g, f}").normalize(true)
+ parse_use_tree("std::cmp::{d, c, b, a}").normalize()
+ < parse_use_tree("std::cmp::{b, e, g, f}").normalize()
);
}
}