Skip to content

Commit

Permalink
Rollup merge of #96614 - JohnTitor:test-92305, r=oli-obk
Browse files Browse the repository at this point in the history
Add a regression test for #92305

Closes #92305
r? ``@oli-obk`` as per #92305 (comment)
  • Loading branch information
JohnTitor authored May 3, 2022
2 parents 61c687a + 18b12fa commit 492d403
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/test/ui/impl-trait/issues/issue-92305.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// edition:2021

use std::iter;

fn f<T>(data: &[T]) -> impl Iterator<Item = Vec> {
//~^ ERROR: missing generics for struct `Vec` [E0107]
iter::empty() //~ ERROR: type annotations needed [E0282]
}

fn g<T>(data: &[T], target: T) -> impl Iterator<Item = Vec<T>> {
//~^ ERROR: type annotations needed [E0282]
f(data).filter(|x| x == target)
}

fn main() {}
32 changes: 32 additions & 0 deletions src/test/ui/impl-trait/issues/issue-92305.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
error[E0107]: missing generics for struct `Vec`
--> $DIR/issue-92305.rs:5:45
|
LL | fn f<T>(data: &[T]) -> impl Iterator<Item = Vec> {
| ^^^ expected at least 1 generic argument
|
note: struct defined here, with at least 1 generic parameter: `T`
--> $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
|
LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> {
| ^^^ -
help: add missing generic argument
|
LL | fn f<T>(data: &[T]) -> impl Iterator<Item = Vec<T>> {
| ~~~~~~

error[E0282]: type annotations needed
--> $DIR/issue-92305.rs:7:5
|
LL | iter::empty()
| ^^^^^^^^^^^ cannot infer type for type parameter `T` declared on the function `empty`

error[E0282]: type annotations needed
--> $DIR/issue-92305.rs:10:35
|
LL | fn g<T>(data: &[T], target: T) -> impl Iterator<Item = Vec<T>> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0107, E0282.
For more information about an error, try `rustc --explain E0107`.

0 comments on commit 492d403

Please sign in to comment.