Rollup merge of #62842 - JohnTitor:test-for-58887, r=alexreg
Add tests for issue-58887 Closes #58887
This commit is contained in:
commit
8afc53c195
23
src/test/ui/existential-type/issue-58887.rs
Normal file
23
src/test/ui/existential-type/issue-58887.rs
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#![feature(existential_type)]
|
||||||
|
|
||||||
|
trait UnwrapItemsExt {
|
||||||
|
type Iter;
|
||||||
|
fn unwrap_items(self) -> Self::Iter;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<I, T, E> UnwrapItemsExt for I
|
||||||
|
where
|
||||||
|
I: Iterator<Item = Result<T, E>>,
|
||||||
|
E: std::fmt::Debug,
|
||||||
|
{
|
||||||
|
existential type Iter: Iterator<Item = T>;
|
||||||
|
//~^ ERROR: could not find defining uses
|
||||||
|
|
||||||
|
fn unwrap_items(self) -> Self::Iter {
|
||||||
|
//~^ ERROR: type parameter `T` is part of concrete type
|
||||||
|
//~| ERROR: type parameter `E` is part of concrete type
|
||||||
|
self.map(|x| x.unwrap())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {}
|
30
src/test/ui/existential-type/issue-58887.stderr
Normal file
30
src/test/ui/existential-type/issue-58887.stderr
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
error: type parameter `T` is part of concrete type but not used in parameter list for existential type
|
||||||
|
--> $DIR/issue-58887.rs:16:41
|
||||||
|
|
|
||||||
|
LL | fn unwrap_items(self) -> Self::Iter {
|
||||||
|
| _________________________________________^
|
||||||
|
LL | |
|
||||||
|
LL | |
|
||||||
|
LL | | self.map(|x| x.unwrap())
|
||||||
|
LL | | }
|
||||||
|
| |_____^
|
||||||
|
|
||||||
|
error: type parameter `E` is part of concrete type but not used in parameter list for existential type
|
||||||
|
--> $DIR/issue-58887.rs:16:41
|
||||||
|
|
|
||||||
|
LL | fn unwrap_items(self) -> Self::Iter {
|
||||||
|
| _________________________________________^
|
||||||
|
LL | |
|
||||||
|
LL | |
|
||||||
|
LL | | self.map(|x| x.unwrap())
|
||||||
|
LL | | }
|
||||||
|
| |_____^
|
||||||
|
|
||||||
|
error: could not find defining uses
|
||||||
|
--> $DIR/issue-58887.rs:13:5
|
||||||
|
|
|
||||||
|
LL | existential type Iter: Iterator<Item = T>;
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
error: aborting due to 3 previous errors
|
||||||
|
|
Loading…
Reference in New Issue
Block a user