rustc_metadata: Use binary search from standard library

instead of a hand rolled one.
This commit is contained in:
Vadim Petrochenkov 2020-02-24 19:03:15 +03:00
parent d9a328a0ad
commit 4dbdadf94d

View File

@ -408,20 +408,12 @@ impl<'a, 'tcx> SpecializedDecoder<Span> for DecodeContext<'a, 'tcx> {
{
last_source_file
} else {
let mut a = 0;
let mut b = imported_source_files.len();
let index = imported_source_files
.binary_search_by_key(&lo, |source_file| source_file.original_start_pos)
.unwrap_or_else(|index| index - 1);
while b - a > 1 {
let m = (a + b) / 2;
if imported_source_files[m].original_start_pos > lo {
b = m;
} else {
a = m;
}
}
self.last_source_file_index = a;
&imported_source_files[a]
self.last_source_file_index = index;
&imported_source_files[index]
}
};