aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Centralize the check for languageId on documentJulien Roncaglia2020-03-025-24/+25
| | | | Also move visibleRustEditors to Ctx
* Remove inlay in diff viewsJulien Roncaglia2020-03-011-1/+10
| | | | | | | | If the left side of a diff view that contain the old version of the file apply inlays they are misplaced. The detection is done by blacklisting the url schemes used by git and subversion scm extensions.
* 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
| |/
* | 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
| | | |