Don't ICE in closure arg borrow suggestion
This commit is contained in:
parent
65c53c3bb6
commit
dd8897eb63
3 changed files with 35 additions and 5 deletions
10
src/test/ui/suggestions/enum-variant-arg-mismatch.rs
Normal file
10
src/test/ui/suggestions/enum-variant-arg-mismatch.rs
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
pub enum Sexpr<'a> {
|
||||
Ident(&'a str),
|
||||
}
|
||||
|
||||
fn map<'a, F: Fn(String) -> Sexpr<'a>>(f: F) {}
|
||||
|
||||
fn main() {
|
||||
map(Sexpr::Ident);
|
||||
//~^ ERROR type mismatch in function arguments
|
||||
}
|
||||
22
src/test/ui/suggestions/enum-variant-arg-mismatch.stderr
Normal file
22
src/test/ui/suggestions/enum-variant-arg-mismatch.stderr
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
error[E0631]: type mismatch in function arguments
|
||||
--> $DIR/enum-variant-arg-mismatch.rs:8:9
|
||||
|
|
||||
LL | Ident(&'a str),
|
||||
| ----- found signature defined here
|
||||
...
|
||||
LL | map(Sexpr::Ident);
|
||||
| --- ^^^^^^^^^^^^ expected due to this
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= note: expected function signature `fn(String) -> _`
|
||||
found function signature `fn(&str) -> _`
|
||||
note: required by a bound in `map`
|
||||
--> $DIR/enum-variant-arg-mismatch.rs:5:15
|
||||
|
|
||||
LL | fn map<'a, F: Fn(String) -> Sexpr<'a>>(f: F) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `map`
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0631`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue