about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
AgeCommit message (Collapse)AuthorLines
2018-11-29Rollup merge of #56330 - estebank:cleanup-span, r=zackmdavisGuillaume Gomez-2/+2
Clean up span in non-trailing `..` suggestion
2018-11-29Rollup merge of #56220 - estebank:suggest-lifetime-move, r=nikomatsakisGuillaume Gomez-8/+45
Suggest appropriate place for lifetime when declared after type arguments
2018-11-28Clean up span in non-trailing `..` suggestionEsteban Küber-2/+2
2018-11-26Specify suggestion applicabilityEsteban Küber-1/+2
2018-11-27resolve: Implement edition hygiene for imports and absolute pathsVadim Petrochenkov-16/+13
Use per-span hygiene in a few other places in resolve Prefer `rust_2015`/`rust_2018` helpers to comparing editions
2018-11-26Emit one diagnostic for multiple misplaced lifetimesEsteban Küber-12/+19
2018-11-25Move lifetimes before the *first* type argumentEsteban Küber-1/+3
2018-11-25Suggest appropriate place for lifetime when declared after type argumentsEsteban Küber-8/+35
2018-11-22Rollup merge of #56002 - Axary:master, r=estebankGuillaume Gomez-2/+13
fix #55972: Erroneous self arguments on bare functions emit subpar compilation error #55972 r? @estebank
2018-11-20improve error noteAxary-1/+1
2018-11-16fix tidy (remove whitespace)Axary-1/+1
2018-11-16improve error when self is used as not the first argumentAxary-8/+9
2018-11-16add a note to the error messageAxary-1/+4
2018-11-16eat CloseDelimAxary-2/+9
2018-11-14Clean up some non-mod-rs stuff.Eric Huss-10/+1
2018-11-12Change `Lit::short_name` to `Lit::literal_name`.Nicholas Nethercote-1/+1
This avoids a moderately hot allocation in `parse_lit_token`.
2018-11-08Rollup merge of #55777 - nnethercote:less-P-in-ast, r=petrochenkovMark Rousskov-1/+1
Use `Lit` rather than `P<Lit>` in `ast::ExprKind`. Because it results in fewer allocations and small speedups on some benchmarks.
2018-11-08Use `Lit` rather than `P<Lit>` in `ast::ExprKind`.Nicholas Nethercote-1/+1
Because it results in fewer allocations and small speedups on some benchmarks.
2018-11-07Rollup merge of #55734 - teresy:shorthand-fields, r=davidtwcokennytm-1/+1
refactor: use shorthand fields refactor: use shorthand for single fields everywhere (excluding tests).
2018-11-06refactor: use shorthand fieldsteresy-1/+1
2018-11-05Auto merge of #55451 - estebank:arg-doc, r=pnkfelixbors-16/+61
Custom diagnostic when trying to doc comment argument When writing ``` pub fn f( /// Comment id: u8, ) {} ``` Produce a targeted diagnostic ``` error: documentation comments cannot be applied to method arguments --> $DIR/fn-arg-doc-comment.rs:2:5 | LL | /// Comment | ^^^^^^^^^^^ doc comments are not allowed here ``` Fix #54801.
2018-11-04Auto merge of #55455 - estebank:expected-descr, r=michaelwoeristerbors-24/+26
Use token description in "expected/found" parse messages Fix #54309.
2018-11-03Extended elaboration for trait aliases to include arbitrary bounds.Alexander Regueiro-5/+5
2018-11-03Added support for trait aliases as object types.Alexander Regueiro-1/+1
2018-10-29Fix regressionEsteban Küber-1/+1
2018-10-28Use token description in "expected/found" parse messagesEsteban Küber-23/+25
2018-10-28Provide specific label for patern parsing errorEsteban Küber-18/+24
2018-10-28Point at `match` when a parse failure ocurrs inside of itEsteban Küber-1/+5
2018-10-28Produce targeted diagnostic when using doc comments on fn argsEsteban Küber-1/+36
Before parsing argument names and types, try to consume an incorrectly included doc comment or attribute in order to recover and continue parsing the rest of the fn definition.
2018-10-28Auto merge of #55192 - cramertj:nested-mod, r=petrochenkovbors-0/+11
Fix ordering of nested modules in non-mod.rs mods Flatten relative offset into directory path before adding inline (mod x { ... }) module names to the current directory path. Fix #55094
2018-10-26rebasing and reviewer changesNick Cameron-1/+1
Primarily refactoring `(Ident, Option<NodeId>)` to `Segment`
2018-10-26Give each PathSegment a NodeIdNick Cameron-2/+2
2018-10-19Prefer unwrap_or_else to unwrap_or in case of function calls/allocationsljedrz-1/+1
2018-10-18Fix ordering of nested modules in non-mod.rs modsTaylor Cramer-0/+11
Flatten relative offset into directory path before adding inline (mod x { ... }) module names to the current directory path. Fix #55094
2018-10-14Support underscore as constant nameDonato Sciarra-1/+7
Issue: 54912
2018-10-12Rollup merge of #54967 - holmgr:master, r=estebankkennytm-0/+5
Remove incorrect span for second label inner macro invocation A fix for issue #54841
2018-10-11Auto merge of #54850 - mcr431:fix-54707-trait-function-from-macro, ↵bors-0/+17
r=nikomatsakis Fix #54707 - parse_trait_item_ now handles interpolated blocks as function body decls Fix #54707 - parse_trait_item_ now handles interpolated blocks as function body decls Previously parsing trait items only handled opening brace token and semicolon, I added a branch to the match statement that will also handle interpolated blocks.
2018-10-10Rollup merge of #54893 - dsciarra:issue-54379, r=pnkfelixManish Goregaokar-0/+3
Fixes #47311. r? @nrc
2018-10-10Rollup merge of #54862 - Havvy:cfg_attr_multi, r=petrochenkovManish Goregaokar-1/+1
Fixes #47311. r? @nrc
2018-10-10Remove incorrect span for second label inner macro invocationholmgr-0/+5
2018-10-08parse_trait_item_ now handles interpolated blocks as function body declsMatthew Russo-0/+17
2018-10-07Fix internal compiler error on malformed match arm pattern.Donato Sciarra-0/+3
Issue: 54379
2018-10-05cfg_attr_multi: Basic implementationHavvy (Ryan Scheel)-1/+1
Does not implement the warning or a feature flag.
2018-10-05Rollup merge of #54833 - abonander:issue-54441, r=petrochenkovPietro Albini-12/+11
make `Parser::parse_foreign_item()` return a foreign item or error Fixes `Parser::parse_foreign_item()` to follow the convention of `parse_trait_item()` and `parse_impl_item()` in that it *must* parse an item or return an error, and then the caller is responsible for detecting the closing delimiter. This prevents it from looping endlessly on an unexpected token in `ext/expand.rs` where it was also leaking memory by continually pushing to `Parser::expected_tokens` via `Parser::check_keyword()`. closes #54441 r? @petrochenkov cc @dtolnay
2018-10-05add suggestion for inverted function parametersAndy Russell-1/+20
Fixes #54065.
2018-10-05make `Parser::parse_foreign_item()` return a foreign item or errorAustin Bonander-12/+11
closes #54441
2018-09-27Auto merge of #52319 - tinco:issue_12590, r=pnkfelixbors-5/+12
Track whether module declarations are inline (fixes #12590) To track whether module declarations are inline I added a field `inline: bool` to `ast::Mod`. The main use case is for pretty to know whether it should render the items associated with the module, but perhaps there are use cases for this information to not be forgotten in the AST.
2018-09-23Fixed off-by-one span.David Wood-1/+1
Fixes the off-by-one span issue where closure argument spans were pointing to the token after the argument.
2018-09-22Rollup merge of #54415 - petrochenkov:norollback, r=estebankPietro Albini-36/+26
parser: Tweak function parameter parsing to avoid rollback on succesfull path Since rollback is not perfect and may e.g. leave non-fatal errors after it, we need to make sure compilation fails if it happens. So in particular case of `fn parse_arg_general` we need to parse the "good" `TYPE` first and only then rollback and recover erroneous `PAT: TYPE` if necessary. Found when working on https://github.com/rust-lang/rfcs/pull/2544#issuecomment-423293222. r? @ghost
2018-09-22Rollup merge of #54409 - estebank:remove-in, r=pnkfelixPietro Albini-9/+25
Detect `for _ in in bar {}` typo Fix #36611, #52964, without modifying the parsing of emplacement `in` to avoid further problems like #50832.