aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Tighten up an assertAleksey Kladov2020-03-021-0/+4
|
* Merge #3387bors[bot]2020-03-012-2/+108
|\ | | | | | | | | | | | | | | | | | | | | | | | | 3387: Type inference for slice patterns r=flodiebold a=JoshMcguigan Fixes #3043 Notes to reviewer: 1. This only works if `expected` is `Ty::Apply`. I'm not sure of the implications of this. 1. This only works if the slice pattern only has a prefix. I think this means it doesn't work for subslice patterns, which are currently only available behind a feature flag. Co-authored-by: Josh Mcguigan <[email protected]>
| * handle array pattern matching type inferenceJosh Mcguigan2020-03-012-10/+55
| |
| * remove match statement, handle suffixJosh Mcguigan2020-03-012-14/+11
| |
| * handle arbitrary length slicesJosh Mcguigan2020-03-012-12/+29
| |
| * match single prefix sliceJosh Mcguigan2020-03-012-1/+48
| |
* | Merge #3384bors[bot]2020-03-014-6/+88
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | 3384: fix #2377 super::super::* r=flodiebold a=JoshMcguigan Thanks @matklad for the detailed explanation on #2377. I believe this fixes it. One thing I'm not sure about is you said the fix would involve changing `crates/ra_hir_def/src/path/lower/lower.rs`, but I only changed `crates/ra_hir_def/src/path/lower/lower_use.rs`. I'm not sure what kind of test code I'd have to write to expose the issue in `lower.rs`, but I'd be happy to add it if you are able to provide additional guidance. closes #2377 Co-authored-by: Josh Mcguigan <[email protected]>
| * fix completion for super::super::Josh Mcguigan2020-03-012-2/+45
| |
| * fix #2377 super::super::*Josh Mcguigan2020-03-012-4/+43
| |
* | Merge #3383bors[bot]2020-02-292-70/+59
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3383: Slightly refactor inlay hints r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Slightly refactor inlay hintsAleksey Kladov2020-02-292-70/+59
| | |
* | | Merge #3382bors[bot]2020-02-291-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3382: ra_project_model: migrate to Sysroot::alloc() r=matklad a=Veetaha Co-authored-by: Veetaha <[email protected]>
| * | | ra_project_model: migrate to Sysroot::alloc()Veetaha2020-02-291-1/+1
| | | |
* | | | Merge #3381bors[bot]2020-02-291-1/+0
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3381: Remove debug print r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Remove debug printAleksey Kladov2020-02-291-1/+0
| |/ /
* | | Do autoderef for indexingFlorian Diebold2020-02-294-7/+74
| | |
* | | Do array unsizing for method receiversFlorian Diebold2020-02-292-2/+37
|/ / | | | | | | | | | | | | It turns out rustc actually only unsizes array method receivers, so we don't need to do any trait solving for this (at least for now). Fixes #2670.
* | Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-2967-221/+213
| |
* | Add a FIXMEAleksey Kladov2020-02-291-0/+2
|/
* Handle tuple fields as wellAleksey Kladov2020-02-292-1/+7
|
* MinorAleksey Kladov2020-02-292-5/+4
|
* Simplify SourceBinderAleksey Kladov2020-02-296-349/+321
|
* Small cleanupAleksey Kladov2020-02-291-9/+15
|
* Merge #3309bors[bot]2020-02-292-10/+70
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3309: Find cargo toml up the fs r=matklad a=not-much-io Currently rust-analyzer will look for Cargo.toml in the root of the project and if failing that then go down the filesystem until root. This unfortunately wouldn't work automatically with (what I imagine is) a fairly common project structure. As an example with multiple languages like: ``` js/ .. rust/ Cargo.toml ... ``` Added this small change so rust-analyzer would glance one level up if not found in root or down the filesystem. ## Why not go deeper? Could be problematic with large project vendored dependencies etc. ## Why not add a Cargo.toml manual setting option? Loosely related and a good idea, however the convenience of having this automated also is hard to pass up. ## Testing? Build a binary with various logs and checked it in a project with such a structure: ``` [ERROR ra_project_model] find_cargo_toml() [ERROR ra_project_model] find_cargo_toml_up_the_fs() [ERROR ra_project_model] entities: ReadDir("/workspaces/my-project") [ERROR ra_project_model] candidate: "/workspaces/my-project/rust/Cargo.toml", exists: true ``` ## Edge Cases? If you have multiple Cargo.toml files one level deeper AND not in the root, will get whatever comes first (order undefined), example: ``` crate1/ Cargo.toml crate2/ Cargo.toml ... (no root Cargo.toml) ``` However this is quite unusual and wouldn't have worked before either. This is only resolvable via manually choosing. Co-authored-by: nmio <[email protected]>
| * lint warn fixnmio2020-02-291-4/+2
| |
| * keep one CargoTomlNotFoundErrornmio2020-02-292-29/+37
| |
| * remove code used for testingnmio2020-02-271-1/+1
| |
| * fix unneeded bodynmio2020-02-271-6/+2
| |
| * fixes and improvementsnmio2020-02-272-24/+50
| |
| * clean upnmio2020-02-251-7/+2
| |
| * Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzer into ↵nmio2020-02-2519-146/+402
| |\ | | | | | | | | | find-cargo-toml-up-the-fs
| * | Initial debugging codenmio2020-02-241-5/+42
| | |
* | | Fix a common false-positive type mismatchFlorian Diebold2020-02-294-18/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | E.g. for `&{ some_string() }` in a context where a `&str` is expected, we reported a mismatch inside the block. The problem is that we're passing an expectation of `str` down, but the expectation is more of a hint in this case. There's a long comment in rustc about this, which I just copied. Also, fix reported location for type mismatches in macros.
* | | Fix typoAleksey Kladov2020-02-293-3/+3
| | |
* | | Cleanup editing APIAleksey Kladov2020-02-295-12/+36
| | |
* | | More orthogonal API for building pathsAleksey Kladov2020-02-293-15/+25
| | |
* | | SimplifyAleksey Kladov2020-02-283-23/+3
| | |
* | | Move insert_use util to utilsAleksey Kladov2020-02-285-533/+538
| | |
* | | Reduce visibilityAleksey Kladov2020-02-282-3/+3
| | |
* | | Merge #3367bors[bot]2020-02-2813-71/+144
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3367: Fix highlighting of const patterns r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Correctly flag 'lifetime definitions as definitionsAleksey Kladov2020-02-286-40/+47
| | | |
| * | | Fix highlighting of const patternsAleksey Kladov2020-02-285-16/+61
| | | |
| * | | Classify name takes const patterns into accountAleksey Kladov2020-02-286-23/+44
| | | |
* | | | Merge #3366bors[bot]2020-02-282-38/+51
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3366: Simpilfy original_range logic r=matklad a=edwin0cheng This PR fixed another [bug](https://github.com/rust-analyzer/rust-analyzer/issues/3000#issuecomment-592474844) which incorrectly map the wrong range of `punct` in macro_call and simplify the logic a little bit by introducing an `ascend_call_token` function. Co-authored-by: Edwin Cheng <[email protected]>
| * | | Simpilfy origin_range logicEdwin Cheng2020-02-282-38/+51
| | | |
* | | | Fix union classificationAleksey Kladov2020-02-282-1/+5
| | | |
* | | | Merge #3363bors[bot]2020-02-288-136/+167
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3363: Cleanup highlighting tags r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix highlighting testAleksey Kladov2020-02-285-49/+55
| | | |
| * | | Cleanup highlighting tagsAleksey Kladov2020-02-284-85/+99
| | | |
| * | | add more tagsAleksey Kladov2020-02-284-21/+32
| | | |