Make prohibit_generics take IntoIterators
This commit is contained in:
parent
9cfe92c8ae
commit
9bb40b09b7
2 changed files with 8 additions and 14 deletions
|
@ -988,7 +988,7 @@ impl<'o, 'gcx: 'tcx, 'tcx> dyn AstConv<'gcx, 'tcx>+'o {
|
|||
self.normalize_ty(span, tcx.mk_projection(item_def_id, trait_ref.substs))
|
||||
}
|
||||
|
||||
pub fn prohibit_generics(&self, segments: &[hir::PathSegment]) {
|
||||
pub fn prohibit_generics<'a, T: IntoIterator<Item = &'a hir::PathSegment>>(&self, segments: T) {
|
||||
for segment in segments {
|
||||
segment.with_generic_args(|generic_args| {
|
||||
let (mut err_for_lt, mut err_for_ty) = (false, false);
|
||||
|
|
|
@ -4913,19 +4913,13 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
|||
for PathSeg(_, index) in &path_segs {
|
||||
generic_segs.insert(index);
|
||||
}
|
||||
let segs: Vec<_> = segments
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter_map(|(index, seg)| {
|
||||
if !generic_segs.contains(&index) {
|
||||
Some(seg)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.cloned()
|
||||
.collect();
|
||||
AstConv::prohibit_generics(self, &segs);
|
||||
AstConv::prohibit_generics(self, segments.iter().enumerate().filter_map(|(index, seg)| {
|
||||
if !generic_segs.contains(&index) {
|
||||
Some(seg)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}));
|
||||
|
||||
match def {
|
||||
Def::Local(nid) | Def::Upvar(nid, ..) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue