more clippy::perf fixes

This commit is contained in:
Matthias Krüger 2022-09-03 22:57:22 +02:00
parent dec689432f
commit 6f4726541e
6 changed files with 11 additions and 19 deletions

View File

@ -842,7 +842,7 @@ fn lookup_with_diagnostics(
if let Some(positional_arg_to_replace) = position_sp_to_replace {
let name = if is_formatting_arg { named_arg_name + "$" } else { named_arg_name };
let span_to_replace = if let Ok(positional_arg_content) =
self.sess().source_map().span_to_snippet(positional_arg_to_replace) && positional_arg_content.starts_with(":") {
self.sess().source_map().span_to_snippet(positional_arg_to_replace) && positional_arg_content.starts_with(':') {
positional_arg_to_replace.shrink_to_lo()
} else {
positional_arg_to_replace

View File

@ -1378,19 +1378,11 @@ fn encode_mir(&mut self) {
let tcx = self.tcx;
let keys_and_jobs = tcx
.mir_keys(())
.iter()
.filter_map(|&def_id| {
let (encode_const, encode_opt) = should_encode_mir(tcx, def_id);
if encode_const || encode_opt {
Some((def_id, encode_const, encode_opt))
} else {
None
}
})
.collect::<Vec<_>>();
for (def_id, encode_const, encode_opt) in keys_and_jobs.into_iter() {
let keys_and_jobs = tcx.mir_keys(()).iter().filter_map(|&def_id| {
let (encode_const, encode_opt) = should_encode_mir(tcx, def_id);
if encode_const || encode_opt { Some((def_id, encode_const, encode_opt)) } else { None }
});
for (def_id, encode_const, encode_opt) in keys_and_jobs {
debug_assert!(encode_const || encode_opt);
debug!("EntryBuilder::encode_mir({:?})", def_id);

View File

@ -1393,7 +1393,7 @@ fn lookup_import_candidates_from_module<FilterFn>(
// If only some candidates are accessible, take just them
if !candidates.iter().all(|v: &ImportSuggestion| !v.accessible) {
candidates = candidates.into_iter().filter(|x| x.accessible).collect();
candidates.retain(|x| x.accessible)
}
candidates

View File

@ -429,7 +429,7 @@ pub(super) fn quota() -> usize {
Some(b"") => Cgroup::V2,
Some(controllers)
if from_utf8(controllers)
.is_ok_and(|c| c.split(",").any(|c| c == "cpu")) =>
.is_ok_and(|c| c.split(',').any(|c| c == "cpu")) =>
{
Cgroup::V1
}

View File

@ -2367,9 +2367,9 @@ pub(crate) fn get_filtered_impls_for_reference<'a>(
let Some(v) = shared.cache.impls.get(&def_id) else { return (Vec::new(), Vec::new(), Vec::new()) };
// Since there is no "direct implementation" on the reference primitive type, we filter out
// every implementation which isn't a trait implementation.
let traits: Vec<_> = v.iter().filter(|i| i.inner_impl().trait_.is_some()).collect();
let traits = v.iter().filter(|i| i.inner_impl().trait_.is_some());
let (synthetic, concrete): (Vec<&Impl>, Vec<&Impl>) =
traits.into_iter().partition(|t| t.inner_impl().kind.is_auto());
traits.partition(|t| t.inner_impl().kind.is_auto());
let (blanket_impl, concrete): (Vec<&Impl>, _) =
concrete.into_iter().partition(|t| t.inner_impl().kind.is_blanket());

View File

@ -312,7 +312,7 @@ fn collect(path: &Path, krate: &str) -> io::Result<(Vec<String>, Vec<String>)> {
if line.starts_with(&prefix) {
continue;
}
if line.ends_with(",") {
if line.ends_with(',') {
ret.push(line[..line.len() - 1].to_string());
} else {
// No comma (it's the case for the last added crate line)