aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Simplify fixture parsingAleksey Kladov2020-01-301-21/+8
|
* Merge #2895bors[bot]2020-01-291-46/+71
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2895: Rewrite ra_prof's profile printing r=michalt a=michalt This changes the way we print things to first construct a mapping from events to the children and uses that mapping to actually print things. It should not change the actual output that we produce. The new approach two benefits: * It avoids a potential quadratic behavior of the previous approach. For instance, for a vector of N elements: ``` [Message{level: (N - 1)}, ..., Message{level: 1}, Message{level: 0}] ``` we would first do a linear scan to find entry with level 0, then another scan to find one with level 1, etc. * It makes it much easier to improve the output in the future, because we now pre-compute the children for each entry and can easily take that into account when printing. Signed-off-by: Michal Terepeta <[email protected]> Co-authored-by: Michal Terepeta <[email protected]>
| * A couple of small improvements to ra_prof printingMichal Terepeta2020-01-291-3/+3
| | | | | | | | | | | | Based on suggestions from @matklad. Signed-off-by: Michal Terepeta <[email protected]>
| * Rewrite ra_prof's profile printingMichal Terepeta2020-01-221-46/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the way we print things to first construct a mapping from events to the children and uses that mapping to actually print things. It should not change the actual output that we produce. The new approach two benefits: * It avoids a potential quadratic behavior of the previous approach. For instance, for a vector of N elements: ``` [Message{level: (N - 1)}, ..., Message{level: 1}, Message{level: 0}] ``` we would first do a linear scan to find entry with level 0, then another scan to find one with level 1, etc. * It makes it much easier to improve the output in the future, because we now pre-compute the children for each entry and can easily take that into account when printing. Signed-off-by: Michal Terepeta <[email protected]>
* | Merge #2943bors[bot]2020-01-292-20/+53
|\ \ | | | | | | | | | | | | | | | | | | | | | 2943: Re-sync queries for memory usage measurnment r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Re-sync queries for memory usage measurnmentAleksey Kladov2020-01-292-20/+53
| | |
* | | Merge #2942bors[bot]2020-01-291-29/+17
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2942: Properly select a target for auto importing r=matklad a=SomeoneToIgnore Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2932 The corresponding test has the caret placed in the beggining of the document despite the import inserted, but I don't thing I should fix it here: * in real life, there's some text written before the import and for those cases the caret behaves normally * it's a separate functionality that needs to be refactored anyway later (the `auto_import_text_edit`) Co-authored-by: Kirill Bulatov <[email protected]>
| * | Properly select a target for auto importingKirill Bulatov2020-01-291-29/+17
|/ /
* | Merge #2941bors[bot]2020-01-292-38/+45
|\ \ | | | | | | | | | | | | | | | | | | | | | 2941: Freshen Architecture.md document r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Freshen Architecture.md documentAleksey Kladov2020-01-292-38/+45
| | |
* | | Merge #2940bors[bot]2020-01-292-48/+38
|\| | | | | | | | | | | | | | | | | | | | | | | 2940: Freshen dev docs a tiny bits r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Freshen dev docs a tiny bitsAleksey Kladov2020-01-292-48/+38
| | |
* | | Merge #2939bors[bot]2020-01-291-20/+19
|\| | | | | | | | | | | | | | | | | | | | | | | 2939: Simplify fixture parsing r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Simplify fixture parsingAleksey Kladov2020-01-291-20/+19
| | |
* | | Merge #2938bors[bot]2020-01-291-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | 2938: Fix long loop timeout r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Fix long loop timeoutAleksey Kladov2020-01-291-1/+1
|/ /
* | Merge #2937bors[bot]2020-01-292-5/+26
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2937: Parse cargo output a line at a time. r=kiljacken a=kiljacken We previously used serde's stream deserializer to read json blobs from the cargo output. It has an issue though: If the deserializer encounters invalid input, it gets stuck reporting the same error again and again because it is unable to foward over the input until it reaches a new valid object. Reading a line at a time and manually deserializing fixes this issue, because cargo makes sure to only outpu one json blob per line, so should we encounter invalid input, we can just skip a line and continue. The main reason this would happen is stray printf-debugging in procedural macros, so we still report that an error occured, but we handle it gracefully now. Fixes #2935 Co-authored-by: Emil Lauridsen <[email protected]>
| * | Change error output to make a bit more senseEmil Lauridsen2020-01-291-2/+6
| | |
| * | Parse cargo output a line at a time.Emil Lauridsen2020-01-292-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We previously used serde's stream deserializer to read json blobs from the cargo output. It has an issue though: If the deserializer encounters invalid input, it gets stuck reporting the same error again and again because it is unable to foward over the input until it reaches a new valid object. Reading a line at a time and manually deserializing fixes this issue, because cargo makes sure to only outpu one json blob per line, so should we encounter invalid input, we can just skip a line and continue. The main reason this would happen is stray printf-debugging in procedural macros, so we still report that an error occured, but we handle it gracefully now. Fixes #2935
* | | Tweak readmeAleksey Kladov2020-01-291-3/+2
| | |
* | | Merge pull request #2936 from matklad/better-releaseAleksey Kladov2020-01-291-2/+4
|\ \ \ | |/ / |/| | Make sure release uses the release branch, and not master
| * | Make sure release uses the release branch, and not masterAleksey Kladov2020-01-291-2/+4
| | |
* | | Merge #2931bors[bot]2020-01-292-24/+56
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2931: Added documentation to test_utils r=matklad a=Veetaha Added some doc comments to test_utils functions while studying this crate. They should be all stable enough to document them. Also some minor code relocation in `parse_fixture()` closer to its usage according to the advice of @matklad. Co-authored-by: Veetaha <[email protected]>
| * | | test_utils: move flush!() to its usage as per conversation with @matkladVeetaha2020-01-291-13/+13
| | | |
| * | | test_utils: updated documentation and some typosVeetaha2020-01-292-11/+43
| | | |
* | | | Merge #2934bors[bot]2020-01-291-8/+28
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 2934: Complain loudly if the main loop is blocked r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Complain loudly if the main loop is blockedAleksey Kladov2020-01-291-1/+21
| | | |
| * | | More uniform namingAleksey Kladov2020-01-291-7/+7
| | | |
* | | | Merge #2933bors[bot]2020-01-291-28/+28
|\| | | | |/ / |/| | | | | | | | | | | | | | | | | 2933: Don't compute diagnostics on the main thread r=matklad a=matklad closes #2909 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Don't compute diagnostics on the main threadAleksey Kladov2020-01-291-28/+28
|/ / | | | | | | closes #2909
* | Merge #2917bors[bot]2020-01-283-14/+88
|\ \ | | | | | | | | | | | | | | | | | | | | | 2917: Prefer imports starting with std r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/2915 Co-authored-by: Kirill Bulatov <[email protected]>
| * | Add the testsKirill Bulatov2020-01-282-0/+42
| | |
| * | Revert accidental package-lock.json changeKirill Bulatov2020-01-281-1/+1
| | |
| * | Apply the proposed refactoringKirill Bulatov2020-01-281-38/+43
| | |
| * | Prefer imports starting with stdKirill Bulatov2020-01-273-7/+34
| | |
* | | Merge #2928bors[bot]2020-01-281-1/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2928: Provide better diagnostics if the server is not in path r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Provide better diagnostics if the server is not in pathAleksey Kladov2020-01-281-1/+7
|/ / /
* | | Merge #2927bors[bot]2020-01-282-41/+42
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2927: Publicize debug printing of CrateDefMap r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Publicize debug printing of CrateDefMapAleksey Kladov2020-01-282-41/+42
|/ / /
* | | Merge #2926bors[bot]2020-01-285-89/+89
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2926: Standard formatting for array types r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Standard formatting for array typesAleksey Kladov2020-01-285-89/+89
|/ / /
* | | Merge #2925bors[bot]2020-01-282-47/+47
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2925: :arrow_up: node r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | :arrow_up: nodeAleksey Kladov2020-01-282-47/+47
|/ / /
* | | Merge #2924bors[bot]2020-01-281-2/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2924: Modify ordering of drops in check watcher to only ever have one cargo r=matklad a=kiljacken Due to the way drops are ordered when assigning to a mutable variable we were launching a new cargo sub-process before letting the old one quite. By explicitly replacing the original watcher with a dummy first, we ensure it is dropped and the process is completed, before we start the new process. Co-authored-by: Emil Lauridsen <[email protected]>
| * | | Modify ordering of drops in check watcher to only ever have one cargoEmil Lauridsen2020-01-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to the way drops are ordered when assigning to a mutable variable we were launching a new cargo sub-process before letting the old one quite. By explicitly replacing the original watcher with a dummy first, we ensure it is dropped and the process is completed, before we start the new process.
* | | | Merge #2923bors[bot]2020-01-281-0/+8
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 2923: Don't do check progress update for fresh crates r=matklad a=kiljacken Skip sending progress updates for crates that aren't getting checked. Co-authored-by: Emil Lauridsen <[email protected]>
| * | | Don't do check progress update for fresh cratesEmil Lauridsen2020-01-281-0/+8
|/ / /
* | | Merge #2916bors[bot]2020-01-271-1/+4
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 2916: Buffer reads from cargo check's stdout r=matklad a=lnicola `Stdio::piped()` is unbuffered, which caused RA to read the output of `cargo check` one byte at a time (out of 114KB in my test). This isn't obviously faster on my system, but making fewer syscalls sounds like a good idea. Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | Buffer reads from cargo check's stdoutLaurențiu Nicola2020-01-271-1/+4
|/ /
* | Merge #2810bors[bot]2020-01-271-27/+111
|\ \ | | | | | | | | | | | | | | | | | | | | | 2810: Improves reference search by StructLiteral r=mikhail-m1 a=mikhail-m1 Hey, I've made some changes to improve search for struct literals, now it works for `struct Foo<|> {`, `struct Foo <|>{`, `struct Foo<|>(`. Unfortunately tuple creation is represented as a call expression, so for tuples it works only is search is started in a tuple declaration. It leads to incorrect classification of function calls during search phase, but from user perspective it's not visible and works as expected. May be it worth to add a comment or rename it to remove this misleading classification. Issue #2549. Co-authored-by: Mikhail Modin <[email protected]>