about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser
AgeCommit message (Collapse)AuthorLines
2019-08-14Rollup merge of #62984 - nathanwhit:extra_semi_lint, r=varkorMazdak Farrokhzad-1/+16
Add lint for excess trailing semicolons Closes #60876. A caveat (not necessarily a negative, but something to consider) with this implementation is that excess semicolons after return/continue/break now also cause an 'unreachable statement' warning. For the following example: ``` fn main() { extra_semis(); } fn extra_semis() -> i32 { let mut sum = 0;;; for i in 0..10 { if i == 5 { continue;; } else if i == 9 { break;; } else { sum += i;; } } return sum;; } ``` The output is: ``` warning: unnecessary trailing semicolons --> src/main.rs:5:21 | 5 | let mut sum = 0;;; | ^^ help: remove these semicolons | = note: `#[warn(redundant_semicolon)]` on by default warning: unnecessary trailing semicolon --> src/main.rs:8:22 | 8 | continue;; | ^ help: remove this semicolon warning: unnecessary trailing semicolon --> src/main.rs:10:19 | 10 | break;; | ^ help: remove this semicolon warning: unnecessary trailing semicolon --> src/main.rs:12:22 | 12 | sum += i;; | ^ help: remove this semicolon warning: unnecessary trailing semicolon --> src/main.rs:15:16 | 15 | return sum;; | ^ help: remove this semicolon warning: unreachable statement --> src/main.rs:8:22 | 8 | continue;; | ^ | = note: `#[warn(unreachable_code)]` on by default warning: unreachable statement --> src/main.rs:10:19 | 10 | break;; | ^ warning: unreachable statement --> src/main.rs:15:16 | 15 | return sum;; | ^ ```
2019-08-14Rollup merge of #63530 - ehuss:typo-statemement, r=centrilMazdak Farrokhzad-1/+1
Fix typo in error message.
2019-08-13Apply Centril's suggestionEric Huss-1/+1
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
2019-08-13Fix typo in error message.Eric Huss-1/+1
2019-08-12Parse excess semicolons as empty stmts for lintingnathanwhit-1/+16
2019-08-12Bring back suggestion for splitting `<-` into `< -`Ilija Tovilo-0/+17
Closes #62632
2019-08-11parser: {check,expect}_lifetime into ty.rsMazdak Farrokhzad-2/+18
2019-08-11parser: move into generics.rsMazdak Farrokhzad-2/+276
2019-08-11parser: move into stmt.rsMazdak Farrokhzad-6/+468
2019-08-11parser: move parse_fn_block_decl into expr.rsMazdak Farrokhzad-9/+55
2019-08-11parser: move parse_ident_or_underscore into item.rsMazdak Farrokhzad-0/+11
2019-08-11parser: split into {ty, path}.rsMazdak Farrokhzad-0/+921
2019-08-11parser: split into {item,module}.rsMazdak Farrokhzad-0/+2231
2019-08-11parser: split into pat.rsMazdak Farrokhzad-0/+634
2019-08-11parser: split into expr.rsMazdak Farrokhzad-0/+1703