aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix parsing of stement-ish binary expressionsAleksey Kladov2020-03-113-2/+49
| | | | closes #3512
* Merge #3557bors[bot]2020-03-112-154/+222
|\ | | | | | | | | | | | | | | | | | | | | 3557: Continue multiline non-doc comment blocks r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Continue multiline non-doc comment blocksAleksey Kladov2020-03-111-3/+35
| |
| * Split on enter testsAleksey Kladov2020-03-111-15/+28
| |
| * Move on enter to a separate moduleAleksey Kladov2020-03-112-154/+177
|/
* Merge #3549bors[bot]2020-03-1120-72/+320
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3549: Implement env! macro r=matklad a=edwin0cheng This PR implements `env!` macro by adding following things: 1. Added `additional_outdirs` settings in vscode. (naming to be bikeshed) 2. Added `ExternSourceId` which is a wrapping for SourceRootId but only used in extern sources. It is because `OUT_DIR` is not belonged to any crate and we have to access it behind an `AstDatabase`. 3. This PR does not implement the `OUT_DIR` parsing from `cargo check`. I don't have general design about this, @kiljacken could we reuse some cargo watch code for that ? ~~Block on [#3536]~~ PS: After this PR , we (kind of) completed the `include!(concat!(env!('OUT_DIR'), "foo.rs")` macro call combo. [Exodia Obliterate!](https://www.youtube.com/watch?v=RfqNH3FoGi0) Co-authored-by: Edwin Cheng <[email protected]>
| * Add extern sourceEdwin Cheng2020-03-118-11/+49
| |
| * Add and fix testsEdwin Cheng2020-03-102-60/+141
| |
| * Setup Env in worldEdwin Cheng2020-03-103-8/+52
| |
| * Add resolve_extern_path in DBEdwin Cheng2020-03-105-3/+48
| |
| * Add ExternSourceId and env functionsEdwin Cheng2020-03-101-0/+27
| |
| * Add additional_outdirs in configEdwin Cheng2020-03-106-0/+13
| |
* | Merge #3555bors[bot]2020-03-1116-40/+93
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3555: Introduce completion test utils r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Introduce completion test utilsAleksey Kladov2020-03-1116-48/+49
| | |
| * | Add a test for disabled argument snippetsAleksey Kladov2020-03-113-5/+57
| | |
* | | Merge #3542bors[bot]2020-03-112-26/+210
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3542: Renames work on struct field shorthands r=matklad a=m-n When renaming either a local or a struct field, struct field shorthands are now renamed correctly. Happy to refactor this if it doesn't fit the design of the code. Thanks for adding the suggestion of where to start on the issue. I wasn't sure if I should also look at the behavior of renaming when placing the cursor at the field shorthand; the following describes the behavior with this patch: ```rust #[test] fn test_rename_field_shorthand_for_unspecified() { // when renaming a shorthand, should we have a way to specify // between renaming the field and the local? // // If not is this the correct default? test_rename( r#" struct Foo { i: i32, } impl Foo { fn new(i: i32) -> Self { Self { i<|> } } } "#, "j", r#" struct Foo { i: i32, } impl Foo { fn new(j: i32) -> Self { Self { i: j } } } "#, ); } ``` Resolves #3431 Co-authored-by: Matt Niemeir <[email protected]>
| * | find_usages limited to actual usages againMatt Niemeir2020-03-112-14/+84
| | |
| * | Renaming a local renames struct field shorthandMatt Niemeir2020-03-102-14/+58
| | |
| * | Struct field rename renames field in constructor field shorthandMatt Niemeir2020-03-102-26/+96
| | |
* | | Merge #3552bors[bot]2020-03-102-3/+56
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3552: Fix completion with a partially unknown type r=matklad a=flodiebold To test whether the receiver type matches for the impl, we unify the given self type (in this case `HashSet<{unknown}>`) with the self type of the impl (`HashSet<?0>`), but if the given self type contains Unknowns, they won't be unified with the variables in those places. So we got a receiver type that was different from the expected one, and concluded the impl doesn't match. The fix is slightly hacky; if after the unification, our variables are still there, we make them fall back to Unknown. This does make some sense though, since we don't want to 'leak' the variables. Fixes #3547. Co-authored-by: Florian Diebold <[email protected]>
| * | | Fix completion with a partially unknown typeFlorian Diebold2020-03-102-3/+56
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To test whether the receiver type matches for the impl, we unify the given self type (in this case `HashSet<{unknown}>`) with the self type of the impl (`HashSet<?0>`), but if the given self type contains Unknowns, they won't be unified with the variables in those places. So we got a receiver type that was different from the expected one, and concluded the impl doesn't match. The fix is slightly hacky; if after the unification, our variables are still there, we make them fall back to Unknown. This does make some sense though, since we don't want to 'leak' the variables. Fixes #3547.
* | | Merge #3551bors[bot]2020-03-1014-68/+88
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3551: Move FeatureFlags r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Move FeatureFlagsAleksey Kladov2020-03-108-42/+24
| | | |
| * | | Pull completion options up to the rust-analyzerAleksey Kladov2020-03-105-23/+31
| | | |
| * | | Introduce CompletionOptionsAleksey Kladov2020-03-106-18/+48
| | |/ | |/|
* | | Merge #3550bors[bot]2020-03-102-5/+5
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 3550: Force latest stable r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Force latest stablekjeremy2020-03-102-5/+5
|/ /
* | Merge #3536bors[bot]2020-03-103-15/+61
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3536: Add get and set for `Env` r=matklad a=edwin0cheng This PR add three things : 1. Add `get` and `set` in `Env`. 2. Implement fixture meta for `with_single_file`. 3. Add `env` meta in fixture. Co-authored-by: Edwin Cheng <[email protected]>
| * | Check only one fixtureEdwin Cheng2020-03-101-1/+6
| | |
| * | Add fixture meta for single file fixtureEdwin Cheng2020-03-103-15/+56
| | |
* | | Merge pull request #3506 from slyngbaek/3183Aleksey Kladov2020-03-101-16/+128
|\ \ \ | |/ / |/| | Next steps in assoc item completion #3183
| * | Switch to explicit offsets for impl_defSteffen Lyngbaek2020-03-091-26/+11
| | | | | | | | | | | | Blacklists are prone to more errors
| * | Clean up completion matching.Steffen Lyngbaek2020-03-091-24/+53
| | | | | | | | | | | | - Add test to ensure nested completions don't happen
| * | Don't allow nested completionsSteffen Lyngbaek2020-03-081-13/+18
| | |
| * | Next steps in assoc item completion #3183Steffen Lyngbaek2020-03-071-6/+99
| | | | | | | | | | | | | | | | | | | | | | | | Allow trait autocompletions for unimplemented associated fn's, types, and consts without using explicit keywords before hand (fn, type, const). The sequel to #3108.
* | | Merge #3546bors[bot]2020-03-103-14/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3546: :arrow_up: fst r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | :arrow_up: fstAleksey Kladov2020-03-103-14/+5
|/ / /
* | | Merge #3545bors[bot]2020-03-101-12/+3
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 3545: Remove c2-chacha dependency r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Remove c2-chaha dependencykjeremy2020-03-101-12/+3
|/ /
* | Merge #3533bors[bot]2020-03-095-11/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 3533: Updates insta to 0.15.0 and bumps console to 0.10.0 r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Updates insta to 0.15.0 and bumps console to 0.10.0kjeremy2020-03-095-11/+10
| | |
* | | Merge #3532bors[bot]2020-03-094-7/+9
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 3532: Fix SelectionRange return type r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Fix SelectionRange return typekjeremy2020-03-094-7/+9
|/ /
* | Set extension version during releaseAleksey Kladov2020-03-092-4/+10
| |
* | Disable jemalloc, it doesn't work out of the box with muslAleksey Kladov2020-03-091-1/+3
| |
* | Merge #3531bors[bot]2020-03-091-2/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3531: Use jemalloc for linux builds r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Use jemalloc for linux buildsAleksey Kladov2020-03-091-2/+6
| | |
* | | Merge #3530bors[bot]2020-03-091-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3530: Fix quotes r=matklad a=matklad closes #3501 bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Fix quotesAleksey Kladov2020-03-091-1/+1
|/ / | | | | | | closes #3501
* | Merge #3528bors[bot]2020-03-091-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3528: Print crate name in profil r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>