From 5a3ddcd771e9df8b5ed47b7aad22bf526bfd8b13 Mon Sep 17 00:00:00 2001 From: Dylan MacKenzie Date: Fri, 22 Nov 2019 16:14:24 -0800 Subject: [PATCH] Update test with improved diagnostics Now, `derived_from_illegal_borrow` is also applied to reborrows, so we don't show the user a useless error message. --- src/test/ui/consts/const-multi-ref.rs | 7 +++++-- src/test/ui/consts/const-multi-ref.stderr | 10 ++-------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/test/ui/consts/const-multi-ref.rs b/src/test/ui/consts/const-multi-ref.rs index 498e99e668b..45269042328 100644 --- a/src/test/ui/consts/const-multi-ref.rs +++ b/src/test/ui/consts/const-multi-ref.rs @@ -1,8 +1,11 @@ +// Ensure that we point the user to the erroneous borrow but not to any subsequent borrows of that +// initial one. + const _X: i32 = { let mut a = 5; - let p = &mut a; //~ ERROR references in constants may only refer to immutable values + let p = &mut a; //~ ERROR references in constants may only refer to immutable values - let reborrow = {p}; //~ ERROR references in constants may only refer to immutable values + let reborrow = {p}; let pp = &reborrow; let ppp = &pp; ***ppp diff --git a/src/test/ui/consts/const-multi-ref.stderr b/src/test/ui/consts/const-multi-ref.stderr index 9e525ef9aac..50533b0b1cc 100644 --- a/src/test/ui/consts/const-multi-ref.stderr +++ b/src/test/ui/consts/const-multi-ref.stderr @@ -1,15 +1,9 @@ error[E0017]: references in constants may only refer to immutable values - --> $DIR/const-multi-ref.rs:3:13 + --> $DIR/const-multi-ref.rs:6:13 | LL | let p = &mut a; | ^^^^^^ constants require immutable values -error[E0017]: references in constants may only refer to immutable values - --> $DIR/const-multi-ref.rs:5:21 - | -LL | let reborrow = {p}; - | ^ constants require immutable values - -error: aborting due to 2 previous errors +error: aborting due to previous error For more information about this error, try `rustc --explain E0017`.