error[E0433]: failed to resolve: use of undeclared crate or module `foo` --> $DIR/issue-72911.rs:12:33 | LL | fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator { | ^^^ use of undeclared crate or module `foo` error[E0433]: failed to resolve: use of undeclared crate or module `foo` --> $DIR/issue-72911.rs:17:41 | LL | fn lint_files() -> impl Iterator { | ^^^ use of undeclared crate or module `foo` error[E0720]: cannot resolve opaque type --> $DIR/issue-72911.rs:7:24 | LL | pub fn gather_all() -> impl Iterator { | ^^^^^^^^^^^^^^^^^^^^^^^^^^ recursive opaque type LL | LL | lint_files().flat_map(|f| gather_from_file(&f)) | ----------------------------------------------- | | | returning here with type `FlatMap` | returning here with type `FlatMap` ... LL | fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator { | -------------------------- returning this opaque type `FlatMap` ... LL | fn lint_files() -> impl Iterator { | -------------------------------------- returning this opaque type `FlatMap` error: aborting due to 3 previous errors Some errors have detailed explanations: E0433, E0720. For more information about an error, try `rustc --explain E0433`.