summary refs log tree commit diff
path: root/src/librustc_parse/parser
AgeCommit message (Collapse)AuthorLines
2020-03-21recover on `for<'a> |...| body` closures.Mazdak Farrokhzad-14/+40
2020-03-21Rollup merge of #70187 - matthiaskrgr:cl2ppy, r=Mark-SimulacrumMazdak Farrokhzad-8/+8
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-20remove redundant returns (clippy::needless_return)Matthias Krüger-8/+8
2020-03-20can_begin_literal_maybe_minus: `true` on `"-"? lit` NTs.Mazdak Farrokhzad-2/+3
2020-03-18fix rebase falloutMazdak Farrokhzad-7/+4
2020-03-18tweak outline module parsing spansMazdak Farrokhzad-1/+1
2020-03-18{rustc_parse::parser -> rustc_expand}::moduleMazdak Farrokhzad-307/+0
2020-03-18move Directory -> parser::moduleMazdak Farrokhzad-3/+18
2020-03-18parse: module parsing -> item.rsMazdak Farrokhzad-65/+66
2020-03-18outline modules: parse -> expand.Mazdak Farrokhzad-98/+50
2020-03-18extract error_on_circular_moduleMazdak Farrokhzad-9/+19
2020-03-18extract parse_external_moduleMazdak Farrokhzad-5/+15
2020-03-18de-fatalize outline module parsingMazdak Farrokhzad-20/+17
2020-03-18expand: use push_directoryMazdak Farrokhzad-2/+2
2020-03-18decouple eval_src_mod from ParserMazdak Farrokhzad-40/+29
2020-03-18decouple push_directory from ParserMazdak Farrokhzad-18/+23
2020-03-18detach submod_path from ParserMazdak Farrokhzad-187/+192
2020-03-18extract error_on_circular_moduleMazdak Farrokhzad-10/+20
2020-03-18extract parse_modMazdak Farrokhzad-17/+18
2020-03-18submod_path: use id.spanMazdak Farrokhzad-7/+5
2020-03-18simplify submod_pathMazdak Farrokhzad-14/+12
2020-03-18extract error_decl_mod_in_blockMazdak Farrokhzad-13/+12
2020-03-18extract error_cannot_declare_mod_hereMazdak Farrokhzad-27/+27
2020-03-18submod_path_from_attr: simplify & documentMazdak Farrokhzad-12/+13
2020-03-16Rollup merge of #69989 - petrochenkov:nolegacy, r=eddyb,matthewjasperDylan DPC-3/+3
resolve/hygiene: `macro_rules` are not "legacy" The "modern" vs "legacy" naming was introduced by jseyfried during initial implementation of macros 2.0. At this point it's clear that `macro_rules` are not going anywhere and won't be deprecated in the near future. So this PR changes the naming "legacy" (when it implies "macro_rules") to "macro_rules". This should also help people reading this code because it's wasn't obvious that "legacy" actually meant "macro_rules" in these contexts. The most contentious renaming here is probably ``` fn modern -> fn normalize_to_macros_2_0 fn modern_and_legacy -> fn normalize_to_macro_rules ``` Other alternatives that I could think of are `normalize_to_opaque`/`normalize_to_semitransparent`, or `strip_non_opaque`/`strip_transparent`, but they seemed less intuitive. The documentation to these functions can be found in `symbol.rs`. r? @matthewjasper
2020-03-16Rollup merge of #69520 - kornelski:e69492, r=cramertjDylan DPC-25/+10
Make error message clearer about creating new module This is a partial improvement for #69492
2020-03-16Other `legacy` -> `macro_rules`Vadim Petrochenkov-1/+1
2020-03-16ast/hir: `MacroDef::legacy` -> `MacroDef::macro_rules`Vadim Petrochenkov-2/+2
2020-03-15Rollup merge of #69589 - petrochenkov:maccall, r=CentrilMazdak Farrokhzad-31/+23
ast: `Mac`/`Macro` -> `MacCall` It's now obvious that these refer to macro calls rather than to macro definitions. It's also a single name instead of two different names in different places. `rustc_expand` usually calls macro calls in a wide sense (including attributes and derives) "macro invocations", but structures and variants renamed in this PR are only relevant to fn-like macros, so it's simpler and clearer to just call them calls. cc https://github.com/rust-lang/rust/pull/63586#discussion_r314232513 r? @eddyb
2020-03-12ast: `Mac`/`Macro` -> `MacCall`Vadim Petrochenkov-31/+23
2020-03-12Rollup merge of #69722 - estebank:negative-impl-span-ast, r=CentrilMazdak Farrokhzad-7/+11
Tweak output for invalid negative impl AST errors Use more accurate spans for negative `impl` errors. r? @Centril
2020-03-11Rollup merge of #69760 - Centril:parse-expr-improve, r=estebankMazdak Farrokhzad-240/+281
Improve expression & attribute parsing This PR includes misc improvements to expression and attribute parsing. 1. Some code simplifications 2. Better recovery for various block forms, e.g. `loop statements }` (missing `{` after `loop`). (See e.g., `block-no-opening-brace.rs` among others for examples.) 3. Added recovery for e.g., `unsafe $b` where `$b` refers to a `block` macro fragment. (See `bad-interpolated-block.rs` for examples.) 4. ^--- These are done so that code sharing in block parsing is increased. 5. Added recovery for e.g., `'label: loop { ... }` (See `labeled-no-colon-expr.rs`.) 6. Added recovery for e.g., `&'lifetime expr` (See `regions-out-of-scope-slice.rs`.) 7. Added recovery for e.g., `fn foo() = expr;` (See `fn-body-eq-expr-semi.rs`.) 8. Simplified attribute parsing code & slightly improved diagnostics. 9. Added recovery for e.g., `Box<('a) + Trait>`. 10. Added recovery for e.g, `if true #[attr] {} else #[attr] {} else #[attr] if true {}`. r? @estebank
2020-03-10parse: Tweak the function parameter edition checkVadim Petrochenkov-3/+1
Move anon-params tests to ui/anon-params.
2020-03-10parse_if_expr: recover on attributesMazdak Farrokhzad-8/+38
2020-03-10trait-object-lifetime-parens: improve recovery.Mazdak Farrokhzad-6/+11
2020-03-10use check_path moreMazdak Farrokhzad-8/+5
2020-03-10simplify & improve parse_ty_tuple_or_parensMazdak Farrokhzad-19/+18
2020-03-10error_block_no_opening_brace: handle closures betterMazdak Farrokhzad-9/+7
2020-03-10parser: add note for `'label expr`.Mazdak Farrokhzad-0/+1
2020-03-10parser/attr: adjust indentation.Mazdak Farrokhzad-7/+5
2020-03-10parse_labeled_expr: add a suggestion on missing colon.Mazdak Farrokhzad-3/+13
2020-03-10parse_block_tail: reduce visibilityMazdak Farrokhzad-5/+1
2020-03-10unify/improve/simplify attribute parsingMazdak Farrokhzad-132/+102
2020-03-10parse: recover on `fn foo() = expr;`Mazdak Farrokhzad-1/+16
2020-03-10parse: simplify parse_fn_bodyMazdak Farrokhzad-17/+7
2020-03-10parse: recover on `&'lt $expr` / `'lt $expr`.Mazdak Farrokhzad-4/+31
2020-03-10more reuse in block parsing & improve diagnostics.Mazdak Farrokhzad-13/+20
2020-03-10simplify parse_inner_attributesMazdak Farrokhzad-6/+2
2020-03-10use error_block_no_opening_brace moreMazdak Farrokhzad-1/+5
2020-03-10parse_labeled_expr: simplifyMazdak Farrokhzad-15/+13