Rollup merge of #84646 - JohnTitor:add-some-bad-placeholder-tests, r=Dylan-DPC
Add some regression tests related to #82494 Closes #75883, closes #80779 r? ````@estebank````
This commit is contained in:
commit
96c2316ed9
4 changed files with 108 additions and 0 deletions
22
src/test/ui/typeck/issue-75883.rs
Normal file
22
src/test/ui/typeck/issue-75883.rs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
// Regression test for #75883.
|
||||
|
||||
pub struct UI {}
|
||||
|
||||
impl UI {
|
||||
pub fn run() -> Result<_> {
|
||||
//~^ ERROR: this enum takes 2 type arguments but only 1 type argument was supplied
|
||||
//~| ERROR: the type placeholder `_` is not allowed within types on item signatures
|
||||
let mut ui = UI {};
|
||||
ui.interact();
|
||||
|
||||
unimplemented!();
|
||||
}
|
||||
|
||||
pub fn interact(&mut self) -> Result<_> {
|
||||
//~^ ERROR: this enum takes 2 type arguments but only 1 type argument was supplied
|
||||
//~| ERROR: the type placeholder `_` is not allowed within types on item signatures
|
||||
unimplemented!();
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
52
src/test/ui/typeck/issue-75883.stderr
Normal file
52
src/test/ui/typeck/issue-75883.stderr
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
error[E0107]: this enum takes 2 type arguments but only 1 type argument was supplied
|
||||
--> $DIR/issue-75883.rs:6:21
|
||||
|
|
||||
LL | pub fn run() -> Result<_> {
|
||||
| ^^^^^^ - supplied 1 type argument
|
||||
| |
|
||||
| expected 2 type arguments
|
||||
|
|
||||
note: enum defined here, with 2 type parameters: `T`, `E`
|
||||
--> $SRC_DIR/core/src/result.rs:LL:COL
|
||||
|
|
||||
LL | pub enum Result<T, E> {
|
||||
| ^^^^^^ - -
|
||||
help: add missing type argument
|
||||
|
|
||||
LL | pub fn run() -> Result<_, E> {
|
||||
| ^^^
|
||||
|
||||
error[E0107]: this enum takes 2 type arguments but only 1 type argument was supplied
|
||||
--> $DIR/issue-75883.rs:15:35
|
||||
|
|
||||
LL | pub fn interact(&mut self) -> Result<_> {
|
||||
| ^^^^^^ - supplied 1 type argument
|
||||
| |
|
||||
| expected 2 type arguments
|
||||
|
|
||||
note: enum defined here, with 2 type parameters: `T`, `E`
|
||||
--> $SRC_DIR/core/src/result.rs:LL:COL
|
||||
|
|
||||
LL | pub enum Result<T, E> {
|
||||
| ^^^^^^ - -
|
||||
help: add missing type argument
|
||||
|
|
||||
LL | pub fn interact(&mut self) -> Result<_, E> {
|
||||
| ^^^
|
||||
|
||||
error[E0121]: the type placeholder `_` is not allowed within types on item signatures
|
||||
--> $DIR/issue-75883.rs:15:42
|
||||
|
|
||||
LL | pub fn interact(&mut self) -> Result<_> {
|
||||
| ^ not allowed in type signatures
|
||||
|
||||
error[E0121]: the type placeholder `_` is not allowed within types on item signatures
|
||||
--> $DIR/issue-75883.rs:6:28
|
||||
|
|
||||
LL | pub fn run() -> Result<_> {
|
||||
| ^ not allowed in type signatures
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0107, E0121.
|
||||
For more information about an error, try `rustc --explain E0107`.
|
||||
13
src/test/ui/typeck/issue-80779.rs
Normal file
13
src/test/ui/typeck/issue-80779.rs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
// Regression test for #80779.
|
||||
|
||||
pub struct T<'a>(&'a str);
|
||||
|
||||
pub fn f<'a>(val: T<'a>) -> _ {
|
||||
//~^ ERROR: the type placeholder `_` is not allowed within types on item signatures
|
||||
g(val)
|
||||
}
|
||||
|
||||
pub fn g(_: T<'static>) -> _ {}
|
||||
//~^ ERROR: the type placeholder `_` is not allowed within types on item signatures
|
||||
|
||||
fn main() {}
|
||||
21
src/test/ui/typeck/issue-80779.stderr
Normal file
21
src/test/ui/typeck/issue-80779.stderr
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
error[E0121]: the type placeholder `_` is not allowed within types on item signatures
|
||||
--> $DIR/issue-80779.rs:10:28
|
||||
|
|
||||
LL | pub fn g(_: T<'static>) -> _ {}
|
||||
| ^
|
||||
| |
|
||||
| not allowed in type signatures
|
||||
| help: replace with the correct return type: `()`
|
||||
|
||||
error[E0121]: the type placeholder `_` is not allowed within types on item signatures
|
||||
--> $DIR/issue-80779.rs:5:29
|
||||
|
|
||||
LL | pub fn f<'a>(val: T<'a>) -> _ {
|
||||
| ^
|
||||
| |
|
||||
| not allowed in type signatures
|
||||
| help: replace with the correct return type: `()`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0121`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue