about summary refs log tree commit diff
path: root/src/libsyntax/parse
AgeCommit message (Collapse)AuthorLines
2019-11-10move syntax::parse -> librustc_parseMazdak Farrokhzad-12634/+0
also move MACRO_ARGUMENTS -> librustc_parse
2019-11-10move config.rs to libsyntax_expandMazdak Farrokhzad-628/+11
2019-11-09move attr meta grammar to parse::validate_atr + ast_validationMazdak Farrokhzad-0/+113
2019-11-08Rollup merge of #66188 - Centril:fnsig, r=davidtwcoMazdak Farrokhzad-4/+4
`MethodSig` -> `FnSig` & Use it in `ItemKind::Fn` In both AST & HIR, rename `MethodSig` to `FnSig` and then proceed to use it in `ItemKind::Fn` so that the overall structure is more regular. r? @davidtwco
2019-11-08Rollup merge of #66007 - estebank:remove-here, r=CentrilMazdak Farrokhzad-1/+1
Remove "here" from "expected one of X here"
2019-11-08Rollup merge of #65785 - Centril:compat-to-error-2, r=oli-obkMazdak Farrokhzad-22/+6
Transition future compat lints to {ERROR, DENY} - Take 2 Follow up to https://github.com/rust-lang/rust/pull/63247 implementing https://github.com/rust-lang/rust/pull/63247#issuecomment-536295992. - `legacy_ctor_visibility` (ERROR) -- closes #39207 - `legacy_directory_ownership` (ERROR) -- closes #37872 - `safe_extern_static` (ERROR) -- closes #36247 - `parenthesized_params_in_types_and_modules` (ERROR) -- closes #42238 - `duplicate_macro_exports` (ERROR) - `nested_impl_trait` (ERROR) -- closes #59014 - `ill_formed_attribute_input` (DENY) -- transitions #57571 - `patterns_in_fns_without_body` (DENY) -- transitions #35203 r? @varkor cc @petrochenkov
2019-11-08ast::ItemKind::Fn: use ast::FnSigMazdak Farrokhzad-1/+1
2019-11-08ast::MethodSig -> ast::FnSigMazdak Farrokhzad-3/+3
2019-11-07move syntax::{parse::literal -> util::literal}Mazdak Farrokhzad-309/+1
2019-11-07move syntax::parse::lexer::comments -> syntax::util::commentsMazdak Farrokhzad-322/+6
2019-11-07syntax::attr: remove usage of lexerMazdak Farrokhzad-2/+9
2019-11-07move parse::classify -> util::classifyMazdak Farrokhzad-28/+3
2019-11-07move PResult to librustc_errorsMazdak Farrokhzad-33/+29
2019-11-07syntax::parser::token -> syntax::tokenMazdak Farrokhzad-746/+17
2019-11-07move unescape_error_reporting to lexer/Mazdak Farrokhzad-2/+2
2019-11-07syntax: simplify importsMazdak Farrokhzad-5/+6
2019-11-07move parse/parser.rs -> parse/parser/mod.rsMazdak Farrokhzad-0/+0
2019-11-07Rollup merge of #65974 - Centril:matcher-friendly-gating, r=petrochenkovMazdak Farrokhzad-30/+24
A scheme for more macro-matcher friendly pre-expansion gating Pre-expansion gating will now avoid gating macro matchers that did not result in `Success(...)`. That is, the following is now OK despite `box 42` being a valid `expr` and that form being pre-expansion gated: ```rust macro_rules! m { ($e:expr) => { 0 }; // This fails on the input below due to `, foo`. (box $e:expr, foo) => { 1 }; // Successful matcher, we should get `2`. } fn main() { assert_eq!(1, m!(box 42, foo)); } ``` Closes https://github.com/rust-lang/rust/issues/65846. r? @petrochenkov cc @Mark-Simulacrum
2019-11-07syntax: use distinct FloatTy from rustc_target.Mazdak Farrokhzad-11/+12
We also sever syntax's dependency on rustc_target as a result. This should slightly improve pipe-lining. Moreover, some cleanup is done in related code.
2019-11-07parser: allow ABIs from literal macro fragmentsMazdak Farrokhzad-22/+33
2019-11-07cleanup can_begin_const_argMazdak Farrokhzad-3/+1
2019-11-07parser: don't hardcode ABIs into grammarMazdak Farrokhzad-42/+17
2019-11-06Remove "here" from "expected one of X here"Esteban Küber-1/+1
2019-11-06Make doc comments cheaper with `AttrKind`.Nicholas Nethercote-19/+24
`AttrKind` is a new type with two variants, `Normal` and `DocComment`. It's a big performance win (over 10% in some cases) because `DocComment` lets doc comments (which are common) be represented very cheaply. `Attribute` gets some new helper methods to ease the transition: - `has_name()`: check if the attribute name matches a single `Symbol`; for `DocComment` variants it succeeds if the symbol is `sym::doc`. - `is_doc_comment()`: check if it has a `DocComment` kind. - `{get,unwrap}_normal_item()`: extract the item from a `Normal` variant; panic otherwise. Fixes #60935.
2019-11-06Remove unnecessary `Deref` impl for `Attribute`.Nicholas Nethercote-4/+4
This kind of thing just makes the code harder to read.
2019-11-06revamp pre-expansion gating infraMazdak Farrokhzad-30/+24
2019-11-06legacy_directory_ownership -> errorMazdak Farrokhzad-22/+6
2019-11-06Rollup merge of #66139 - euclio:pluralize, r=nagisaMazdak Farrokhzad-8/+8
use American spelling for `pluralize!`
2019-11-06Rollup merge of #65776 - nnethercote:rename-LocalInternedString-and-more, ↵Mazdak Farrokhzad-7/+7
r=estebank Rename `LocalInternedString` and more This PR renames `LocalInternedString` as `SymbolStr`, removes an unnecessary `impl` from it, improves comments, and cleans up some `SymbolStr` uses. r? @estebank
2019-11-06Rollup merge of #66098 - estebank:path-asciption-typo, r=CentrilMazdak Farrokhzad-4/+12
Detect `::` -> `:` typo when involving turbofish Fix #65569.
2019-11-06Rollup merge of #66054 - petrochenkov:delspan, r=estebankMazdak Farrokhzad-2/+2
syntax: Avoid span arithmetic for delimiter tokens The +/-1 logic is from the time where the whole group had a single span and the delimiter spans had to be calculated from it. Now the delimiters have their own spans which are constructed by lexer or proc macro API and can be used directly. If those spans are not perfect, then it should be fixed by tweaking the corresponding lexer logic rather than by trying to add or substract `1` from the span boundaries. Fixes https://github.com/rust-lang/rust/issues/62524 r? @estebank
2019-11-05use American spelling for `pluralize!`Andy Russell-8/+8
2019-11-05Account for typo in turbofish and suggest `::`Esteban Küber-4/+10
2019-11-05Rollup merge of #66025 - petrochenkov:lohi, r=eddybPietro Albini-1/+1
`Span` cannot represent `span.hi < span.lo` So we can remove the corresponding checks from various code
2019-11-04Detect `::` -> `:` typo when involving turbofishEsteban Küber-1/+3
2019-11-04Auto merge of #65838 - estebank:resilient-recovery, r=Centrilbors-48/+93
Reduce amount of errors given unclosed delimiter When in a file with a non-terminated item, catch the error and consume the block instead of trying to recover it on a more granular way in order to reduce the amount of unrelated errors that would be fixed after adding the missing closing brace. Also point out the possible location of the missing closing brace. Fix #63690.
2019-11-03syntax: Avoid span arithmetics for delimiter tokensVadim Petrochenkov-2/+2
2019-11-02Remove the `AsRef` impl for `SymbolStr`.Nicholas Nethercote-4/+4
Because it's highly magical, which goes against the goal of keeping `SymbolStr` simple. Plus it's only used in a handful of places that only require minor changes.
2019-11-02Simplify various `Symbol` use points.Nicholas Nethercote-3/+3
Including removing a bunch of unnecessary `.as_str()` calls, and a bunch of unnecessary sigils.
2019-11-01`Span` cannot represent `span.hi < span.lo`Vadim Petrochenkov-1/+1
So we can remove the corresponding checks from various code
2019-10-31Create new error E0743Guillaume Gomez-2/+5
2019-10-30Do not complain about missing `fn main()` in some casesEsteban Küber-8/+14
2019-10-30Reduce ammount of errors given unclosed delimiterEsteban Küber-44/+83
When in a file with a non-terminated item, catch the error and consume the block instead of trying to recover it more granularly in order to reduce the amount of unrelated errors that would be fixed after adding the missing closing brace. Also point out the possible location of the missing closing brace.
2019-10-28review commentsEsteban Küber-42/+39
2019-10-28Tweak unexpected token wordingEsteban Küber-5/+5
2019-10-28Use heuristics to recover parsing of missing `;`Esteban Küber-76/+96
- Detect `,` and `:` typos where `;` was intended. - When the next token could have been the start of a new statement, detect a missing semicolon.
2019-10-28Rollup merge of #65792 - Centril:split-syntax-2, r=petrochenkovMazdak Farrokhzad-1/+22
rustc, rustc_passes: reduce deps on rustc_expand Part of #65324. r? @petrochenkov
2019-10-27syntax/attr: reduce reliance on parserMazdak Farrokhzad-1/+22
2019-10-26review comments and tweaksEsteban Küber-1/+1
2019-10-25Rollup merge of #65790 - Centril:move-report-invalid, r=davidtwcoMazdak Farrokhzad-19/+20
move report_invalid_macro_expansion_item to item.rs From https://github.com/rust-lang/rust/pull/65324. r? @Mark-Simulacrum