aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | vscode: prerefactor util.ts and ctx.tsVeetaha2020-03-072-10/+14
| | | |
| * | | vscode: refresh all editors on text changes, simplify inlays apiVeetaha2020-03-071-13/+11
| | | |
| * | | vscode: add dat semicolonVeetaha2020-03-071-1/+1
| | | |
| * | | vscode: simpifyVeetaha2020-03-071-5/+1
| | | |
| * | | vscode: redesign inlay hints to be capable of handling multiple editorsVeetaha2020-03-072-106/+273
| | | |
| * | | vscode: extract Type and Param hint cases of InlayHint at type level (needed ↵Veetaha2020-03-071-8/+14
|/ / / | | | | | | | | | further)
* | | Merge #3509bors[bot]2020-03-072-1/+24
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3509: Prevent include! macro include itself r=matklad a=edwin0cheng This PR prevent `include` macro including itself. Note: It **does not** prevent a cyclic include: ```rust // foo.rs include!("bar.rs") // bar.rs include!("foo.rs") ``` Co-authored-by: Edwin Cheng <[email protected]>
| * | | Prevent include! macro include itselfEdwin Cheng2020-03-072-1/+24
|/ / /
* | | Merge #3505bors[bot]2020-03-073-6/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3505: Use actions/checkout@v2 r=matklad a=CAD97 --- bors: r+ :robot: Co-authored-by: CAD97 <[email protected]>
| * | | Use actions/checkout@v2CAD972020-03-073-6/+6
| |/ /
* | | Merge #3508bors[bot]2020-03-072-2/+32
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 3508: Use a not so dummy implementation of env macro r=edwin0cheng a=edwin0cheng Currently we have a dummy `env` macro implementation which expand to an empty string, such that a `include!(concat!(env!("OUT_DIR"), "/foo.rs"))` will become `include!("/foo.rs")`, and here may be a infinite loop. :) This PR use a not so dummy version of `env` macro to prevent this infinite loop. Co-authored-by: Edwin Cheng <[email protected]>
| * | Fix test and add more commentEdwin Cheng2020-03-071-1/+4
| | |
| * | Use a not so dummy implementation of env macroEdwin Cheng2020-03-072-1/+28
|/ /
* | Merge #3504bors[bot]2020-03-067-31/+26
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3504: Normalize waiting queries names r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Normalize waiting queries namesAleksey Kladov2020-03-067-31/+26
|/ /
* | Merge #3502bors[bot]2020-03-064-95/+29
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 3502: Don't reuse the Chalk solver r=matklad a=flodiebold This slows down analysis-stats a bit (~5% in my measurement), but improves incremental checking a lot because we can reuse trait solve results. Co-authored-by: Florian Diebold <[email protected]>
| * | Don't reuse the Chalk solverFlorian Diebold2020-03-064-95/+29
| | | | | | | | | | | | | | | This slows down analysis-stats a bit (~5% in my measurement), but improves incremental checking a lot because we can reuse trait solve results.
* | | Merge #3503bors[bot]2020-03-062-7/+7
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 3503: :arrow_up: npm deps r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | :arrow_up: npm depsAleksey Kladov2020-03-062-7/+7
|/ /
* | Merge #3499bors[bot]2020-03-063-38/+93
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3499: Resolve `Self::AssocTy` in impls r=matklad a=flodiebold To do this we need to carry around the original resolution a bit, because `Self` gets resolved to the actual type immediately, but you're not allowed to write the equivalent type in a projection. (I tried just comparing the projection base type with the impl self type, but that seemed too dirty.) This is basically how rustc does it as well. Fixes #3249. Co-authored-by: Florian Diebold <[email protected]>
| * | Resolve `Self::AssocTy` in implsFlorian Diebold2020-03-063-38/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To do this we need to carry around the original resolution a bit, because `Self` gets resolved to the actual type immediately, but you're not allowed to write the equivalent type in a projection. (I tried just comparing the projection base type with the impl self type, but that seemed too dirty.) This is basically how rustc does it as well. Fixes #3249.
* | | Merge #3500bors[bot]2020-03-065-18/+30
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3500: Don't creat public APIs with typos r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Don't creat public APIs with typosAleksey Kladov2020-03-063-3/+3
| | | |
| * | | Concise mode for parameter hintsAleksey Kladov2020-03-064-15/+27
| | | | | | | | | | | | | | | | | | | | This works around VS Code bug where it tries to cram everything in a tiny popup, and brings experience closer to Intellij.
* | | | Merge #3498bors[bot]2020-03-065-6/+46
|\| | | | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3498: Trigger parameter info automatically r=matklad a=matklad See https://github.com/Microsoft/vscode/issues/64023 bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Trigger parameter info automaticallyAleksey Kladov2020-03-063-0/+26
| | | | | | | | | | | | See https://github.com/Microsoft/vscode/issues/64023
| * | Feature flag for arg snippetsAleksey Kladov2020-03-063-4/+18
| | |
| * | Fix comment orderAleksey Kladov2020-03-061-2/+2
| | |
* | | Merge #3497bors[bot]2020-03-063-21/+52
|\| | | |/ |/| | | | | | | | | | | | | | | | | 3497: Allow specifying additional info on call to profile r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Allow specifying additional info on call to profileAleksey Kladov2020-03-063-21/+52
| |
* | Merge #3496bors[bot]2020-03-064-4/+4
|\| | | | | | | | | | | | | | | | | | | | | 3496: Less confusing profile names r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Less confusing profile namesAleksey Kladov2020-03-064-4/+4
|/
* Merge #3494bors[bot]2020-03-064-19/+107
|\ | | | | | | | | | | | | | | | | | | | | | | 3494: Implement include macro r=matklad a=edwin0cheng This PR implement builtin `include` macro. * It does not support include as expression yet. * It doesn't consider `env!("OUT_DIR")` yet. Co-authored-by: Edwin Cheng <[email protected]>
| * Implment include macroEdwin Cheng2020-03-064-19/+107
| |
* | Merge #3493bors[bot]2020-03-061-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3493: make::use_item r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | make::use_itemAleksey Kladov2020-03-061-0/+4
| | |
* | | Merge #3490bors[bot]2020-03-063-1/+95
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 3490: Support aliases and Self in struct literals r=matklad a=flodiebold Fixes #3306. Co-authored-by: Florian Diebold <[email protected]>
| * | Support aliases and Self in struct literalsFlorian Diebold2020-03-063-1/+95
| | | | | | | | | | | | Fixes #3306.
* | | Merge #3492bors[bot]2020-03-062-13/+4
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 3492: Simplify creation of `T[,]` r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Simplify creation of `T[,]`Aleksey Kladov2020-03-062-13/+4
| | |
* | | Merge #3489bors[bot]2020-03-067-38/+51
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 3489: More robust expression lowering r=matklad a=matklad Closes #2236 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Explicitly remember desugard patsAleksey Kladov2020-03-062-6/+10
| | |
| * | Explicitly remember desugard exprsAleksey Kladov2020-03-062-18/+19
| | |
| * | Source map returns a resultAleksey Kladov2020-03-066-18/+26
| | | | | | | | | | | | cc #2236
* | | Merge #3487bors[bot]2020-03-063-19/+72
|\| | | |/ |/| | | | | | | | | | | | | | | | | | | | | | | 3487: Rerail split_import API onto AST r=matklad a=matklad The code is more verbose and less efficient now, but should be reusable in add_import context as well bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Rerail split_import API onto ASTAleksey Kladov2020-03-063-19/+72
|/ | | | | The code is more verbose and less efficient now, but should be reusable in add_import context as well
* Merge #3483bors[bot]2020-03-063-66/+73
|\ | | | | | | | | | | | | | | 3483: Unfold groups with single assists into plain assists r=matklad a=SomeoneToIgnore A follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/3120/files#r378788698 , made to show more detailed label when the assist group contains a single element Co-authored-by: Kirill Bulatov <[email protected]>
| * Unfold groups with single assists into plain assistsKirill Bulatov2020-03-053-66/+73
| |
* | Merge #3482bors[bot]2020-03-062-1/+57
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3482: Fix regression from #3451 r=matklad a=edwin0cheng There is a regression from #3451 such that the following code has failed to parse in raw item collecting phase: ```rust macro_rules! with_std { ($($i:item)*) => ($(#[cfg(feature = "std")]$i)*) } with_std! { mod macros; mod others; } ``` ### Rationale We always assume the last token of an statement will not end with a whitespace, which is true. It is because in parsing phase, we always emit `SyntaxNode` before any whitespace. Such that in various parts of RA code, we solely check the semi-colon by using `SyntaxNode::last_child_token() == ";"` . However, in #3451, we insert some whitespaces between puncts such that we broke above assumption. This PR fixed this bug by make sure we don't add any whitespace if it is a semicolon. Co-authored-by: Edwin Cheng <[email protected]>
| * fix regression from #3451Edwin Cheng2020-03-052-1/+57
| |