}
self.visit_fn_ret_ty(&f.decl.output)
}
+ TyKind::ImplTrait(_, ref bounds) => {
+ self.with_hir_id_owner(None, |this| {
+ walk_list!(this, visit_param_bound, bounds);
+ });
+ }
_ => visit::walk_ty(self, t),
}
}
--- /dev/null
+// run-pass
+#![allow(unused_must_use)]
+fn bug<T>() -> impl Iterator<Item = [(); { |x: u32| { x }; 4 }]> {
+ std::iter::empty()
+}
+
+fn ok<T>() -> Box<dyn Iterator<Item = [(); { |x: u32| { x }; 4 }]>> {
+ Box::new(std::iter::empty())
+}
+
+fn main() {
+ for _item in ok::<u32>() {}
+ for _item in bug::<u32>() {}
+}