Rollup merge of #135677 - yotamofek:resolve-cleanups2, r=compiler-errors
Small `rustc_resolve` cleanups 1. Don't open-code `Reverse` 2. Use slice patterns where possible
This commit is contained in:
commit
09ee4e7b00
1 changed files with 8 additions and 7 deletions
|
@ -1127,7 +1127,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Make sure error reporting is deterministic.
|
// Make sure error reporting is deterministic.
|
||||||
suggestions.sort_by(|a, b| a.candidate.as_str().partial_cmp(b.candidate.as_str()).unwrap());
|
suggestions.sort_by(|a, b| a.candidate.as_str().cmp(b.candidate.as_str()));
|
||||||
|
|
||||||
match find_best_match_for_name(
|
match find_best_match_for_name(
|
||||||
&suggestions.iter().map(|suggestion| suggestion.candidate).collect::<Vec<Symbol>>(),
|
&suggestions.iter().map(|suggestion| suggestion.candidate).collect::<Vec<Symbol>>(),
|
||||||
|
@ -2256,14 +2256,15 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
|
||||||
mut path: Vec<Segment>,
|
mut path: Vec<Segment>,
|
||||||
parent_scope: &ParentScope<'ra>,
|
parent_scope: &ParentScope<'ra>,
|
||||||
) -> Option<(Vec<Segment>, Option<String>)> {
|
) -> Option<(Vec<Segment>, Option<String>)> {
|
||||||
match (path.get(0), path.get(1)) {
|
match path[..] {
|
||||||
// `{{root}}::ident::...` on both editions.
|
// `{{root}}::ident::...` on both editions.
|
||||||
// On 2015 `{{root}}` is usually added implicitly.
|
// On 2015 `{{root}}` is usually added implicitly.
|
||||||
(Some(fst), Some(snd))
|
[first, second, ..]
|
||||||
if fst.ident.name == kw::PathRoot && !snd.ident.is_path_segment_keyword() => {}
|
if first.ident.name == kw::PathRoot && !second.ident.is_path_segment_keyword() => {}
|
||||||
// `ident::...` on 2018.
|
// `ident::...` on 2018.
|
||||||
(Some(fst), _)
|
[first, ..]
|
||||||
if fst.ident.span.at_least_rust_2018() && !fst.ident.is_path_segment_keyword() =>
|
if first.ident.span.at_least_rust_2018()
|
||||||
|
&& !first.ident.is_path_segment_keyword() =>
|
||||||
{
|
{
|
||||||
// Insert a placeholder that's later replaced by `self`/`super`/etc.
|
// Insert a placeholder that's later replaced by `self`/`super`/etc.
|
||||||
path.insert(0, Segment::from_ident(Ident::empty()));
|
path.insert(0, Segment::from_ident(Ident::empty()));
|
||||||
|
@ -2374,7 +2375,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
|
||||||
// 2) `std` suggestions before `core` suggestions.
|
// 2) `std` suggestions before `core` suggestions.
|
||||||
let mut extern_crate_names =
|
let mut extern_crate_names =
|
||||||
self.extern_prelude.keys().map(|ident| ident.name).collect::<Vec<_>>();
|
self.extern_prelude.keys().map(|ident| ident.name).collect::<Vec<_>>();
|
||||||
extern_crate_names.sort_by(|a, b| b.as_str().partial_cmp(a.as_str()).unwrap());
|
extern_crate_names.sort_by(|a, b| b.as_str().cmp(a.as_str()));
|
||||||
|
|
||||||
for name in extern_crate_names.into_iter() {
|
for name in extern_crate_names.into_iter() {
|
||||||
// Replace first ident with a crate name and check if that is valid.
|
// Replace first ident with a crate name and check if that is valid.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue