about summary refs log tree commit diff
path: root/src/librustc_parse/parser
AgeCommit message (Collapse)AuthorLines
2020-02-17Auto merge of #69129 - Centril:macro-legacy-errors, r=petrochenkovbors-53/+9
Transition macro_legacy_warnings into a hard error Fixes https://github.com/rust-lang/rust/issues/67098. r? @petrochenkov
2020-02-17Rollup merge of #69186 - petrochenkov:kwrules, r=CentrilYuki Okushi-2/+2
[tiny] parser: `macro_rules` is a weak keyword r? @Centril
2020-02-17Rename `FunctionRetTy` to `FnRetTy`Yuki Okushi-10/+6
2020-02-15Remove extra debug print in unreachable!David Ross-2/+1
2020-02-15Keep better fix suggestion if type ascription is likely unintendedDavid Ross-9/+15
2020-02-15Type ascription outputs a Type, not CastDavid Ross-1/+3
Previously this just errored out on all usages of type ascription, which isn't helpful.
2020-02-15Refactor out error case & apply suggestions.David Ross-20/+42
This is almost entirely refactoring and message changing, with the single behavioral change of panicking for unexpected output.
2020-02-15Parse & reject postfix operators after castsDavid Ross-2/+39
This adds parsing for expressions like 'x as Ty[0]' which will immediately error out, but still give the rest of the parser a valid parse tree to continue.
2020-02-15reject assoc statics & extern consts during parsingMazdak Farrokhzad-1/+26
2020-02-15Record proc macro harness order for use during metadata deserializationAaron Hill-0/+2
Fixes #68690 When we generate the proc macro harness, we now explicitly recorder the order in which we generate entries. We then use this ordering data to deserialize the correct proc-macro-data from the crate metadata.
2020-02-15fuse extern & associated item parsing up to defaultnessMazdak Farrokhzad-77/+39
2020-02-15parse extern constsMazdak Farrokhzad-21/+6
2020-02-15parse associated statics.Mazdak Farrokhzad-10/+8
2020-02-15ast/parser: fuse `static` & `const` grammars in all contexts.Mazdak Farrokhzad-16/+21
2020-02-15ast: make `= <expr>;` optional in free statics/consts.Mazdak Farrokhzad-11/+8
2020-02-15ast: normalize `ForeignItemKind::Ty` & `AssocItemKind::TyAlias`.Mazdak Farrokhzad-5/+7
2020-02-15ast: move Generics into AssocItemKindsMazdak Farrokhzad-8/+8
2020-02-15parser: `macro_rules` is a weak keywordVadim Petrochenkov-2/+2
2020-02-14Suggest a comma if a struct initializer field fails to parseAaron Hill-1/+7
Currently, we emit a "try adding a comma" suggestion if a comma is missing in a struct definition. However, we emit no such suggestion if a comma is missing in a struct initializer. This commit adds a "try adding a comma" suggestion when we don't find a comma during the parsing of a struct initializer field. The change to `src/test/ui/parser/removed-syntax-with-1.stderr` isn't great, but I don't see a good way of avoiding it.
2020-02-13parser: inline parse_assoc_macro_invocMazdak Farrokhzad-20/+10
2020-02-13parser: misc small item related improvements & cleanups.Mazdak Farrokhzad-150/+131
2020-02-13parser: extract `recover_const_mut`.Mazdak Farrokhzad-13/+17
2020-02-13parser: fuse `trait` parsing & layer with `is_path_start_item`Mazdak Farrokhzad-35/+27
2020-02-13parser: make `eat_macro_def` redundant.Mazdak Farrokhzad-33/+12
2020-02-13parser: remove `Option<Vec<Attribute>>` in `ItemInfo`.Mazdak Farrokhzad-59/+50
2020-02-13parser_item_mod: avoid cloning outer attributesMazdak Farrokhzad-15/+13
2020-02-13parser: introduce `parse_item_kind` as central `ItemInfo` logic.Mazdak Farrokhzad-192/+156
this also extracts macro item parsers.
2020-02-13parser: extract `recover_missing_kw_before_item`Mazdak Farrokhzad-84/+90
2020-02-13parser: unify item list parsing.Mazdak Farrokhzad-56/+46
as a consequence, `trait X { #![attr] }` becomes legal.
2020-02-13parser: extract common foreign item code for each kindMazdak Farrokhzad-67/+21
2020-02-13macro_legacy_warnings -> errorMazdak Farrokhzad-53/+9
2020-02-13parser: is_fn_front_matter -> check_fn_front_matterMazdak Farrokhzad-4/+4
2020-02-13parser: simplify ParamCfg -> ReqNameMazdak Farrokhzad-30/+18
2020-02-13parser: address review commentsMazdak Farrokhzad-1/+1
2020-02-13parser: move `ban_async_in_2015` to `fn` parsing & improve it.Mazdak Farrokhzad-13/+12
2020-02-13parser: inline `parse_assoc_fn` and friends.Mazdak Farrokhzad-42/+21
2020-02-13parser: solidify `fn` parsing with `parse_fn`.Mazdak Farrokhzad-23/+30
2020-02-13parser: fuse free `fn` parsing together.Mazdak Farrokhzad-86/+25
2020-02-13parser_fn_front_matter: allow `const .. extern`Mazdak Farrokhzad-54/+53
2020-02-13IsAsync -> enum Async { Yes { span: Span, .. }, No }Mazdak Farrokhzad-41/+16
use new span for better diagnostics.
2020-02-13Constness -> enum Const { Yes(Span), No }Mazdak Farrokhzad-46/+43
Same idea for `Unsafety` & use new span for better diagnostics.
2020-02-13Rollup merge of #68848 - nnethercote:hasten-macro-parsing, r=petrochenkovDylan DPC-8/+7
Hasten macro parsing r? @eddyb
2020-02-12Rollup merge of #68981 - estebank:silence, r=davidtwcoDylan DPC-1/+1
Account for type params on method without parentheses Account for those type parameters in the structured suggestion when forgetting to call method: ``` error[E0615]: attempted to take value of method `collect` on type `std::vec::IntoIter<_>` --> $DIR/method-missing-parentheses.rs:2:32 | LL | let _ = vec![].into_iter().collect::<usize>; | ^^^^^^^--------- | | | help: use parentheses to call the method: `collect::<usize>()` ```
2020-02-12Rollup merge of #69034 - petrochenkov:notokind, r=CentrilDylan DPC-56/+25
parser: Remove `Parser::prev_token_kind` Follow-up to https://github.com/rust-lang/rust/pull/69006. r? @Centril
2020-02-11Run RustFmtjumbatm-1/+3
2020-02-11Invert control in struct_lint_level.jumbatm-5/+5
Caller now passes in a `decorate` function, which is only run if the lint is allowed.
2020-02-11Auto merge of #68929 - matprec:consistent-issue-references, r=Dylan-DPCbors-3/+6
Make issue references consistent Fixes https://github.com/rust-lang/rust/issues/62976 cc https://github.com/rust-lang/rust/pull/63008 r? @varkor because you reviewed the original pr
2020-02-10review comment: wordingEsteban Küber-1/+1
2020-02-10parser: Remove `Parser::prev_token_kind`Vadim Petrochenkov-56/+25
2020-02-10Rollup merge of #69014 - dwrensha:fix-68890, r=CentrilDylan DPC-1/+4
change an instance of span_bug() to struct_span_err() to avoid ICE After #67148, the `span_bug()` in `parse_ty_tuple_or_parens()` is reachable because `parse_paren_comma_seq()` can return an `Ok()` even in cases where it encounters an error. This pull request prevents an ICE in such cases by replacing the `span_bug()` with `struct_span_error()`. Fixes #68890.