diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-07-26 18:54:54 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-07-26 18:54:54 +0900 |
| commit | 8dcf86887cecd84d0775bdf45580435bc8e8bc2d (patch) | |
| tree | 99e633ef35efe749f6c2fe6238060551d8de20eb /src | |
| parent | 832d0a7667504acf2ba4a846b323f3762b40ffea (diff) | |
| download | rust-8dcf86887cecd84d0775bdf45580435bc8e8bc2d.tar.gz rust-8dcf86887cecd84d0775bdf45580435bc8e8bc2d.zip | |
Add test for issue-72911
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/impl-trait/issue-72911.rs | 22 | ||||
| -rw-r--r-- | src/test/ui/impl-trait/issue-72911.stderr | 34 |
2 files changed, 56 insertions, 0 deletions
diff --git a/src/test/ui/impl-trait/issue-72911.rs b/src/test/ui/impl-trait/issue-72911.rs new file mode 100644 index 00000000000..dee5a41f6de --- /dev/null +++ b/src/test/ui/impl-trait/issue-72911.rs @@ -0,0 +1,22 @@ +// Regression test for #72911. + +pub struct Lint {} + +impl Lint {} + +pub fn gather_all() -> impl Iterator<Item = Lint> { + //~^ ERROR: cannot resolve opaque type + lint_files().flat_map(|f| gather_from_file(&f)) +} + +fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator<Item = Lint> { + //~^ ERROR: failed to resolve + unimplemented!() +} + +fn lint_files() -> impl Iterator<Item = foo::MissingItem> { + //~^ ERROR: failed to resolve + unimplemented!() +} + +fn main() {} diff --git a/src/test/ui/impl-trait/issue-72911.stderr b/src/test/ui/impl-trait/issue-72911.stderr new file mode 100644 index 00000000000..b28142b916c --- /dev/null +++ b/src/test/ui/impl-trait/issue-72911.stderr @@ -0,0 +1,34 @@ +error[E0433]: failed to resolve: use of undeclared type or module `foo` + --> $DIR/issue-72911.rs:12:33 + | +LL | fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator<Item = Lint> { + | ^^^ use of undeclared type or module `foo` + +error[E0433]: failed to resolve: use of undeclared type or module `foo` + --> $DIR/issue-72911.rs:17:41 + | +LL | fn lint_files() -> impl Iterator<Item = foo::MissingItem> { + | ^^^ use of undeclared type or module `foo` + +error[E0720]: cannot resolve opaque type + --> $DIR/issue-72911.rs:7:24 + | +LL | pub fn gather_all() -> impl Iterator<Item = Lint> { + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ recursive opaque type +LL | +LL | lint_files().flat_map(|f| gather_from_file(&f)) + | ----------------------------------------------- + | | + | returning here with type `std::iter::FlatMap<impl std::iter::Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>` + | returning here with type `std::iter::FlatMap<impl std::iter::Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>` +... +LL | fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator<Item = Lint> { + | -------------------------- returning this opaque type `std::iter::FlatMap<impl std::iter::Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>` +... +LL | fn lint_files() -> impl Iterator<Item = foo::MissingItem> { + | -------------------------------------- returning this opaque type `std::iter::FlatMap<impl std::iter::Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>` + +error: aborting due to 3 previous errors + +Some errors have detailed explanations: E0433, E0720. +For more information about an error, try `rustc --explain E0433`. |
