diff options
| author | bors <bors@rust-lang.org> | 2020-07-26 14:09:36 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-07-26 14:09:36 +0000 |
| commit | 62392966a3937362146d7228444c8d843d972857 (patch) | |
| tree | f62c684f05017230721d6006387189afb1d8707c | |
| parent | 13f9aa190957b993a268fd4a046fce76ca8814ee (diff) | |
| parent | 8dcf86887cecd84d0775bdf45580435bc8e8bc2d (diff) | |
| download | rust-62392966a3937362146d7228444c8d843d972857.tar.gz rust-62392966a3937362146d7228444c8d843d972857.zip | |
Auto merge of #74772 - JohnTitor:add-tests, r=lcnr
Add some regression tests cc #56445 Fixes #72911
| -rw-r--r-- | src/test/ui/const-generics/issues/issue-56445.rs | 12 | ||||
| -rw-r--r-- | src/test/ui/const-generics/issues/issue-56445.stderr | 20 | ||||
| -rw-r--r-- | src/test/ui/impl-trait/issue-72911.rs | 22 | ||||
| -rw-r--r-- | src/test/ui/impl-trait/issue-72911.stderr | 34 |
4 files changed, 88 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/issues/issue-56445.rs b/src/test/ui/const-generics/issues/issue-56445.rs new file mode 100644 index 00000000000..26441512e3f --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-56445.rs @@ -0,0 +1,12 @@ +// Regression test for https://github.com/rust-lang/rust/issues/56445#issuecomment-518402995. + +#![feature(const_generics)] +//~^ WARN: the feature `const_generics` is incomplete +#![crate_type = "lib"] + +use std::marker::PhantomData; + +struct Bug<'a, const S: &'a str>(PhantomData<&'a ()>); +//~^ ERROR: use of non-static lifetime `'a` in const generic + +impl Bug<'_, ""> {} diff --git a/src/test/ui/const-generics/issues/issue-56445.stderr b/src/test/ui/const-generics/issues/issue-56445.stderr new file mode 100644 index 00000000000..fba638b0b2b --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-56445.stderr @@ -0,0 +1,20 @@ +warning: the feature `const_generics` is incomplete and may not be safe to use and/or cause compiler crashes + --> $DIR/issue-56445.rs:3:12 + | +LL | #![feature(const_generics)] + | ^^^^^^^^^^^^^^ + | + = note: `#[warn(incomplete_features)]` on by default + = note: see issue #44580 <https://github.com/rust-lang/rust/issues/44580> for more information + +error[E0771]: use of non-static lifetime `'a` in const generic + --> $DIR/issue-56445.rs:9:26 + | +LL | struct Bug<'a, const S: &'a str>(PhantomData<&'a ()>); + | ^^ + | + = note: for more information, see issue #74052 <https://github.com/rust-lang/rust/issues/74052> + +error: aborting due to previous error; 1 warning emitted + +For more information about this error, try `rustc --explain E0771`. 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`. |
