Skip to content

Commit

Permalink
Rollup merge of rust-lang#56114 - varkor:nonexhaustive-backticks, r=n…
Browse files Browse the repository at this point in the history
…ikomatsakis

Enclose type in backticks for "non-exhaustive patterns" error

This makes the error style consistent with the convention in error messages.
  • Loading branch information
pietroalbini committed Nov 28, 2018
2 parents 0789658 + f039872 commit 962e210
Show file tree
Hide file tree
Showing 12 changed files with 17 additions and 17 deletions.
2 changes: 1 addition & 1 deletion src/librustc_mir/hair/pattern/check_match.rs
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ impl<'a, 'tcx> MatchVisitor<'a, 'tcx> {
if !scrutinee_is_uninhabited {
// We know the type is inhabited, so this must be wrong
let mut err = create_e0004(self.tcx.sess, scrut.span,
format!("non-exhaustive patterns: type {} \
format!("non-exhaustive patterns: type `{}` \
is non-empty",
pat_ty));
span_help!(&mut err, scrut.span,
Expand Down
4 changes: 2 additions & 2 deletions src/librustc_typeck/check/autoderef.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,15 @@ impl<'a, 'gcx, 'tcx> Iterator for Autoderef<'a, 'gcx, 'tcx> {
if self.steps.len() >= *tcx.sess.recursion_limit.get() {
// We've reached the recursion limit, error gracefully.
let suggested_limit = *tcx.sess.recursion_limit.get() * 2;
let msg = format!("reached the recursion limit while auto-dereferencing {:?}",
let msg = format!("reached the recursion limit while auto-dereferencing `{:?}`",
self.cur_ty);
let error_id = (DiagnosticMessageId::ErrorId(55), Some(self.span), msg);
let fresh = tcx.sess.one_time_diagnostics.borrow_mut().insert(error_id);
if fresh {
struct_span_err!(tcx.sess,
self.span,
E0055,
"reached the recursion limit while auto-dereferencing {:?}",
"reached the recursion limit while auto-dereferencing `{:?}`",
self.cur_ty)
.span_label(self.span, "deref recursion limit reached")
.help(&format!(
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_typeck/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@ fn main() {
let foo = Foo;
let ref_foo = &&Foo;
// error, reached the recursion limit while auto-dereferencing &&Foo
// error, reached the recursion limit while auto-dereferencing `&&Foo`
ref_foo.foo();
}
```
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/did_you_mean/recursion_limit_deref.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
error[E0055]: reached the recursion limit while auto-dereferencing I
error[E0055]: reached the recursion limit while auto-dereferencing `I`
--> $DIR/recursion_limit_deref.rs:60:22
|
LL | let x: &Bottom = &t; //~ ERROR mismatched types
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/error-codes/E0004-2.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
error[E0004]: non-exhaustive patterns: type std::option::Option<i32> is non-empty
error[E0004]: non-exhaustive patterns: type `std::option::Option<i32>` is non-empty
--> $DIR/E0004-2.rs:14:11
|
LL | match x { } //~ ERROR E0004
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/error-codes/E0055.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
error[E0055]: reached the recursion limit while auto-dereferencing Foo
error[E0055]: reached the recursion limit while auto-dereferencing `Foo`
--> $DIR/E0055.rs:21:13
|
LL | ref_foo.foo();
Expand Down
6 changes: 3 additions & 3 deletions src/test/ui/infinite/infinite-autoderef.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ LL | x = box x;
| cyclic type of infinite size
| help: try using a conversion method: `box x.to_string()`

error[E0055]: reached the recursion limit while auto-dereferencing Foo
error[E0055]: reached the recursion limit while auto-dereferencing `Foo`
--> $DIR/infinite-autoderef.rs:35:5
|
LL | Foo.foo;
| ^^^^^^^ deref recursion limit reached
|
= help: consider adding a `#![recursion_limit="128"]` attribute to your crate

error[E0055]: reached the recursion limit while auto-dereferencing Foo
error[E0055]: reached the recursion limit while auto-dereferencing `Foo`
--> $DIR/infinite-autoderef.rs:35:9
|
LL | Foo.foo;
Expand All @@ -29,7 +29,7 @@ error[E0609]: no field `foo` on type `Foo`
LL | Foo.foo;
| ^^^ unknown field

error[E0055]: reached the recursion limit while auto-dereferencing Foo
error[E0055]: reached the recursion limit while auto-dereferencing `Foo`
--> $DIR/infinite-autoderef.rs:36:9
|
LL | Foo.bar();
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issues/issue-3096-1.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
error[E0004]: non-exhaustive patterns: type () is non-empty
error[E0004]: non-exhaustive patterns: type `()` is non-empty
--> $DIR/issue-3096-1.rs:12:11
|
LL | match () { } //~ ERROR non-exhaustive
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issues/issue-3096-2.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
error[E0004]: non-exhaustive patterns: type *const bottom is non-empty
error[E0004]: non-exhaustive patterns: type `*const bottom` is non-empty
--> $DIR/issue-3096-2.rs:15:11
|
LL | match x { } //~ ERROR non-exhaustive patterns
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issues/issue-38940.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,5 @@ fn main() {
let t = Top::new();
let x: &Bottom = &t;
//~^ ERROR mismatched types
//~| ERROR reached the recursion limit while auto-dereferencing I
//~| ERROR reached the recursion limit while auto-dereferencing `I`
}
2 changes: 1 addition & 1 deletion src/test/ui/issues/issue-38940.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
error[E0055]: reached the recursion limit while auto-dereferencing I
error[E0055]: reached the recursion limit while auto-dereferencing `I`
--> $DIR/issue-38940.rs:43:22
|
LL | let x: &Bottom = &t;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ error[E0004]: non-exhaustive patterns: `Err(_)` not covered
LL | let _ = match x { //~ ERROR non-exhaustive
| ^ pattern `Err(_)` not covered

error[E0004]: non-exhaustive patterns: type &Void is non-empty
error[E0004]: non-exhaustive patterns: type `&Void` is non-empty
--> $DIR/uninhabited-matches-feature-gated.rs:20:19
|
LL | let _ = match x {}; //~ ERROR non-exhaustive
Expand All @@ -16,7 +16,7 @@ help: ensure that all possible cases are being handled, possibly by adding wildc
LL | let _ = match x {}; //~ ERROR non-exhaustive
| ^

error[E0004]: non-exhaustive patterns: type (Void,) is non-empty
error[E0004]: non-exhaustive patterns: type `(Void,)` is non-empty
--> $DIR/uninhabited-matches-feature-gated.rs:23:19
|
LL | let _ = match x {}; //~ ERROR non-exhaustive
Expand All @@ -28,7 +28,7 @@ help: ensure that all possible cases are being handled, possibly by adding wildc
LL | let _ = match x {}; //~ ERROR non-exhaustive
| ^

error[E0004]: non-exhaustive patterns: type [Void; 1] is non-empty
error[E0004]: non-exhaustive patterns: type `[Void; 1]` is non-empty
--> $DIR/uninhabited-matches-feature-gated.rs:26:19
|
LL | let _ = match x {}; //~ ERROR non-exhaustive
Expand Down

0 comments on commit 962e210

Please sign in to comment.