aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Add a hacky remidy for #6038Aleksey Kladov2020-10-202-0/+28
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | The proper fix I think is: * move rust-lang/rust library crates to a separate workspace * when packaging rust-src component, vendor sources of external deps
* / | | | Add descriptions for diagnostics parseable by xtaskIgor Aleksanov2020-10-192-0/+64
|/ / / /
* | | | Minor, rename featureAleksey Kladov2020-10-191-1/+1
| | | |
* | | | Try to fix publishingAleksey Kladov2020-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This errro specifically: Updating crates.io index error: failed to select a version for the requirement `ra_ap_stdx = "^0.0.0"` candidate versions found which didn't match: 0.0.20 location searched: /home/runner/work/rust-analyzer/rust-analyzer/crates/stdx required by package `ra_ap_completion v0.0.20 (/home/runner/work/rust-analyzer/rust-analyzer/crates/completion)` error: unable to update Cargo.lock Error: Process completed with exit code 1.
* | | | Change visibility works for type aliasesAleksey Kladov2020-10-182-5/+19
| | | |
* | | | Extract call_info and completion into separate cratesIgor Aleksanov2020-10-1832-226/+300
| | | |
* | | | update depsAleksey Kladov2020-10-181-1/+1
| | | |
* | | | Complete methods when receiver is a macroAleksey Kladov2020-10-172-0/+16
| | | |
* | | | Improve readabilityAleksey Kladov2020-10-171-2/+4
| | | |
* | | | Scan all ancestors for the impl trait block checkIgor Aleksanov2020-10-172-14/+17
| | | |
* | | | Allow hints after 'fn' keyword if it's an impl trait blockIgor Aleksanov2020-10-173-4/+37
| | | |
* | | | Add test for new pattern functionsIgor Aleksanov2020-10-171-0/+8
| | | |
* | | | Improve test_no_completions_required testIgor Aleksanov2020-10-171-1/+17
| | | |
* | | | Remove redundant completionsIgor Aleksanov2020-10-173-4/+70
| |/ / |/| |
* | | Merge #6246bors[bot]2020-10-161-8/+9
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6246: Follow symlinks when walking project trees r=lnicola a=dfoxfranke Fixes #3691. ~~WIP pending further testing~~: - [X] Verify that symlinked files get indexed. - [x] Verify that files in symlinked directories get indexed. - [x] Verify that inotify events are properly received and handled when the target of a symlink resides outside the project tree. Co-authored-by: Daniel Fox Franke <[email protected]>
| * | Follow symlinks when walking project treesDaniel Fox Franke2020-10-151-8/+9
| |/ | | | | | | Fixes #3691
* | Merge #6220bors[bot]2020-10-153-5/+126
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6220: implement binary operator overloading type inference r=flodiebold a=ruabmbua Extend type inference of *binary operator expression*, by adding support for operator overloads. Before this merge request, the type inference of binary expressions could only resolve operations done on built-in primitive types. This merge requests adds a code path, which is executed in case the built-in inference could not get any results. It resolves the proper operator overload trait in *core::ops* via lang items, and then resolves the associated *Output* type. ```rust struct V2([f32; 2]); #[lang = "add"] pub trait Add<Rhs = Self> { /// The resulting type after applying the `+` operator. type Output; /// Performs the `+` operation. #[must_use] fn add(self, rhs: Rhs) -> Self::Output; } impl Add<V2> for V2 { type Output = V2; fn add(self, rhs: V2) -> V2 { let x = self.0[0] + rhs.0[0]; let y = self.0[1] + rhs.0[1]; V2([x, y]) } } fn test() { let va = V2([0.0, 1.0]); let vb = V2([0.0, 1.0]); let r = va + vb; // This infers to V2 now } ``` There is a problem with operator overloads, which do not explicitly set the *Rhs* type parameter in the respective impl block. **Example:** ```rust impl Add for V2 { type Output = V2; fn add(self, rhs: V2) -> V2 { let x = self.0[0] + rhs.0[0]; let y = self.0[1] + rhs.0[1]; V2([x, y]) } } ``` In this case, the trait solver does not realize, that the *Rhs* type parameter is actually self in the context of the impl block. This stops type inference in its tracks, and it can not resolve the associated *Output* type. I guess we can still merge this back, because it increases the amount of resolved types, and does not regress anything (in the tests). Somewhat blocked by https://github.com/rust-analyzer/rust-analyzer/issues/5685 Resolves https://github.com/rust-analyzer/rust-analyzer/issues/5544 Co-authored-by: Roland Ruckerbauer <[email protected]>
| * | binary operator overload type inference: add test markRoland Ruckerbauer2020-10-142-0/+6
| | |
| * | Implement binary operator overloading type inferenceRoland Ruckerbauer2020-10-133-5/+120
| | |
* | | Clarify the names one more timeAleksey Kladov2020-10-157-17/+26
| | |
* | | More idiomatic classification APIAleksey Kladov2020-10-1511-196/+196
| | |
* | | More clarificationsAleksey Kladov2020-10-156-17/+17
| | |
* | | Unconfuse expression and pattern field init shorthandsAleksey Kladov2020-10-153-8/+12
| | |
* | | Clarify NameClass names a bitAleksey Kladov2020-10-156-7/+7
| | |
* | | Merge #6242bors[bot]2020-10-152-91/+210
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6242: Diagnost shorthand in patterns r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Move field_shorthand to a separate moduleAleksey Kladov2020-10-152-196/+211
| | | |
| * | | Diagnose shorthand in patterns as wellAleksey Kladov2020-10-151-5/+94
| | | |
| * | | flattenAleksey Kladov2020-10-151-26/+33
| | | |
| * | | Prepare for pat_field_shorthandAleksey Kladov2020-10-151-5/+13
| | | |
* | | | Merge #6234bors[bot]2020-10-151-1/+24
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6234: Fix hover over field pattern shorthand r=matklad a=Vlad-Shcherbina Instead of the information about the field, it now shows the information about the local. Fixes #6146 Co-authored-by: Vlad Shcherbina <[email protected]>
| * | | Fix hover over field pattern shorthandVlad Shcherbina2020-10-141-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of the information about the field, it now shows the information about the local. Fixes #6146
* | | | Document auto_import as a featureLukas Wirth2020-10-151-0/+55
| | | |
* | | | Merge #6231bors[bot]2020-10-143-190/+231
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 6231: Factor macro_rules and format-string highlighting out into submodules r=Veykril a=Veykril This moves `format`-like macro string highlighting and macro_rules highlight skipping out of the main module. Co-authored-by: Lukas Wirth <[email protected]>
| * | | Default::default the highlightersLukas Wirth2020-10-143-18/+7
| | | |
| * | | Factor macro_rules! highlighting outLukas Wirth2020-10-142-117/+154
| | | |
| * | | Factor format string highlighting outLukas Wirth2020-10-142-75/+90
| | |/ | |/|
* | | Log around sysroot discoveryAleksey Kladov2020-10-141-0/+4
| |/ |/|
* | Add docs for dbgr and callLaurențiu Nicola2020-10-141-0/+2
| |
| |
| \
*-. \ Merge #6207 #6224 #6226 #6227bors[bot]2020-10-144-242/+298
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6207: Extract ImportAssets out of auto_import r=matklad a=Veykril See https://github.com/rust-analyzer/rust-analyzer/pull/6172#issuecomment-707182140 I couldn't fully pull out `AssistContext` as `find_node_at_offset_with_descend`: https://github.com/rust-analyzer/rust-analyzer/blob/81fa00c5b5d5ffb559a39c7ff5190a2519a8ea61/crates/assists/src/assist_context.rs#L90-L92 requires the `SourceFile` which is private in it and I don't think making it public just for this is the right call? 6224: :arrow_up: salsa r=matklad a=matklad bors r+ 🤖 6226: Add reminder to update lsp-extensions.md r=matklad a=matklad bors r+ 🤖 6227: Reduce bors timeout r=matklad a=matklad bors r+ 🤖 Co-authored-by: Lukas Wirth <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
* \ \ \ Merge #6217bors[bot]2020-10-142-13/+16
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6217: Bump pulldown-cmark r=matklad a=lnicola Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | | | Bump pulldown-cmarkLaurențiu Nicola2020-10-132-13/+16
| | |_|/ | |/| |
* / | | Fix stackoverflow in insert_use::recursive_mergeLukas Wirth2020-10-143-2/+53
|/ / /
| | * :arrow_up: salsaAleksey Kladov2020-10-141-1/+1
| |/ |/|
* | Merge #6216bors[bot]2020-10-135-6/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | 6216: Bump deps r=matklad a=lnicola Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | Bump rustc_lexerLaurențiu Nicola2020-10-131-1/+1
| | |
| * | Bump crossbeam-channel and lsp-server in rust-analyzerLaurențiu Nicola2020-10-131-2/+2
| | |
| * | Bump crossbeam-channel in cratesLaurențiu Nicola2020-10-133-3/+3
| | |
* | | Fix MergeBehaviour::Full not working when merging nested long pathsLukas Wirth2020-10-132-4/+33
|/ /
| * Slightly cleanup import_assets moduleLukas Wirth2020-10-132-62/+84
| |
| * Adhere to style guidelines in import_assetsLukas Wirth2020-10-132-43/+45
| |