aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* "rust-analyzer.debug" commandvsrs2020-05-114-106/+144
|
* Merge #4419bors[bot]2020-05-111-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 4419: :arrow_up: ra_vfs r=matklad a=matklad Fix a critical bug where \r\n line endings would accidentally sneak in after in-memory overlay removal. bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: ra_vfsAleksey Kladov2020-05-101-2/+2
| | | | | | | | | | Fix a critical bug where \r\n line endings would accidentally sneak in after in-memory overlay removal.
* | Merge #4396bors[bot]2020-05-101-1/+6
|\ \ | |/ |/| | | | | | | | | | | 4396: Improve panic message for ast_from_text r=jonas-schievink a=edwin0cheng Related: #4368 Co-authored-by: Edwin Cheng <[email protected]>
| * Improve panic message for ast_from_textEdwin Cheng2020-05-091-1/+6
| |
| |
| \
*-. \ Merge #4394 #4414bors[bot]2020-05-1011-47/+99
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4394: Simplify r=matklad a=Veetaha 4414: Highlighting improvements r=matklad a=matthewjasper - `static mut`s are highlighted as `mutable`. - The name of the macro declared by `macro_rules!` is now highlighted. Co-authored-by: veetaha <[email protected]> Co-authored-by: Matthew Jasper <[email protected]>
| | * | Highlight the name in macro declarationsMatthew Jasper2020-05-103-3/+18
| | | |
| | * | Highlight mutable statics as mutableMatthew Jasper2020-05-107-13/+56
| | | |
| * | | Simplify matchveetaha2020-05-091-4/+3
| | | |
| * | | Simplify crate graph creationveetaha2020-05-091-22/+16
| | | |
| * | | Simplifyveetaha2020-05-091-5/+6
| | | |
| | | |
| \ \ \
| \ \ \
| \ \ \
| \ \ \
| \ \ \
*-----. \ \ \ Merge #4406 #4410 #4411 #4417bors[bot]2020-05-1014-97/+285
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4406: Update cargo-metadata r=matklad a=edwin0cheng This PR update `cargo-metadata` to 0.10.0 and it also relax the` serde-derive` deps to 1.0 for tests in `proc-macro-srv`. cc @robojumper r= @matklad , I think you would have something to say related to https://github.com/serde-rs/json/issues/647#issue-593788429 ? 4410: Improve wording in comment r=matklad a=edwin0cheng 4411: do not remove then block when you unwrap else block #4361 r=matklad a=bnjjj close #4361 4417: Omit default types in HirDisplay SourceCode mode r=matklad a=TimoFreiberg Closes #4390 Co-authored-by: Edwin Cheng <[email protected]> Co-authored-by: Benjamin Coenen <[email protected]> Co-authored-by: Timo Freiberg <[email protected]>
| | | | * | | | Omit default types in HirDisplay SourceCode modeTimo Freiberg2020-05-103-28/+64
| | | | | | | |
| | | * | | | | do not remove then block when you unwrap else block #4361Benjamin Coenen2020-05-101-28/+193
| | | | |_|/ / | | | |/| | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| | * / | | | Word fixEdwin Cheng2020-05-101-1/+1
| | |/ / / /
| * | | | | Remove dbgEdwin Cheng2020-05-091-1/+1
| | | | | |
| * | | | | Update cargo-metadataEdwin Cheng2020-05-099-41/+28
| | |_|_|/ | |/| | |
* | | | | Merge #4418bors[bot]2020-05-1011-1123/+999
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4418: Refactor protocol handling r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | req -> lsp_extAleksey Kladov2020-05-107-53/+58
| | | | |
| * | | | Don't re-export lsp_typesAleksey Kladov2020-05-103-119/+119
| | | | |
| * | | | Better fn signatureAleksey Kladov2020-05-101-4/+8
| | | | |
| * | | | to_proto::semantic_tokensAleksey Kladov2020-05-102-34/+33
| | | | |
| * | | | Simplify proto conversionAleksey Kladov2020-05-108-939/+807
| | |/ / | |/| | | | | | | | | | | | | | Trait based infra in conv.rs is significantly more complicated than what we actually need here.
* | | | Merge #4412bors[bot]2020-05-102-1/+31
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4412: infer: Make expected rhs type for plain assign the lhs type r=flodiebold a=kiljacken This fixes an issue where the following code sample would fail to infer the type contained in the option: ```rust fn main() { let mut end = None; // Was Option<{unknown}>, is now Option<bool> loop { end = Some(true); } } ``` Co-authored-by: Emil Lauridsen <[email protected]>
| * | | infer: Make expected rhs type for plain assign the lhs typeEmil Lauridsen2020-05-102-1/+31
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue where the following code sample would fail to infer the type contained in the option: ```rust fn main() { let mut end = None; // TODO: Fix inference for this in RA loop { end = Some(true); } } ```
* | | Merge #4409bors[bot]2020-05-101-7/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4409: Hot fix panic for function_signature r=edwin0cheng a=edwin0cheng I am totally agree this comment: https://github.com/rust-analyzer/rust-analyzer/blob/f1cb5b8a29ce509bf1f8d6df97d4b6586b9a2dac/crates/ra_ide/src/display/function_signature.rs#L3-L4 But let hot fix all panic for right now, it is so disturbing when browsing code... Co-authored-by: Edwin Cheng <[email protected]>
| * | | Remove dbgEdwin Cheng2020-05-101-1/+0
| | | |
| * | | Hot fix panic for function_signatureEdwin Cheng2020-05-101-7/+13
|/ / /
* | | Merge #4392bors[bot]2020-05-091-14/+11
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4392: Add From should not move the cursor r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Add From should not move the cursorAleksey Kladov2020-05-091-14/+11
| | | |
* | | | Merge #4389bors[bot]2020-05-091-9/+10
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4389: Ascribe more correct types r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Ascribe more correct typesAleksey Kladov2020-05-091-9/+10
|/ / /
* | | Merge #4388bors[bot]2020-05-093-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4388: unindent -> dedent r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | unindent -> dedentAleksey Kladov2020-05-093-3/+3
| | | |
* | | | Merge #4387bors[bot]2020-05-098-35/+46
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4387: More fluent indent API r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | More fluent indent APIAleksey Kladov2020-05-097-34/+45
| | | |
| * | | Fix visibilityAleksey Kladov2020-05-091-1/+1
|/ / /
* | | Merge #4175bors[bot]2020-05-095-99/+300
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4175: Introduce HirDisplay method for rendering source code & use it in add_function assist r=flodiebold a=TimoFreiberg Next feature for #3639. So far the only change in the new `HirDisplay` method is that paths are qualified, but more changes will be necessary (omitting the function name from function types, returning an error instead of printing `"{unknown}"`, probably more). Is that approach okay? Co-authored-by: Timo Freiberg <[email protected]>
| * | | Use new HirDisplay variant in add_function assistTimo Freiberg2020-05-081-58/+116
| | | |
| * | | New HirDisplay method for displaying sourcecodeTimo Freiberg2020-05-084-41/+184
| | | |
* | | | Merge #4381bors[bot]2020-05-092-47/+24
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | 4381: Simplify r=matklad a=Veetaha Co-authored-by: veetaha <[email protected]>
| * | | Simpify project discoveryveetaha2020-05-091-36/+15
| | | |
| * | | Simplifyveetaha2020-05-091-11/+9
|/ / /
* | | Merge #4379bors[bot]2020-05-084-11/+72
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4379: Handle coercing function types to function pointers in match r=matklad a=flodiebold E.g. in ```rust match x { 1 => function1, 2 => function2, } ``` we need to try coercing both to pointers. Turns out this is a special case in rustc as well (see the link in the comment). Co-authored-by: Florian Diebold <[email protected]>
| * | | Handle coercing function types to function pointers in matchFlorian Diebold2020-05-084-11/+72
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | E.g. in ```rust match x { 1 => function1, 2 => function2, } ``` we need to try coercing both to pointers. Turns out this is a special case in rustc as well (see the link in the comment).
* | | Merge #4377bors[bot]2020-05-089-25/+362
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4377: Implement better handling of divergence r=matklad a=flodiebold Divergence here means that for some reason, the end of a block will not be reached. We tried to model this just using the never type, but that doesn't work fully (e.g. in `let x = { loop {}; "foo" };` x should still have type `&str`); so this introduces a `diverges` flag that the type checker keeps track of, like rustc does. We also add some checking for `break`, but no support for break-with-value or labeled breaks yet. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * | | Add diagnostic for break outside of loopFlorian Diebold2020-05-084-1/+62
| | | |
| * | | Use matches!Florian Diebold2020-05-081-4/+1
| | | |
| * | | Handle break somewhat betterFlorian Diebold2020-05-083-3/+105
| | | | | | | | | | | | | | | | | | | | Still no break-with-value or labels, but at least we know that `loop { break; }` doesn't diverge.
| * | | Implement better handling of divergenceFlorian Diebold2020-05-087-23/+200
| |/ / | | | | | | | | | | | | | | | | | | | | | Divergence here means that for some reason, the end of a block will not be reached. We tried to model this just using the never type, but that doesn't work fully (e.g. in `let x = { loop {}; "foo" };` x should still have type `&str`); so this introduces a `diverges` flag that the type checker keeps track of, like rustc does.