about summary refs log tree commit diff
path: root/src/libsyntax
AgeCommit message (Collapse)AuthorLines
2019-06-06syntax: Remove duplicate span from `token::Lifetime`Vadim Petrochenkov-33/+36
2019-06-06syntax: Add some helper methods to `Token`Vadim Petrochenkov-62/+64
2019-06-06syntax: Use `Token` in `Parser`Vadim Petrochenkov-123/+123
2019-06-06syntax: Use `Token` in `StringReader` and `TokenTreesReader`Vadim Petrochenkov-46/+32
2019-06-06syntax: Use `Token` in `TokenTree::Token`Vadim Petrochenkov-220/+230
2019-06-06syntax: Rename `TokenAndSpan` into `Token`Vadim Petrochenkov-95/+91
2019-06-06syntax: Rename `Token` into `TokenKind`Vadim Petrochenkov-105/+105
2019-06-06Always use token kinds through `token` module rather than `Token` typeVadim Petrochenkov-83/+83
2019-06-05Added feature gate.Alexander Regueiro-12/+30
2019-06-05Implemented for function bounds, type bounds, and named existential types.Alexander Regueiro-56/+103
2019-06-05Aggregation of drive-by cosmetic changes.Alexander Regueiro-55/+53
2019-06-05Auto merge of #61484 - nnethercote:avoid-more-hygiene-lookups, r=petrochenkovbors-8/+11
Avoid more hygiene lookups Mostly by combining multiple `HygieneData::with` calls into a single call on hot paths. r? @petrochenkov
2019-06-05Avoid unnecessary `rust_2018` calls.Nicholas Nethercote-8/+11
The commit combines two calls into one by saving the result in a local variable. The commit also moves the check for `async` later, so that when a different keyword is present the `rust_2018` call will be avoided completely.
2019-06-04Rollup merge of #61500 - estebank:expregression, r=petrochenkovPietro Albini-7/+11
Fix regression 61475 Addresses #61475.
2019-06-04Rollup merge of #61413 - davidtwco:async-argument-order-in-a-sane-way, r=eddybMazdak Farrokhzad-278/+38
Re-implement async fn drop order lowering This PR re-implements the async fn drop order lowering changes so that it all takes place in HIR lowering, building atop the work done by @eddyb to refactor `Res::Upvar`. Previously, this types involved in the lowering were constructed in libsyntax as they had to be used during name resolution and HIR lowering. This was awful because none of that logic should have existed in libsyntax. This commit also changes `ArgSource` to keep a `HirId` to the original argument pattern rather than a cloned copy of the pattern. Only b7aa4ed and 71fb8fa should be reviewed, any other commits are from #61276 (though 447e336 might end up staying in this PR). As a nice side effect, it also fixes #61187 (cc #61192). r? @eddyb cc @cramertj
2019-06-04Rollup merge of #61409 - varkor:condition-trait-param-ice, r=oli-obkMazdak Farrokhzad-3/+7
Fix an ICE with a const argument in a trait This goes some way towards fixing https://github.com/rust-lang/rust/issues/61383 (the reduced test case is fixed).
2019-06-03Fix regression #61475Esteban Küber-7/+11
2019-06-03syntax/rustc: move `mark_span_with_reason` back.David Wood-21/+0
2019-06-03syntax: revert `ast::AsyncArgument` and associated changes.Eduard-Mihai Burtescu-257/+38
Here follows the main reverts applied in order to make this commit: Revert "Rollup merge of #60676 - davidtwco:issue-60674, r=cramertj" This reverts commit 45b09453dbf120cc23d889435aac3ed7d2ec8eb7, reversing changes made to f6df1f6c30b469cb9e65c5453a0efa03cbb6005e. Revert "Rollup merge of #60437 - davidtwco:issue-60236, r=nikomatsakis" This reverts commit 16939a50ea440e72cb6ecefdaabb988addb1ec0e, reversing changes made to 12bf98155249783583a91863c5dccf9e346f1226. Revert "Rollup merge of #59823 - davidtwco:issue-54716, r=cramertj" This reverts commit 62d1574876f5531bce1b267e62dff520d7adcbbb, reversing changes made to 4eff8526a789e0dfa8b97f7dec91b7b5c18e8544.
2019-06-03Allow `true` and `false` in const generic argumentsvarkor-3/+7
2019-06-03Auto merge of #61331 - estebank:fn-arg-parse-recovery, r=varkorbors-31/+81
Recover gracefully from argument with missing type or param name
2019-06-02Rollup merge of #61438 - estebank:generics-span, r=varkorMazdak Farrokhzad-12/+13
Point at individual type args on arg count mismatch - Point at individual type arguments on arg count mismatch - Make generics always have a valid span, even when there are no args - Explain that `impl Trait` introduces an implicit type argument Fix #55991.
2019-06-01Extend docstringEsteban Küber-0/+7
2019-05-31Make generics always have a valid spanEsteban Küber-12/+13
2019-06-01Rollup merge of #61389 - Zoxc:arena-cleanup, r=eddybMazdak Farrokhzad-3/+3
Remove GlobalArenas and use Arena instead r? @eddyb
2019-05-31Rollup merge of #61374 - VirrageS:master, r=CentrilPietro Albini-2/+2
Explicitly suggest 'type_ascription' feature Closes: #61325 r? @estebank
2019-05-31Remove GlobalArenas and use Arena insteadJohn Kåre Alsaker-3/+3
2019-05-30Move code from `parser` to `diagnostics`Esteban Küber-36/+40
2019-05-30Remove `ArgSource::Recovery`Esteban Küber-6/+4
2019-05-30Recover gracefully from argument with missing type or param nameEsteban Küber-18/+59
2019-05-31Parse 'async unsafe fn' instead of 'unsafe async fn'.Mazdak Farrokhzad-37/+34
2019-05-30Explicitly suggest 'type_ascription' featureJanusz Marcinkiewicz-2/+2
2019-05-30Auto merge of #61253 - nnethercote:avoid-hygiene_data-lookups, r=petrochenkovbors-3/+3
Avoid `hygiene_data` lookups These commits mostly introduce compound operations that allow two close adjacent `hygiene_data` lookups to be combined. r? @petrochenkov
2019-05-29libsyntax: introduce 'fn is_keyword_ahead(dist, keywords)'.Mazdak Farrokhzad-35/+38
2019-05-29Introduce and use `SyntaxContext::outer_expn_info()`.Nicholas Nethercote-3/+3
It reduces two `hygiene_data` accesses to one on some hot paths.
2019-05-29syntax: bail out of `find_width_of_character_at_span` if the span doesn't ↵Eduard-Mihai Burtescu-0/+5
start and end in the same file.
2019-05-27Auto merge of #61140 - estebank:attr-diagnostics, r=michaelwoeristerbors-12/+74
Reword malformed attribute input diagnostics - Handle empty `cfg_attr` attribute - Reword empty `derive` attribute error - Use consistend error message: "malformed `attrname` attribute input" - Provide suggestions when possible - Move note/help to label/suggestion - Use consistent wording "ill-formed" -> "malformed" - Move diagnostic logic out of parser Split up from https://github.com/rust-lang/rust/pull/61026, where there's prior conversation.
2019-05-27Auto merge of #60967 - Zoxc:fix-syntax-sync, r=michaelwoeristerbors-0/+22
Short circuit Send and Sync impls for TokenTree Workaround to make the parallel compiler build after https://github.com/rust-lang/rust/pull/60444. r? @nikomatsakis
2019-05-27Short circuit Send and Sync impls for TokenTreeJohn Kåre Alsaker-0/+22
2019-05-27Stabilize repr_align_enum in 1.37.0.Mazdak Farrokhzad-14/+3
2019-05-27Use `Symbol` equality in `may_begin_with` and `parse_nt`.Nicholas Nethercote-27/+27
2019-05-27Use `Symbol` equality in `is_ident_named`.Nicholas Nethercote-8/+8
2019-05-27Avoid some re-interning in `to_lit_token`.Nicholas Nethercote-5/+8
2019-05-27Add `to_symbol` methods.Nicholas Nethercote-4/+26
2019-05-27Pre-intern "0", "1", ..., "9", and use where appropriate.Nicholas Nethercote-3/+3
2019-05-27Pass symbols to `ExtCtxt::std_path` instead of strings.Nicholas Nethercote-26/+16
Because this function is hot. Also remove the dead `ty_option` function.
2019-05-27Avoid unnecessary internings.Nicholas Nethercote-20/+11
Most involving `Symbol::intern` on string literals.
2019-05-25review comments: move back some methods and clean up wordingEsteban Küber-172/+176
2019-05-25Move some methods to `diagnostics.rs` away from `parser.rs`Esteban Küber-413/+462
Move a bunch of error recovery methods to `diagnostics.rs` away from `parser.rs`.
2019-05-25Tweak `self` arg not as first argument of a method diagnosticEsteban Küber-37/+55
Mention that `self` is only valid on "associated functions" ``` error: unexpected `self` argument in function --> $DIR/self-in-function-arg.rs:1:15 | LL | fn foo(x:i32, self: i32) -> i32 { self } | ^^^^ not valid as function argument | = note: `self` is only valid as the first argument of an associated function ``` When it is a method, mention it must be first ``` error: unexpected `self` argument in function --> $DIR/trait-fn.rs:4:20 | LL | fn c(foo: u32, self) {} | ^^^^ must be the first associated function argument ```