Skip to content

Commit

Permalink
Auto merge of #46857 - estebank:use-loop-sp, r=nikomatsakis
Browse files Browse the repository at this point in the history
Point at `while true` span instead of entire block
  • Loading branch information
bors committed Dec 23, 2017
2 parents f0cf23e + e9f4fc8 commit 565907f
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 28 deletions.
6 changes: 2 additions & 4 deletions src/librustc_lint/builtin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,9 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for WhileTrue {
if let ast::LitKind::Bool(true) = lit.node {
if lit.span.ctxt() == SyntaxContext::empty() {
let msg = "denote infinite loops with `loop { ... }`";
let mut err = cx.struct_span_lint(WHILE_TRUE, e.span, msg);
let condition_span = cx.tcx.sess.codemap().def_span(e.span);
err.span_suggestion_short(condition_span,
"use `loop`",
"loop".to_owned());
let mut err = cx.struct_span_lint(WHILE_TRUE, condition_span, msg);
err.span_suggestion_short(condition_span, "use `loop`", "loop".to_owned());
err.emit();
}
}
Expand Down
4 changes: 1 addition & 3 deletions src/test/ui/codemap_tests/unicode_3.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ warning: denote infinite loops with `loop { ... }`
--> $DIR/unicode_3.rs:14:45
|
14 | let s = "ZͨA͑ͦ͒͋ͤ͑̚L̄͑͋Ĝͨͥ̿͒̽̈́Oͥ͛ͭ!̏"; while true { break; }
| ----------^^^^^^^^^^^
| |
| help: use `loop`
| ^^^^^^^^^^ help: use `loop`
|
= note: #[warn(while_true)] on by default

11 changes: 2 additions & 9 deletions src/test/ui/issue-1962.stderr
Original file line number Diff line number Diff line change
@@ -1,15 +1,8 @@
error: denote infinite loops with `loop { ... }`
--> $DIR/issue-1962.rs:14:3
|
14 | while true { //~ ERROR denote infinite loops with `loop
| ^---------
| |
| ___help: use `loop`
| |
15 | | i += 1;
16 | | if i == 5 { break; }
17 | | }
| |___^
14 | while true { //~ ERROR denote infinite loops with `loop
| ^^^^^^^^^^ help: use `loop`
|
= note: requested on the command line with `-D while-true`

Expand Down
14 changes: 2 additions & 12 deletions src/test/ui/lint/suggestions.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -75,18 +75,8 @@ warning: function is marked #[no_mangle], but not exported
warning: denote infinite loops with `loop { ... }`
--> $DIR/suggestions.rs:34:5
|
34 | while true { // should suggest `loop`
| ^---------
| |
| _____help: use `loop`
| |
35 | | //~^ WARN denote infinite loops
36 | | let mut a = (1); // should suggest no `mut`, no parens
37 | | //~^ WARN does not need to be mutable
... |
44 | | println!("{}", a);
45 | | }
| |_____^
34 | while true { // should suggest `loop`
| ^^^^^^^^^^ help: use `loop`
|
= note: #[warn(while_true)] on by default

Expand Down

0 comments on commit 565907f

Please sign in to comment.