Fix off-by-one error in column number in explain_span
.
This commit is contained in:
parent
2b6ed3a051
commit
eb703f7851
@ -113,7 +113,7 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
|
||||
heading: &str, span: Span)
|
||||
-> (String, Option<Span>) {
|
||||
let lo = tcx.sess.codemap().lookup_char_pos_adj(span.lo);
|
||||
(format!("the {} at {}:{}", heading, lo.line, lo.col.to_usize()),
|
||||
(format!("the {} at {}:{}", heading, lo.line, lo.col.to_usize() + 1),
|
||||
Some(span))
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
pub trait Resources<'a> {}
|
||||
|
||||
pub trait Buffer<'a, R: Resources<'a>> {
|
||||
//~^ NOTE the lifetime 'a as defined on the trait at 13:0...
|
||||
//~^ NOTE the lifetime 'a as defined on the trait at 13:1...
|
||||
//~| NOTE ...does not necessarily outlive the lifetime 'a as defined on the trait
|
||||
|
||||
fn select(&self) -> BufferViewHandle<R>;
|
||||
@ -22,7 +22,7 @@ pub trait Buffer<'a, R: Resources<'a>> {
|
||||
//~| ERROR mismatched types
|
||||
//~| lifetime mismatch
|
||||
//~| NOTE expected type `Resources<'_>`
|
||||
//~| NOTE the anonymous lifetime #1 defined on the method body at 17:4...
|
||||
//~| NOTE the anonymous lifetime #1 defined on the method body at 17:5...
|
||||
}
|
||||
|
||||
pub struct BufferViewHandle<'a, R: 'a+Resources<'a>>(&'a R);
|
||||
|
@ -4,14 +4,14 @@ error[E0312]: lifetime of reference outlives lifetime of borrowed content...
|
||||
12 | if x > y { x } else { y }
|
||||
| ^
|
||||
|
|
||||
note: ...the reference is valid for the lifetime 'a as defined on the function body at 11:0...
|
||||
note: ...the reference is valid for the lifetime 'a as defined on the function body at 11:1...
|
||||
--> $DIR/ex1-return-one-existing-name-if-else.rs:11:1
|
||||
|
|
||||
11 | / fn foo<'a>(x: &'a i32, y: &i32) -> &'a i32 {
|
||||
12 | | if x > y { x } else { y }
|
||||
13 | | }
|
||||
| |_^
|
||||
note: ...but the borrowed content is only valid for the anonymous lifetime #1 defined on the function body at 11:0
|
||||
note: ...but the borrowed content is only valid for the anonymous lifetime #1 defined on the function body at 11:1
|
||||
--> $DIR/ex1-return-one-existing-name-if-else.rs:11:1
|
||||
|
|
||||
11 | / fn foo<'a>(x: &'a i32, y: &i32) -> &'a i32 {
|
||||
|
@ -6,14 +6,14 @@ error[E0308]: mismatched types
|
||||
|
|
||||
= note: expected type `Ref<'a, _>`
|
||||
found type `Ref<'_, _>`
|
||||
note: the anonymous lifetime #2 defined on the function body at 15:0...
|
||||
note: the anonymous lifetime #2 defined on the function body at 15:1...
|
||||
--> $DIR/ex2a-push-one-existing-name.rs:15:1
|
||||
|
|
||||
15 | / fn foo<'a>(x: &mut Vec<Ref<'a, i32>>, y: Ref<i32>) {
|
||||
16 | | x.push(y);
|
||||
17 | | }
|
||||
| |_^
|
||||
note: ...does not necessarily outlive the lifetime 'a as defined on the function body at 15:0
|
||||
note: ...does not necessarily outlive the lifetime 'a as defined on the function body at 15:1
|
||||
--> $DIR/ex2a-push-one-existing-name.rs:15:1
|
||||
|
|
||||
15 | / fn foo<'a>(x: &mut Vec<Ref<'a, i32>>, y: Ref<i32>) {
|
||||
|
@ -6,14 +6,14 @@ error[E0308]: mismatched types
|
||||
|
|
||||
= note: expected type `Ref<'_, _>`
|
||||
found type `Ref<'_, _>`
|
||||
note: the anonymous lifetime #3 defined on the function body at 15:0...
|
||||
note: the anonymous lifetime #3 defined on the function body at 15:1...
|
||||
--> $DIR/ex2b-push-no-existing-names.rs:15:1
|
||||
|
|
||||
15 | / fn foo(x: &mut Vec<Ref<i32>>, y: Ref<i32>) {
|
||||
16 | | x.push(y);
|
||||
17 | | }
|
||||
| |_^
|
||||
note: ...does not necessarily outlive the anonymous lifetime #2 defined on the function body at 15:0
|
||||
note: ...does not necessarily outlive the anonymous lifetime #2 defined on the function body at 15:1
|
||||
--> $DIR/ex2b-push-no-existing-names.rs:15:1
|
||||
|
|
||||
15 | / fn foo(x: &mut Vec<Ref<i32>>, y: Ref<i32>) {
|
||||
|
@ -4,7 +4,7 @@ error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` d
|
||||
16 | let z = Ref { data: y.data };
|
||||
| ^^^
|
||||
|
|
||||
note: first, the lifetime cannot outlive the lifetime 'c as defined on the function body at 15:0...
|
||||
note: first, the lifetime cannot outlive the lifetime 'c as defined on the function body at 15:1...
|
||||
--> $DIR/ex2c-push-inference-variable.rs:15:1
|
||||
|
|
||||
15 | / fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) {
|
||||
@ -17,7 +17,7 @@ note: ...so that reference does not outlive borrowed content
|
||||
|
|
||||
16 | let z = Ref { data: y.data };
|
||||
| ^^^^^^
|
||||
note: but, the lifetime must be valid for the lifetime 'b as defined on the function body at 15:0...
|
||||
note: but, the lifetime must be valid for the lifetime 'b as defined on the function body at 15:1...
|
||||
--> $DIR/ex2c-push-inference-variable.rs:15:1
|
||||
|
|
||||
15 | / fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) {
|
||||
|
@ -4,7 +4,7 @@ error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` d
|
||||
17 | let b = Ref { data: y.data };
|
||||
| ^^^
|
||||
|
|
||||
note: first, the lifetime cannot outlive the lifetime 'c as defined on the function body at 15:0...
|
||||
note: first, the lifetime cannot outlive the lifetime 'c as defined on the function body at 15:1...
|
||||
--> $DIR/ex2d-push-inference-variable-2.rs:15:1
|
||||
|
|
||||
15 | / fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) {
|
||||
@ -18,7 +18,7 @@ note: ...so that reference does not outlive borrowed content
|
||||
|
|
||||
17 | let b = Ref { data: y.data };
|
||||
| ^^^^^^
|
||||
note: but, the lifetime must be valid for the lifetime 'b as defined on the function body at 15:0...
|
||||
note: but, the lifetime must be valid for the lifetime 'b as defined on the function body at 15:1...
|
||||
--> $DIR/ex2d-push-inference-variable-2.rs:15:1
|
||||
|
|
||||
15 | / fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) {
|
||||
|
@ -4,7 +4,7 @@ error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` d
|
||||
17 | let b = Ref { data: y.data };
|
||||
| ^^^
|
||||
|
|
||||
note: first, the lifetime cannot outlive the lifetime 'c as defined on the function body at 15:0...
|
||||
note: first, the lifetime cannot outlive the lifetime 'c as defined on the function body at 15:1...
|
||||
--> $DIR/ex2e-push-inference-variable-3.rs:15:1
|
||||
|
|
||||
15 | / fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) {
|
||||
@ -18,7 +18,7 @@ note: ...so that reference does not outlive borrowed content
|
||||
|
|
||||
17 | let b = Ref { data: y.data };
|
||||
| ^^^^^^
|
||||
note: but, the lifetime must be valid for the lifetime 'b as defined on the function body at 15:0...
|
||||
note: but, the lifetime must be valid for the lifetime 'b as defined on the function body at 15:1...
|
||||
--> $DIR/ex2e-push-inference-variable-3.rs:15:1
|
||||
|
|
||||
15 | / fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user