diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2022-05-02 06:43:17 +0900 |
|---|---|---|
| committer | Yuki Okushi <jtitor@2k36.org> | 2022-05-02 06:43:17 +0900 |
| commit | 18b12fa993312c41b10487efa85fed95ad1af372 (patch) | |
| tree | f8628a0ddb945d58da90849608ee2b9b7d15201f /src | |
| parent | a933de83989471ac444a13d62996d30621542654 (diff) | |
| download | rust-18b12fa993312c41b10487efa85fed95ad1af372.tar.gz rust-18b12fa993312c41b10487efa85fed95ad1af372.zip | |
Add a regression test for #92305
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/impl-trait/issues/issue-92305.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/impl-trait/issues/issue-92305.stderr | 32 |
2 files changed, 47 insertions, 0 deletions
diff --git a/src/test/ui/impl-trait/issues/issue-92305.rs b/src/test/ui/impl-trait/issues/issue-92305.rs new file mode 100644 index 00000000000..1518c116b31 --- /dev/null +++ b/src/test/ui/impl-trait/issues/issue-92305.rs @@ -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() {} diff --git a/src/test/ui/impl-trait/issues/issue-92305.stderr b/src/test/ui/impl-trait/issues/issue-92305.stderr new file mode 100644 index 00000000000..c4fc49225e9 --- /dev/null +++ b/src/test/ui/impl-trait/issues/issue-92305.stderr @@ -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`. |
