Skip to content

Commit 05d19fb

Browse files
committed
Point at the trait argument when using unboxed closure
1 parent 1558ae7 commit 05d19fb

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/libsyntax/parse/parser.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -1079,12 +1079,13 @@ impl<'a> Parser<'a> {
10791079
self.parse_seq_to_before_tokens(&[ket], sep, TokenExpectType::Expect, f)
10801080
}
10811081

1082-
fn parse_seq_to_before_tokens<T, F>(&mut self,
1083-
kets: &[&token::Token],
1084-
sep: SeqSep,
1085-
expect: TokenExpectType,
1086-
mut f: F)
1087-
-> PResult<'a, Vec<T>>
1082+
fn parse_seq_to_before_tokens<T, F>(
1083+
&mut self,
1084+
kets: &[&token::Token],
1085+
sep: SeqSep,
1086+
expect: TokenExpectType,
1087+
mut f: F,
1088+
) -> PResult<'a, Vec<T>>
10881089
where F: FnMut(&mut Parser<'a>) -> PResult<'a, T>
10891090
{
10901091
let mut first: bool = true;
@@ -2058,12 +2059,12 @@ impl<'a> Parser<'a> {
20582059
TokenExpectType::Expect,
20592060
|p| p.parse_ty())?;
20602061
self.bump(); // `)`
2062+
let span = lo.to(self.prev_span);
20612063
let output = if self.eat(&token::RArrow) {
20622064
Some(self.parse_ty_common(false, false)?)
20632065
} else {
20642066
None
20652067
};
2066-
let span = lo.to(self.prev_span);
20672068
ParenthesisedArgs { inputs, output, span }.into()
20682069
};
20692070

src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ error[E0244]: wrong number of type arguments: expected 0, found 1
22
--> $DIR/unboxed-closure-sugar-wrong-trait.rs:15:13
33
|
44
LL | fn f<F:Trait(isize) -> isize>(x: F) {}
5-
| ^^^^^^^^^^^^^^^^ unexpected type argument
5+
| ^^^^^^^ unexpected type argument
66

77
error[E0220]: associated type `Output` not found for `Trait`
88
--> $DIR/unboxed-closure-sugar-wrong-trait.rs:15:24

0 commit comments

Comments
 (0)