mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
Auto merge of #28086 - AlisdairO:diagnostics281, r=arielb1
As title :-) Part of #24407. r? @Manishearth
This commit is contained in:
commit
f3f23bf9c5
@ -1487,6 +1487,26 @@ fn main() {
|
||||
```
|
||||
"##,
|
||||
|
||||
E0281: r##"
|
||||
You tried to supply a type which doesn't implement some trait in a location
|
||||
which expected that trait. This error typically occurs when working with
|
||||
`Fn`-based types. Erroneous code example:
|
||||
|
||||
```
|
||||
fn foo<F: Fn()>(x: F) { }
|
||||
|
||||
fn main() {
|
||||
// type mismatch: the type ... implements the trait `core::ops::Fn<(_,)>`,
|
||||
// but the trait `core::ops::Fn<()>` is required (expected (), found tuple
|
||||
// [E0281]
|
||||
foo(|y| { });
|
||||
}
|
||||
```
|
||||
|
||||
The issue in this case is that `foo` is defined as accepting a `Fn` with no
|
||||
arguments, but the closure we attempted to pass to it requires one argument.
|
||||
"##,
|
||||
|
||||
E0282: r##"
|
||||
This error indicates that type inference did not result in one unique possible
|
||||
type, and extra information is required. In most cases this can be provided
|
||||
@ -1867,7 +1887,6 @@ register_diagnostics! {
|
||||
E0278, // requirement is not satisfied
|
||||
E0279, // requirement is not satisfied
|
||||
E0280, // requirement is not satisfied
|
||||
E0281, // type implements trait but other trait is required
|
||||
E0283, // cannot resolve type
|
||||
E0284, // cannot resolve type
|
||||
E0285, // overflow evaluation builtin bounds
|
||||
|
Loading…
Reference in New Issue
Block a user