Rollup merge of #69496 - matthiaskrgr:filter_next, r=ecstatic-morse

use find(x) instead of filter(x).next()
This commit is contained in:
Dylan DPC 2020-02-28 01:55:45 +01:00 committed by GitHub
commit 5b32dd034e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 8 additions and 17 deletions

View File

@ -136,7 +136,7 @@ impl RegionHighlightMode {
pub fn highlighting_region(&mut self, region: ty::Region<'_>, number: usize) {
let num_slots = self.highlight_regions.len();
let first_avail_slot =
self.highlight_regions.iter_mut().filter(|s| s.is_none()).next().unwrap_or_else(|| {
self.highlight_regions.iter_mut().find(|s| s.is_none()).unwrap_or_else(|| {
bug!("can only highlight {} placeholders at a time", num_slots,)
});
*first_avail_slot = Some((*region, number));

View File

@ -399,8 +399,7 @@ fn orphan_check_trait_ref<'tcx>(
let local_type = trait_ref
.input_types()
.flat_map(|ty| uncover_fundamental_ty(tcx, ty, in_crate))
.filter(|ty| ty_is_non_local_constructor(ty, in_crate).is_none())
.next();
.find(|ty| ty_is_non_local_constructor(ty, in_crate).is_none());
debug!("orphan_check_trait_ref: uncovered ty local_type: `{:?}`", local_type);

View File

@ -1442,7 +1442,7 @@ pub fn suggest_constraining_type_param(
const MSG_RESTRICT_TYPE: &str = "consider restricting this type parameter with";
const MSG_RESTRICT_TYPE_FURTHER: &str = "consider further restricting this type parameter with";
let param = generics.params.iter().filter(|p| p.name.ident().as_str() == param_name).next();
let param = generics.params.iter().find(|p| p.name.ident().as_str() == param_name);
let param = if let Some(param) = param {
param

View File

@ -93,10 +93,8 @@ impl<'a> TokenTreesReader<'a> {
}
if let Some((delim, _)) = self.open_braces.last() {
if let Some((_, open_sp, close_sp)) = self
.matching_delim_spans
.iter()
.filter(|(d, open_sp, close_sp)| {
if let Some((_, open_sp, close_sp)) =
self.matching_delim_spans.iter().find(|(d, open_sp, close_sp)| {
if let Some(close_padding) = sm.span_to_margin(*close_sp) {
if let Some(open_padding) = sm.span_to_margin(*open_sp) {
return delim == d && close_padding != open_padding;
@ -104,7 +102,6 @@ impl<'a> TokenTreesReader<'a> {
}
false
})
.next()
// these are in reverse order as they get inserted on close, but
{
// we want the last open/first close

View File

@ -225,12 +225,8 @@ impl<'a> Parser<'a> {
// Make sure that the span of the parent node is larger than the span of lhs and rhs,
// including the attributes.
let lhs_span = lhs
.attrs
.iter()
.filter(|a| a.style == AttrStyle::Outer)
.next()
.map_or(lhs_span, |a| a.span);
let lhs_span =
lhs.attrs.iter().find(|a| a.style == AttrStyle::Outer).map_or(lhs_span, |a| a.span);
let span = lhs_span.to(rhs.span);
lhs = match op {
AssocOp::Add

View File

@ -565,8 +565,7 @@ impl Attributes {
let inner_docs = attrs
.iter()
.filter(|a| a.doc_str().is_some())
.next()
.find(|a| a.doc_str().is_some())
.map_or(true, |a| a.style == AttrStyle::Inner);
Attributes {