aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
*-. 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.
* | | Merge #4366bors[bot]2020-05-083-32/+60
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4366: Unified debug lens r=matklad a=vsrs Right now every debug engine gets the debug executable and exports the errors on its own. This PR unifies the way all engines work. And adds an option to configure each engine separably. For example, this adds visualizers for both `CodeLLDB` and `C++ tools Windows debugger` ```json "rust-analyzer.debug.engineSettings": { "cppvsdbg": { "visualizerFile": "${workspaceRoot}/rdisk.natvis" }, "lldb": { "initCommands": [ "command script import ${workspaceRoot}/rdisk.vis.py" ] } } ``` Co-authored-by: vsrs <[email protected]> Co-authored-by: vsrs <[email protected]>
| * | | Merge remote-tracking branch 'upstream/master' into uniformed_debug_lensvsrs2020-05-0875-1028/+2406
| |\| | | | | | | | | | | | | | | | | | # Conflicts: # editors/code/src/commands/runnables.ts
| * | | "rust-analyzer.debug.openDebugPane"vsrs2020-05-081-1/+1
| | | | | | | | | | | | Co-authored-by: bjorn3 <[email protected]>
| * | | Add CodeLLDB Rust visualizationvsrs2020-05-072-2/+3
| | | |
| * | | Add separate settings for each debug engine.vsrs2020-05-072-5/+8
| | | |