diff --git a/src/test/ui/issues/issue-58887.rs b/src/test/ui/existential-type/issue-58887.rs similarity index 69% rename from src/test/ui/issues/issue-58887.rs rename to src/test/ui/existential-type/issue-58887.rs index ca2374af7bdc1..f038648ec2149 100644 --- a/src/test/ui/issues/issue-58887.rs +++ b/src/test/ui/existential-type/issue-58887.rs @@ -1,8 +1,8 @@ #![feature(existential_type)] trait UnwrapItemsExt { - type II; - fn unwrap_items(self) -> Self::II; + type Iter; + fn unwrap_items(self) -> Self::Iter; } impl UnwrapItemsExt for I @@ -10,12 +10,14 @@ where I: Iterator>, E: std::fmt::Debug, { - existential type II: Iterator; + existential type Iter: Iterator; //~^ ERROR: could not find defining uses - fn unwrap_items(self) -> Self::II { + 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() {} diff --git a/src/test/ui/existential-type/issue-58887.stderr b/src/test/ui/existential-type/issue-58887.stderr new file mode 100644 index 0000000000000..800f4b7e059fb --- /dev/null +++ b/src/test/ui/existential-type/issue-58887.stderr @@ -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; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: aborting due to 3 previous errors + diff --git a/src/test/ui/issues/issue-58887.stderr b/src/test/ui/issues/issue-58887.stderr deleted file mode 100644 index 8cb25d84f54ad..0000000000000 --- a/src/test/ui/issues/issue-58887.stderr +++ /dev/null @@ -1,35 +0,0 @@ -error[E0601]: `main` function not found in crate `issue_58887` - | - = note: consider adding a `main` function to `$DIR/issue-58887.rs` - -error: type parameter `T` is part of concrete type but not used in parameter list for existential type - --> $DIR/issue-58887.rs:16:39 - | -LL | fn unwrap_items(self) -> Self::II { - | _______________________________________^ -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:39 - | -LL | fn unwrap_items(self) -> Self::II { - | _______________________________________^ -LL | | -LL | | -LL | | self.map(|x| x.unwrap()) -LL | | } - | |_____^ - -error: could not find defining uses - --> $DIR/issue-58887.rs:13:5 - | -LL | existential type II: Iterator; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -error: aborting due to 4 previous errors - -For more information about this error, try `rustc --explain E0601`.