Auto merge of #74772 - JohnTitor:add-tests, r=lcnr
Add some regression tests cc #56445 Fixes #72911
This commit is contained in:
commit
62392966a3
4 changed files with 88 additions and 0 deletions
12
src/test/ui/const-generics/issues/issue-56445.rs
Normal file
12
src/test/ui/const-generics/issues/issue-56445.rs
Normal file
|
@ -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<'_, ""> {}
|
20
src/test/ui/const-generics/issues/issue-56445.stderr
Normal file
20
src/test/ui/const-generics/issues/issue-56445.stderr
Normal file
|
@ -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`.
|
22
src/test/ui/impl-trait/issue-72911.rs
Normal file
22
src/test/ui/impl-trait/issue-72911.rs
Normal file
|
@ -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() {}
|
34
src/test/ui/impl-trait/issue-72911.stderr
Normal file
34
src/test/ui/impl-trait/issue-72911.stderr
Normal file
|
@ -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`.
|
Loading…
Add table
Reference in a new issue