aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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
| |/ /
* | | Merge #3380bors[bot]2020-02-295-9/+111
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 3380: Unsizing in method resolution & autoderef for indexing r=matklad a=flodiebold - do autoderef for indexing - do array unsizing (`[T; N]` -> `[T]`) in both method resolution and indexing. It turns out array unsizing is actually the only unsizing coercion that rustc does for method receivers, so this is simpler than I expected. Sadly, this doesn't fix indexing slices/arrays yet, there are still some trait solving problems... Co-authored-by: Florian Diebold <[email protected]>
| * | 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.
* | Merge #3379bors[bot]2020-02-2969-224/+218
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 3379: Rename ast::ImplBlock -> ast::ImplDef r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Rename ast::ImplBlock -> ast::ImplDefAleksey Kladov2020-02-2968-224/+216
| |
| * Add a FIXMEAleksey Kladov2020-02-291-0/+2
|/
* Merge #3377bors[bot]2020-02-296-346/+329
|\ | | | | | | | | | | | | | | 3377: Simplify source binder r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * 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-2540-377/+659
| |\ | | | | | | | | | find-cargo-toml-up-the-fs
| * | Initial debugging codenmio2020-02-241-5/+42
| | |
* | | Merge #3376bors[bot]2020-02-294-18/+86
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3376: Fix a common false-positive type mismatch r=matklad a=flodiebold 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. Co-authored-by: Florian Diebold <[email protected]>
| * | | 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.
* | | Merge #3375bors[bot]2020-02-298-15/+39
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3375: Cleanup editing API a bit r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix typoAleksey Kladov2020-02-293-3/+3
| | | |
| * | | Cleanup editing APIAleksey Kladov2020-02-295-12/+36
|/ / /
* | | Merge #3374bors[bot]2020-02-293-15/+25
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3374: More orthogonal API for building paths r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | More orthogonal API for building pathsAleksey Kladov2020-02-293-15/+25
|/ / /
* | | Merge #3372bors[bot]2020-02-284-13/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3372: vscode: migrate to more type-safe assert impl r=matklad a=Veetaha https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#assertion-functions Co-authored-by: Veetaha <[email protected]>
| * | | vscode: simplify assert.eq() to assert() as per matkladVeetaha2020-02-282-15/+4
| | | |
| * | | vscode: add dat semicolonVeetaha2020-02-281-1/+1
| | | |
| * | | vscode: add equality assertionVeetaha2020-02-282-2/+12
| | | |
| * | | vscode: rename nodeAssert -> nativeAssertVeetaha2020-02-281-2/+2
| | | |
| * | | vscode: add error loging on failed assertionVeetaha2020-02-281-1/+6
| | | |
| * | | vscode: migrate to more type-safe assert implVeetaha2020-02-283-8/+10
| | | |
* | | | Merge #3371bors[bot]2020-02-283-23/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3371: Simplify r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | SimplifyAleksey Kladov2020-02-283-23/+3
|/ / / /
* | | | Merge #3370bors[bot]2020-02-285-533/+538
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3370: Move insert_use util to utils r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Move insert_use util to utilsAleksey Kladov2020-02-285-533/+538
|/ / /
* | | Merge #3369bors[bot]2020-02-282-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3369: Reduce visibility r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | 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
| | | |
* | | | Merge #3364bors[bot]2020-02-283-3/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3364: Fix union classification r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Fix union classificationAleksey Kladov2020-02-283-3/+5
|/ / / /