Skip to content

Commit c61cfb0

Browse files
committed
Update E0106 error message to new format.
This fixes rust/rust-lang#35245
1 parent a0b4e67 commit c61cfb0

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/librustc_typeck/astconv.rs

+6-2
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,12 @@ impl<'o, 'gcx: 'tcx, 'tcx> AstConv<'gcx, 'tcx>+'o {
310310
None => match rscope.anon_regions(default_span, 1) {
311311
Ok(rs) => rs[0],
312312
Err(params) => {
313-
let mut err = struct_span_err!(self.tcx().sess, default_span, E0106,
314-
"missing lifetime specifier");
313+
let ampersand_span = Span { hi: default_span.lo, ..default_span};
314+
315+
let mut err = struct_span_err!(self.tcx().sess, ampersand_span, E0106,
316+
"missing lifetime specifier");
317+
err.span_label(ampersand_span, &format!("expected lifetime parameter"));
318+
315319
if let Some(params) = params {
316320
report_elision_failure(&mut err, params);
317321
}

src/test/compile-fail/E0106.rs

+9-3
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,19 @@
99
// except according to those terms.
1010

1111
struct Foo {
12-
x: &bool, //~ ERROR E0106
12+
x: &bool,
13+
//~^ ERROR E0106
14+
//~| NOTE expected lifetime parameter
1315
}
1416
enum Bar {
1517
A(u8),
16-
B(&bool), //~ ERROR E0106
18+
B(&bool),
19+
//~^ ERROR E0106
20+
//~| NOTE expected lifetime parameter
1721
}
18-
type MyStr = &str; //~ ERROR E0106
22+
type MyStr = &str;
23+
//~^ ERROR E0106
24+
//~| NOTE expected lifetime parameter
1925

2026
fn main() {
2127
}

0 commit comments

Comments
 (0)