Skip to content

Commit 9bb40b0

Browse files
committed
Make prohibit_generics take IntoIterators
1 parent 9cfe92c commit 9bb40b0

File tree

2 files changed

+8
-14
lines changed

2 files changed

+8
-14
lines changed

src/librustc_typeck/astconv.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -988,7 +988,7 @@ impl<'o, 'gcx: 'tcx, 'tcx> dyn AstConv<'gcx, 'tcx>+'o {
988988
self.normalize_ty(span, tcx.mk_projection(item_def_id, trait_ref.substs))
989989
}
990990

991-
pub fn prohibit_generics(&self, segments: &[hir::PathSegment]) {
991+
pub fn prohibit_generics<'a, T: IntoIterator<Item = &'a hir::PathSegment>>(&self, segments: T) {
992992
for segment in segments {
993993
segment.with_generic_args(|generic_args| {
994994
let (mut err_for_lt, mut err_for_ty) = (false, false);

src/librustc_typeck/check/mod.rs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4913,19 +4913,13 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
49134913
for PathSeg(_, index) in &path_segs {
49144914
generic_segs.insert(index);
49154915
}
4916-
let segs: Vec<_> = segments
4917-
.iter()
4918-
.enumerate()
4919-
.filter_map(|(index, seg)| {
4920-
if !generic_segs.contains(&index) {
4921-
Some(seg)
4922-
} else {
4923-
None
4924-
}
4925-
})
4926-
.cloned()
4927-
.collect();
4928-
AstConv::prohibit_generics(self, &segs);
4916+
AstConv::prohibit_generics(self, segments.iter().enumerate().filter_map(|(index, seg)| {
4917+
if !generic_segs.contains(&index) {
4918+
Some(seg)
4919+
} else {
4920+
None
4921+
}
4922+
}));
49294923

49304924
match def {
49314925
Def::Local(nid) | Def::Upvar(nid, ..) => {

0 commit comments

Comments
 (0)