Commit graph

521 commits

Author SHA1 Message Date
Guillaume Gomez
3390ff97b2 Add error code to inner doc comment attribute error 2020-04-22 11:08:50 +02:00
Shotaro Yamada
33905adc5f Remove unused dependencies 2020-04-20 17:59:27 +09:00
Josh Stone
7b005c5fcb Dogfood more or_patterns in the compiler 2020-04-19 07:33:58 -07:00
Tshepang Lekhonkhobe
fcbefae017 remove build warnings
Code blocks that are not annotated are assumed to be Rust
2020-04-18 22:32:23 +02:00
Duddino
79abac863e Improved try_macro_suggestion function 2020-04-17 20:14:27 +02:00
Duddino
67128f1e4a Improved try_macro_suggestion 2020-04-17 19:10:29 +02:00
Duddino
d3f5c274c6 Moved is_try check into try_macro_suggestion 2020-04-17 18:26:39 +02:00
Duddino
ba61fe432a Account for use of try!() in 2018 edition and guide users in the right direction 2020-04-17 14:08:08 +02:00
Bastian Kauschke
81a3cd7278 allow try as scrutinee, e.g. match try ... 2020-04-14 18:39:20 +02:00
Mazdak Farrokhzad
5cb5ddeb3c .unwrap() less on .span_to_snippet() 2020-04-03 03:17:40 +02:00
Mazdak Farrokhzad
03591e8a78
Rollup merge of #70421 - Centril:recover-const-async-fn-ptr, r=estebank
parse: recover on `const fn()` / `async fn()`

Recover on `const fn()` and `async fn()` function pointers, suggesting to remove the qualifier.
For example:
```
error: an `fn` pointer type cannot be `async`
  --> $DIR/recover-const-async-fn-ptr.rs:6:11
   |
LL | type T3 = async fn();
   |           -----^^^^^
   |           |
   |           `async` because of this
   |           help: remove the `async` qualifier
```

r? @estebank
2020-04-02 14:27:54 +02:00
Mazdak Farrokhzad
c739465b1b
Rollup merge of #70522 - rcoh:60762-raw-string-errors, r=petrochenkov
Improve error messages for raw strings (#60762)

This diff improves error messages around raw strings in a few ways:
- Catch extra trailing `#` in the parser. This can't be handled in the lexer because we could be in a macro that actually expects another # (see test)
- Refactor & unify error handling in the lexer between ByteStrings and RawByteStrings
- Detect potentially intended terminators (longest sequence of "#*" is suggested)

Fixes #60762
cc @estebank who reviewed the original (abandoned) PR for the same ticket.
r? @Centril
2020-04-01 14:32:14 +02:00
Dylan DPC
81f19ec909
Rollup merge of #70556 - Centril:fix-70552, r=estebank
parse_and_disallow_postfix_after_cast: account for `ExprKind::Err`.

Fixes https://github.com/rust-lang/rust/issues/70552.

r? @estebank
cc @daboross
2020-04-01 00:27:22 +02:00
Russell Cohen
20e21902bb Clean up redudant conditions and match exprs 2020-03-30 12:39:40 -04:00
Tshepang Lekhonkhobe
d6f71f0c9a remove obsolete comment
Made obsolete by b5e35b128e
2020-03-30 13:38:17 +02:00
Mazdak Farrokhzad
96d7353678 parse_and_disallow_postfix_after_cast: account for ExprKind::Err. 2020-03-30 09:55:57 +02:00
Russell Cohen
bceab25d6c Cleanup match expression 2020-03-29 12:02:28 -04:00
Russell Cohen
c15f86b4b3 Cleanup error messages, improve docstrings 2020-03-29 11:12:48 -04:00
Mazdak Farrokhzad
59a69708e1 reduce rustc_attr usage in places 2020-03-29 12:01:11 +02:00
Russell Cohen
629e97a5a0 Improve error messages for raw strings (#60762)
This diff improves error messages around raw strings in a few ways:
- Catch extra trailing `#` in the parser. This can't be handled in the lexer because we could be in a macro that actually expects another # (see test)
- Refactor & unify error handling in the lexer between ByteStrings and RawByteStrings
- Detect potentially intended terminators (longest sequence of "#*" is suggested)
2020-03-29 00:43:43 -04:00
Mazdak Farrokhzad
2ddc35997c address some review comments 2020-03-27 09:29:38 +01:00
Mazdak Farrokhzad
2972bb37b8 parse: improve recovery for assoc eq constraints. 2020-03-27 07:39:15 +01:00
Mazdak Farrokhzad
f91de44d07 extract parse_generic_arg 2020-03-27 07:39:15 +01:00
Mazdak Farrokhzad
aa4999ec69 parse_angle_arg: parse constraints first 2020-03-27 07:39:14 +01:00
Mazdak Farrokhzad
abce4881e0 split parse_angle_args into loop / single step 2020-03-27 07:39:14 +01:00
Mazdak Farrokhzad
91194f795c parse: move constraint/arg restriction to ast_validation. 2020-03-27 07:39:14 +01:00
Dylan DPC
ef43cdee28
Rollup merge of #70428 - Centril:move-to-mod, r=petrochenkov
`error_bad_item_kind`: add help text

For example, this adds:
```
    = help: consider moving the `use` import out to a nearby module scope
```
r? @petrochenkov @estebank

Fixes https://github.com/rust-lang/rust/issues/37205.
2020-03-26 21:44:06 +01:00
Mazdak Farrokhzad
91c68c5fae error_bad_item_kind: add help text 2020-03-26 14:13:50 +01:00
Mazdak Farrokhzad
af1146bd23 parse: recover on const fn() / async fn(). 2020-03-26 09:44:11 +01:00
Rakshith Ravi
73c82030e8 Throw error when encountering ... instead of .. while destructing a pattern
Added tests and stderr output
2020-03-26 13:25:34 +05:30
Mazdak Farrokhzad
9fa4953aa4
Rollup merge of #69878 - estebank:chained-ops, r=Centril
Tweak chained operators diagnostic

Use more selective spans
Improve suggestion output
Be more selective when displaying suggestions
Silence some knock-down type errors

r? @Centril
2020-03-26 03:21:27 +01:00
Esteban Küber
4832f3fd5d review comments 2020-03-25 18:10:18 -07:00
Esteban Küber
89571a1bbc Tweak chained operators diagnostic
Use more selective spans
Improve suggestion output
Be more selective when displaying suggestions
Silence some knock-down type errors
2020-03-25 17:13:04 -07:00
Esteban Küber
f18a6dcec0 Rename def_span to guess_head_span 2020-03-25 16:45:12 -07:00
Mazdak Farrokhzad
8dda61792b
Rollup merge of #70248 - Centril:unroot, r=petrochenkov
parser: simplify & remove unused field

r? @petrochenkov
2020-03-23 04:26:12 +01:00
Dylan DPC
8fe8bad96b
Rollup merge of #70254 - matthiaskrgr:cl4ppy, r=Centril
couple more clippy fixes (let_and_return, if_same_then_else)

* summarize if-else-code with identical blocks (clippy::if_same_then_else)
* don't create variable bindings just to return the bound value immediately (clippy::let_and_return)
2020-03-22 15:48:41 +01:00
Dylan DPC
ea44d71f9b
Rollup merge of #70209 - Centril:recover-quant-closure, r=petrochenkov
parser: recover on `for<'a> |...| body` closures

When encountering `for` and `<` is 1 token ahead, interpret this as an explicitly quantified generic closure and recover, rather than attempting to parse a `for` loop. This provides both improved diagnostics as well as an insurance policy for the ability to use this as the syntax for generic closures in the future.

As requested by r? @eddyb
2020-03-22 15:48:32 +01:00
Dylan DPC
9890d9a9d0
Rollup merge of #70172 - eddyb:retokenize-external-src, r=petrochenkov
parse/lexer: support `StringReader::retokenize` called on external files.

This ~~should theoretically~~ fixes #69933, ~~but I'm not sure what the best way to test it is~~.
**EDIT**: see https://github.com/rust-lang/rust/issues/69933#issuecomment-602019598.

r? @petrochenkov cc @Xanewok @staktrace
2020-03-22 15:48:30 +01:00
Matthias Krüger
74d68ea7eb don't create variable bindings just to return the bound value immediately (clippy::let_and_return) 2020-03-22 00:35:25 +01:00
Mazdak Farrokhzad
eaa0ae503f parse: nix new_sub_parser_from_file 2020-03-22 00:35:20 +01:00
Matthias Krüger
3599fd389d summarize if-else-code with identical blocks (clippy::if_same_then_else) 2020-03-22 00:34:16 +01:00
Mazdak Farrokhzad
d18ed205c9 parse: nix unused root_module_name. 2020-03-21 22:51:03 +01:00
Mazdak Farrokhzad
4d30b92e3e recover on for<'a> |...| body closures. 2020-03-21 09:54:03 +01:00
Mazdak Farrokhzad
3e6b1ac964
Rollup merge of #70187 - matthiaskrgr:cl2ppy, r=Mark-Simulacrum
more clippy fixes

    * remove redundant returns (clippy::needless_return)
    * remove redundant import (clippy::single_component_path_imports)
    * remove redundant format!() call (clippy::useless_format)
    * don't use ok() before calling expect() (clippy::ok_expect)
2020-03-21 05:33:31 +01:00
Matthias Krüger
ad00e91887 remove redundant returns (clippy::needless_return) 2020-03-20 20:23:03 +01:00
Mazdak Farrokhzad
9b9a22cd2e can_begin_literal_maybe_minus: true on "-"? lit NTs. 2020-03-20 16:42:53 +01:00
Eduard-Mihai Burtescu
6f6fe38b19 parse/lexer: support StringReader::retokenize called on external files. 2020-03-20 08:00:06 +02:00
Mazdak Farrokhzad
e301291cb6 fix rebase fallout 2020-03-18 15:08:25 +01:00
Mazdak Farrokhzad
fe71342091 tweak outline module parsing spans 2020-03-18 15:08:25 +01:00
Mazdak Farrokhzad
7d0e5bbb67 parser/expand: minor cleanup 2020-03-18 15:08:25 +01:00