aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 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
| | |
| * | source_binder.rs: fix order of importsEvgenii P2019-08-041-9/+10
| | |
| * | Use std::future::Future trait from stdlibEvgenii P2019-08-032-32/+44
| | |
| * | do fixup: remove unused imports in complete_dot.rsEvgenii P2019-08-021-4/+1
| | |
| * | do fixup: remove unused importEvgenii P2019-08-021-1/+1
| | |
| * | Change postfix completion to keyword completionEvgenii P2019-08-021-22/+8
| | |
| * | Relax trait solving more for completionEvgenii P2019-08-021-7/+1
| | |
| * | Use future lang item instead of hardcoded std::future::FutureEvgenii P2019-08-022-37/+21
| | |
| * | rustfmtEvgenii P2019-08-023-19/+28
| | |
| * | Implement completion for the .await syntaxEvgenii P2019-08-023-11/+122
| | |
* | | Merge #1640bors[bot]2019-08-044-45/+27
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 1640: Bump deps r=matklad a=lnicola `insta`, `unicode-xid` and others Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Bump depsLaurențiu Nicola2019-08-044-45/+27
| | |
* | | Merge #1638bors[bot]2019-08-031-30/+32
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1638: Avoid cloning a TtToken in SubtreeTokenSource::mk_token r=matklad a=lnicola According to `perf record`, this function is the hottest one while running `ra_cli analysis-stats`: Before: ``` 6.05% ra_cli ra_cli <ra_mbe::subtree_source::SubtreeTokenSource as ra_parser::TokenSource>::lookahead_nth 5.56% ra_cli ra_cli <rowan::green::GreenNode as core::hash::Hash>::hash 4.16% ra_cli libc-2.29.so _int_malloc 3.93% ra_cli ra_cli ra_mbe::subtree_source::SubtreeTokenSource::get Database loaded, 255 roots, 231.676882ms Crates in this dir: 27 Total modules found: 282 Total declarations: 9642 Total functions: 3287 Total expressions: 64616 Expressions of unknown type: 9111 (14%) Expressions of partially unknown type: 3417 (5%) Analysis: 24.012797561s, 0b allocated 0b resident target/release/ra_cli analysis-stats 24.60s user 0.56s system 100% cpu 25.125 total ``` After: ``` 5.85% ra_cli ra_cli <rowan::green::GreenNode as core::hash::Hash>::hash 4.55% ra_cli libc-2.29.so _int_malloc 4.31% ra_cli ra_cli ra_parser::parser::Parser::nth 3.61% ra_cli ra_cli <ra_syntax::parsing::text_token_source::TextTokenSource as ra_parser::TokenSource>::lookahead_nth 3.54% ra_cli ra_cli ra_syntax::syntax_node::SyntaxTreeBuilder::finish_node 3.46% ra_cli libc-2.29.so _int_free 3.12% ra_cli libc-2.29.so malloc 2.76% ra_cli ra_cli ra_parser::event::process 2.68% ra_cli ra_cli alloc::sync::Arc<T>::drop_slow 2.50% ra_cli ra_cli ra_mbe::subtree_source::SubtreeTokenSource::get 2.31% ra_cli ra_cli <smol_str::SmolStr as core::hash::Hash>::hash 2.04% ra_cli libc-2.29.so __memmove_avx_unaligned_erms 1.92% ra_cli ra_cli <ra_mbe::subtree_source::SubtreeTokenSource as ra_parser::TokenSource>::lookahead_nth Database loaded, 255 roots, 236.176803ms Crates in this dir: 27 Total modules found: 282 Total declarations: 9642 Total functions: 3287 Total expressions: 64620 Expressions of unknown type: 9107 (14%) Expressions of partially unknown type: 3425 (5%) Analysis: 22.562328486s, 0b allocated 0b resident target/release/ra_cli analysis-stats 23.12s user 0.57s system 100% cpu 23.659 total ``` r? @edwin0cheng, @matklad Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | Return a Ref from SubtreeTokenSource::getLaurențiu Nicola2019-08-031-33/+29
| | | |
| * | | Avoid cloning a TtToken in SubtreeTokenSource::mk_tokenLaurențiu Nicola2019-08-031-9/+15
| |/ /
* | | Merge #1630bors[bot]2019-08-032-3/+55
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1630: Removes `*/` from block doc comments r=matklad a=kjeremy The trailing `/` was annoying me on hover. Co-authored-by: kjeremy <[email protected]>