aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Reduce code duplication in lexer by introducing small macroEvgenii P2019-08-091-20/+17
|
* Merge #1661bors[bot]2019-08-089-1/+571
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1661: Parse function parameters attributes r=matklad a=eupn Fixes #1397. The [RFC-2565](https://github.com/rust-lang/rfcs/blob/master/text/2565-formal-function-parameter-attributes.md) specifies `#[attributes]` to function parameters: ```rust fn foo(#[attr] a, #[unused] b, #[must_use] ...) { // ... } ``` This PR adds those attributes into grammar and to the parser, extending corresponding inline tests. Co-authored-by: Evgenii P <[email protected]>
| * Fix parser tests according to reviewEvgenii P2019-08-0819-498/+580
| |
| * Deduplicate while loop break conditionEvgenii P2019-08-081-2/+2
| |
| * Fix parser to correctly consume outer attrs before ellipsis paramEvgenii P2019-08-071-0/+4
| |
| * Fix variadic arg inline testEvgenii P2019-08-073-25/+25
| |
| * Add function parameters attributesEvgenii P2019-08-0715-21/+505
| |
* | Merge #1664bors[bot]2019-08-073-0/+63
|\ \ | | | | | | | | | | | | | | | | | | | | | 1664: assoc types bounds r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | assoc types boundsAleksey Kladov2019-08-073-0/+63
|/ /
* | Merge #1663bors[bot]2019-08-071-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 1663: architecture.md: update path to parser tests r=matklad a=eupn Co-authored-by: eupn <[email protected]>
| * | architecture.md: update path to parser testseupn2019-08-071-2/+2
| | |
* | | Merge #1662bors[bot]2019-08-071-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1662: architecture.md: "finish not Y" -> "finish node Y" r=matklad a=eupn Is this a typo? Co-authored-by: eupn <[email protected]>
| * | architecture.md: "finish not Y" -> "finish node Y"eupn2019-08-071-1/+1
|/ / | | | | Is this a typo?
* | Merge #1660bors[bot]2019-08-074-51/+109
|\ \ | |/ |/| | | | | | | | | | | 1660: implement while let desugaring r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * implement while let desugaringAleksey Kladov2019-08-074-21/+76
| |
| * refactor if-let loweringAleksey Kladov2019-08-071-19/+25
| | | | | | | | mainly to get rid of unwraps
| * refactor if loweringAleksey Kladov2019-08-071-17/+14
| |
* | Merge #1659bors[bot]2019-08-071-3/+3
|\| | | | | | | | | | | | | | | 1659: install server first r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * install server firstAleksey Kladov2019-08-071-3/+3
|/ | | | closes #1658
* Merge #1652bors[bot]2019-08-065-112/+98
|\ | | | | | | | | | | | | | | | | | | | | | | 1652: Improve type hints behavior r=matklad a=SomeoneToIgnore This PR fixed the following type hints issues: * Restructures the `InlayKind` enum contents based on the discussion here: https://github.com/rust-analyzer/rust-analyzer/pull/1606#issuecomment-515968055 * Races described in #1639 * Caches the latest decorations received for each file to show them the next time the file is opened (instead of a new server request) Co-authored-by: Kirill Bulatov <[email protected]>
| * Avoid shared mutable stateKirill Bulatov2019-08-052-71/+55
| |
| * Cache decorations before the first change onlyKirill Bulatov2019-08-051-20/+21
| |
| * Use WeakMap to avoid memory leaksKirill Bulatov2019-08-051-10/+12
| |
| * Style and test fixesKirill Bulatov2019-08-042-34/+45
| |
| * Use proper inlay kindsKirill Bulatov2019-08-043-43/+15
| |
| * Query less hints on file openKirill Bulatov2019-08-041-18/+34
| |
* | Merge #1657bors[bot]2019-08-0620-163/+217
|\ \ | | | | | | | | | | | | | | | | | | | | | 1657: Ignore r=matklad a=matklad closes #1616 Co-authored-by: Aleksey Kladov <[email protected]>
| * | fix testsAleksey Kladov2019-08-061-2/+2
| | |
| * | allow to exclude certain files and directoriesAleksey Kladov2019-08-067-15/+43
| | |
| * | push glob errors outwardsAleksey Kladov2019-08-061-6/+7
| | |
| * | rename configAleksey Kladov2019-08-064-19/+14
| | |
| * | introduce ra_vfs_glob crateAleksey Kladov2019-08-0612-143/+173
|/ / | | | | | | It manages exclusion rules for the vfs crate
* | Merge #1656bors[bot]2019-08-061-16/+16
|\ \ | | | | | | | | | | | | | | | | | | | | | 1656: cargo update r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | cargo updateJeremy Kolb2019-08-061-16/+16
|/ /
* | Merge #1655bors[bot]2019-08-069-45/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | 1655: cleanup imports r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | cleanup importsAleksey Kladov2019-08-061-5/+2
| | |
| * | cleanupAleksey Kladov2019-08-066-9/+10
| | |
| * | renameAleksey Kladov2019-08-064-31/+31
|/ /
* | Merge #1654bors[bot]2019-08-062-20/+21
|\ \ | | | | | | | | | | | | | | | | | | | | | 1654: use Conv for severity r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | use Conv for severityAleksey Kladov2019-08-062-20/+21
|/ /
* | Merge #1648bors[bot]2019-08-052-20/+40
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1648: Optimize parsing a little r=lnicola a=lnicola This is the change from https://github.com/rust-analyzer/rust-analyzer/issues/1643#issuecomment-517979911. In the long run we should probably take a different approach, but until then this provides a decent speed-up (10.5s vs 11.5s according to `ra_cli analysis-stats`. EDIT: Does the profiling part make sense? I'm not sure if all parsing happens before the type inference begins or it's lazy. Co-authored-by: Laurențiu Nicola <[email protected]> Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Update crates/ra_cli/src/analysis_stats.rsLaurențiu Nicola2019-08-051-1/+1
| | | | | | | | | Co-Authored-By: Aleksey Kladov <[email protected]>
| * | Optimize Parser::is_composite a littleLaurențiu Nicola2019-08-051-19/+35
| | |
| * | Display the parsing time in ra_cli analysis-statsLaurențiu Nicola2019-08-051-1/+5
|/ /
* | Merge #1642bors[bot]2019-08-051-0/+17
|\ \ | |/ |/| | | | | | | | | | | 1642: Add test for #1540 r=matklad a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * Add test for #1540Jeremy Kolb2019-08-031-0/+17
| |
* | Merge #1634bors[bot]2019-08-043-10/+104
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 1634: Implement .await completion for futures r=flodiebold a=eupn Closes #1263 with completion for `.await` syntax for types that are implementing `std::future::Future` trait. r? @flodiebold Co-authored-by: Evgenii P <[email protected]>
| * | rustfmtEvgenii P2019-08-041-3/+1
| | |
| * | Idiomatic returnEvgenii P2019-08-041-1/+1
| | |
| * | Employ early return pattern moreEvgenii P2019-08-042-25/+27
| | |