From 3becbbc1299f6938ff13f09ee3b3f37f7600326f Mon Sep 17 00:00:00 2001 From: David Wood Date: Mon, 17 Sep 2018 19:39:37 +0200 Subject: [PATCH] Fixed off-by-one span. Fixes the off-by-one span issue where closure argument spans were pointing to the token after the argument. --- src/libsyntax/parse/parser.rs | 2 +- src/test/ui/nll/issue-52534.stderr | 12 ++++++------ src/test/ui/regions/regions-nested-fns-2.nll.stderr | 2 +- src/test/ui/regions/regions-nested-fns.nll.stderr | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 7a13beb7852..d6cbe47a66e 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1848,7 +1848,7 @@ fn parse_fn_block_arg(&mut self) -> PResult<'a, Arg> { P(Ty { id: ast::DUMMY_NODE_ID, node: TyKind::Infer, - span: self.span, + span: self.prev_span, }) }; Ok(Arg { diff --git a/src/test/ui/nll/issue-52534.stderr b/src/test/ui/nll/issue-52534.stderr index 873f17d8deb..50b379755d3 100644 --- a/src/test/ui/nll/issue-52534.stderr +++ b/src/test/ui/nll/issue-52534.stderr @@ -2,9 +2,9 @@ error[E0597]: `x` does not live long enough --> $DIR/issue-52534.rs:22:14 | LL | foo(|a| &x) - | - ^ `x` would have to be valid for `'0` - | | - | has type `&'0 u32` + | - ^ `x` would have to be valid for `'0` + | | + | has type `&'0 u32` LL | } | - ...but `x` is only valid for the duration of the `bar` function, so it is dropped here while still borrowed @@ -12,9 +12,9 @@ error[E0597]: `y` does not live long enough --> $DIR/issue-52534.rs:27:26 | LL | baz(|first, second| &y) - | - ^ `y` would have to be valid for `'0` - | | - | has type `&'0 u32` + | ----- ^ `y` would have to be valid for `'0` + | | + | has type `&'0 u32` LL | } | - ...but `y` is only valid for the duration of the `foobar` function, so it is dropped here while still borrowed diff --git a/src/test/ui/regions/regions-nested-fns-2.nll.stderr b/src/test/ui/regions/regions-nested-fns-2.nll.stderr index 90e0f1b7e07..f6b7d8aa3b7 100644 --- a/src/test/ui/regions/regions-nested-fns-2.nll.stderr +++ b/src/test/ui/regions/regions-nested-fns-2.nll.stderr @@ -2,7 +2,7 @@ error[E0597]: `y` does not live long enough --> $DIR/regions-nested-fns-2.rs:18:25 | LL | |z| { - | - has type `&'0 isize` + | - has type `&'0 isize` LL | //~^ ERROR E0373 LL | if false { &y } else { z } | ^ `y` would have to be valid for `'0` diff --git a/src/test/ui/regions/regions-nested-fns.nll.stderr b/src/test/ui/regions/regions-nested-fns.nll.stderr index e8309beb0ae..94e559b5238 100644 --- a/src/test/ui/regions/regions-nested-fns.nll.stderr +++ b/src/test/ui/regions/regions-nested-fns.nll.stderr @@ -25,7 +25,7 @@ error[E0597]: `y` does not live long enough --> $DIR/regions-nested-fns.rs:19:15 | LL | ignore:: FnMut(&'z isize)>>(Box::new(|z| { - | - has type `&'0 isize` + | - has type `&'0 isize` LL | ay = x; LL | ay = &y; | ^ `y` would have to be valid for `'0` -- 2.44.0