aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | 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
| | | |
* | | | Merge #3360bors[bot]2020-02-283-8/+37
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 3360: Parse attribues in RHS of let statments r=matklad a=edwin0cheng Fixed #3315 Co-authored-by: Edwin Cheng <[email protected]>
| * | | Parse attr in rhs of let stmtsEdwin Cheng2020-02-283-8/+37
| | | |
* | | | Merge #3359bors[bot]2020-02-282-79/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3359: Remove AnalysisHost::type_of r=matklad a=edwin0cheng This PR remove ` AnalysisHost::type_of` (It is subsume by hover now) and use `Semantics::type_of_x` to infer the type inside `hover` directly. And this also solved a bug : Right now hovering on a string literal inside a macro will show up a `&str` popup correctly. (Except if that involved builtin macro, e.g. `println`) Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Fix typoEdwin Cheng2020-02-281-1/+1
| | | | |
| * | | | Remove hover::type_ofEdwin Cheng2020-02-282-79/+24
| |/ / /
* / / / introduce const visibility assistDouglas Campos2020-02-281-4/+9
|/ / /
* | | Refactor string literalsAleksey Kladov2020-02-273-63/+80
| | |
* | | Merge pull request #3350 from edwin0cheng/give-up-hover-in-builtin-macroAleksey Kladov2020-02-271-0/+25
|\ \ \ | | | | | | | | Ignore hover on builtin macro
| * | | Ignore hover on builtin macroEdwin Cheng2020-02-271-0/+25
| | | |
* | | | Basic injectionsAleksey Kladov2020-02-275-23/+120
| | | |
* | | | Ensure that semantic tokens are single-lineAleksey Kladov2020-02-272-3/+52
|/ / /
* | | Move tests to a new fileAleksey Kladov2020-02-272-134/+129
| | |
* | | More cleanupAleksey Kladov2020-02-271-114/+108
| | |
* | | Split loop into orthogonal phasesAleksey Kladov2020-02-271-44/+43
| | |
* | | CleanupAleksey Kladov2020-02-271-37/+34
| | |