error[E0412]: cannot find type `Missing` in this scope --> $DIR/issue-110157.rs:6:12 | LL | F: Fn(&Missing) -> Result, | ^^^^^^^ not found in this scope error[E0412]: cannot find type `Missing` in this scope --> $DIR/issue-110157.rs:8:24 | LL | I: Iterator, | ^^^^^^^ not found in this scope error[E0046]: not all trait items implemented, missing: `Item`, `next` --> $DIR/issue-110157.rs:3:1 | LL | / impl<'tcx, F, I> Iterator for NeedsDropTypes<'tcx, F> LL | | LL | | where LL | | F: Fn(&Missing) -> Result, LL | | LL | | I: Iterator, | |________________________________^ missing `Item`, `next` in implementation | = help: implement the missing item: `type Item = /* Type */;` = help: implement the missing item: `fn next(&mut self) -> Option<::Item> { todo!() }` error: aborting due to 3 previous errors Some errors have detailed explanations: E0046, E0412. For more information about an error, try `rustc --explain E0046`.