Rollup merge of #35552 - theypsilon:master, r=jonathandturner
Update error message E0384 to new format Part of #35233 Fixes #35184 r? @jonathandturner
This commit is contained in:
commit
b758688505
@ -760,12 +760,16 @@ impl<'a, 'tcx> BorrowckCtxt<'a, 'tcx> {
|
||||
lp: &LoanPath<'tcx>,
|
||||
assign:
|
||||
&move_data::Assignment) {
|
||||
struct_span_err!(
|
||||
let mut err = struct_span_err!(
|
||||
self.tcx.sess, span, E0384,
|
||||
"re-assignment of immutable variable `{}`",
|
||||
self.loan_path_to_string(lp))
|
||||
.span_note(assign.span, "prior assignment occurs here")
|
||||
.emit();
|
||||
self.loan_path_to_string(lp));
|
||||
err.span_label(span, &format!("re-assignment of immutable variable"));
|
||||
if span != assign.span {
|
||||
err.span_label(assign.span, &format!("first assignment to `{}`",
|
||||
self.loan_path_to_string(lp)));
|
||||
}
|
||||
err.emit();
|
||||
}
|
||||
|
||||
pub fn span_err(&self, s: Span, m: &str) {
|
||||
|
@ -18,11 +18,12 @@ fn foo(x: isize) { println!("{}", x); }
|
||||
target_arch = "aarch64"))]
|
||||
pub fn main() {
|
||||
let x: isize;
|
||||
x = 1; //~ NOTE prior assignment occurs here
|
||||
x = 1; //~ NOTE first assignment
|
||||
foo(x);
|
||||
unsafe {
|
||||
asm!("mov $1, $0" : "=r"(x) : "r"(5));
|
||||
//~^ ERROR re-assignment of immutable variable `x`
|
||||
//~| NOTE re-assignment of immutable
|
||||
//~| NOTE in this expansion of asm!
|
||||
}
|
||||
foo(x);
|
||||
|
@ -10,9 +10,10 @@
|
||||
|
||||
fn test() {
|
||||
let v: isize;
|
||||
v = 1; //~ NOTE prior assignment occurs here
|
||||
v = 1; //~ NOTE first assignment
|
||||
println!("v={}", v);
|
||||
v = 2; //~ ERROR re-assignment of immutable variable
|
||||
//~| NOTE re-assignment of immutable
|
||||
println!("v={}", v);
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ fn test() {
|
||||
let v: isize;
|
||||
loop {
|
||||
v = 1; //~ ERROR re-assignment of immutable variable
|
||||
//~^ NOTE prior assignment occurs here
|
||||
//~^ NOTE re-assignment of immutable variable
|
||||
v.clone(); // just to prevent liveness warnings
|
||||
}
|
||||
}
|
||||
|
@ -10,8 +10,9 @@
|
||||
|
||||
fn test() {
|
||||
let v: isize;
|
||||
v = 2; //~ NOTE prior assignment occurs here
|
||||
v = 2; //~ NOTE first assignment
|
||||
v += 1; //~ ERROR re-assignment of immutable variable
|
||||
//~| NOTE re-assignment of immutable
|
||||
v.clone();
|
||||
}
|
||||
|
||||
|
@ -9,9 +9,10 @@
|
||||
// except according to those terms.
|
||||
|
||||
fn test() {
|
||||
let v: isize = 1; //~ NOTE prior assignment occurs here
|
||||
let v: isize = 1; //~ NOTE first assignment
|
||||
v.clone();
|
||||
v = 2; //~ ERROR re-assignment of immutable variable
|
||||
//~| NOTE re-assignment of immutable
|
||||
v.clone();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user