aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add AST definitions for struct/variant fields etc.Florian Diebold2018-12-253-12/+256
| | | | Fixes #117
* Infer result of struct literals, and recurse into their child expressionsFlorian Diebold2018-12-256-49/+143
|
* Do name resolution by namespace (types/values)Florian Diebold2018-12-2510-84/+212
|
* Add basic HIR and types for structs/enumsFlorian Diebold2018-12-259-29/+244
|
* Merge #331bors[bot]2018-12-251-1/+1
|\ | | | | | | | | | | | | | | 331: Cancelled is not Copy r=matklad a=matklad I'd love to have a backtrace in `Cancelled` to be able to debug "completion is always cancelled" problem. So it probably is a good idea to make `Cancelled` non Copy type, even if it is a ZST in prod. Co-authored-by: Aleksey Kladov <[email protected]>
| * cancelled is not CopyAleksey Kladov2018-12-251-1/+1
|/
* Merge #328bors[bot]2018-12-241-3/+1
|\ | | | | | | | | | | | | | | 328: fix warning conversion r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * fix warning conversionAleksey Kladov2018-12-241-3/+1
|/
* Merge #326bors[bot]2018-12-247-12/+79
|\ | | | | | | | | | | | | | | 326: resolved #324: remove unnecessary braces in use statement. r=matklad a=gfreezy Add inspection for unnecessary braces in use statement Co-authored-by: gfreezy <[email protected]>
| * fix testsgfreezy2018-12-241-1/+1
| |
| * remove option from Diagnosticgfreezy2018-12-244-7/+7
| |
| * keep severity to Error & WeakWarninggfreezy2018-12-242-10/+8
| |
| * remove unnecessary braces in use statmentsgfreezy2018-12-232-4/+2
| |
| * add serverity to vscode diagnosticsgfreezy2018-12-235-12/+32
| |
| * resolved #324: remove unnecessary braces in use statement.gfreezy2018-12-231-2/+53
| |
* | Merge #327bors[bot]2018-12-2422-148/+1189
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 327: Beginnings of type inference r=flodiebold a=flodiebold I was a bit bored, so I thought I'd try to start implementing the type system and see how far I come :wink: This is obviously still extremely WIP, only very basic stuff working, but I thought I'd post this now to get some feedback as to whether this approach makes sense at all. There's no user-visible effect yet, but the type inference has tests similar to the ones for the parser. My next step will probably be to implement struct types, after which this could probably be used to complete fields. I realize this may all get thrown away when/if the compiler query system gets usable, but I feel like there are lots of IDE features that could be implemented with somewhat working type inference in the meantime :smile: Co-authored-by: Florian Diebold <[email protected]>
| * | Change inference tests to have one per fileFlorian Diebold2018-12-246-55/+92
| | |
| * | Rename a variable for consistencyFlorian Diebold2018-12-242-10/+10
| | |
| * | Clean up Ty a bitFlorian Diebold2018-12-241-38/+22
| | | | | | | | | | | | Removing irrelevant comments copied from rustc etc.
| * | Prepare Ty::new for resolutionFlorian Diebold2018-12-231-14/+24
| | |
| * | Type the return values of call expressionsFlorian Diebold2018-12-232-5/+13
| | |
| * | Resolve paths to defs (functions currently) during type inferenceFlorian Diebold2018-12-2317-87/+215
| | |
| * | Make let statements kind of workFlorian Diebold2018-12-235-8/+53
| | |
| * | Remove unwrapsFlorian Diebold2018-12-231-6/+19
| | |
| * | Get rid of the terrible nesting in PathExpr inferenceFlorian Diebold2018-12-231-26/+14
| | |
| * | CleanupFlorian Diebold2018-12-234-108/+110
| | |
| * | Add testing infrastructure for type inferenceFlorian Diebold2018-12-239-124/+222
| | | | | | | | | | | | - move dir_tests to test_utils for that.
| * | Parse integer / float typesFlorian Diebold2018-12-234-4/+58
| | |
| * | Add beginnings of type infrastructureFlorian Diebold2018-12-2311-15/+689
| |/
* | Merge #278bors[bot]2018-12-242-2/+74
|\ \ | | | | | | | | | | | | | | | | | | | | | 278: Add make_pub_crate code action to ra_editor r=matklad a=h-michael implement #170 Co-authored-by: Hirokazu Hata <[email protected]>
| * | Add make_pub_crate code action to ra_editorHirokazu Hata2018-12-242-2/+74
| |/
* | Merge #302bors[bot]2018-12-244-9/+47
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | 302: WIP: Support tracing lsp requests. r=DJMcNab a=DJMcNab EDIT: We need to work out a better way to handle settings before this can be merged. Help wanted TODO: Debug why decorations are sent even when highlightingOn is disabled This makes the log volume so high its impossible to work with anyway. (Continuation of #84 [#99 only disabled using it, not making sure we don't send it]). These logs can be used in https://microsoft.github.io/language-server-protocol/inspector/ Co-authored-by: DJMcNab <[email protected]>
| * Add a very hacky workaround to not trace decorations requestsDJMcNab2018-12-241-1/+25
| |
| * Improve commentDJMcNab2018-12-231-2/+2
| |
| * Undo the previous mistaken change and make publish_decorations optionalDJMcNab2018-12-212-8/+11
| | | | | | | | | | | | | | | | See https://github.com/Microsoft/language-server-protocol/issues/567 for motivations to not require `InitializationOptions` TODO: Check if there are any other protocol extensions which should be disabled if not implemented on the client
| * Disable highlighting if disabledDJMcNab2018-12-201-2/+2
| | | | | | | | | | | | | | | | This isn't working properly because we don't dynamically disable or enable it TODO: work out why highlighting can be enabled mid session. TODO: Improve settings handling
| * Support tracing lsp requests.DJMcNab2018-12-201-0/+11
| | | | | | | | | | | | TODO: Debug why decorations are sent even when highlightingOn is disabled This makes the log volume so high its impossible to work with anyway
* | Merge #310bors[bot]2018-12-221-5/+54
|\ \ | | | | | | | | | | | | | | | | | | | | | 310: When constructing a crate graph, detect and forbid cycles. r=matklad a=gfreezy fixed #300 Co-authored-by: gfreezy <[email protected]>
| * | mark as visited on entry instead of leftgfreezy2018-12-221-2/+2
| | |
| * | not visit the same crateId only oncegfreezy2018-12-221-14/+16
| | |
| * | add #[cfg(test)]gfreezy2018-12-211-1/+2
| | |
| * | rename to dfs_findgfreezy2018-12-211-3/+3
| | |
| * | When constructing a crate graph, detect and forbid cycles.gfreezy2018-12-211-6/+52
| | | | | | | | | | | | fixed #300
* | | Merge #323bors[bot]2018-12-222-5/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 323: workaround salsa/parking-log bug r=matklad a=matklad https://github.com/salsa-rs/salsa/issues/99 https://github.com/Amanieu/parking_lot/issues/101 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | workaround salsa/parking-log bugAleksey Kladov2018-12-222-5/+12
|/ / / | | | | | | | | | | | | https://github.com/salsa-rs/salsa/issues/99 https://github.com/Amanieu/parking_lot/issues/101
* | | Merge #322bors[bot]2018-12-221-13/+17
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 322: Fix analyzer extension fail when there are enabled any VIM extension r=matklad a=max-frai `type` command is allowed only once to be registered and it was built specially for vim mode. So if user has vim extension enabled, rust-analyzer initialization failes on trying to register own `type` handler. Unfortunatelly, there are no nice ways to check if command is already registered so the way is to wrap everything with try/catch and notify user about conflict. Co-authored-by: frai <[email protected]>
| * | | Fix analyzer extension fail when there are enabled any VIM extension.frai2018-12-221-13/+17
|/ / /
* | | less chatty loggingAleksey Kladov2018-12-221-0/+7
| | |
* | | Merge #321bors[bot]2018-12-225-11/+62
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 321: More useful logging r=matklad a=matklad Try not to log *huge* messages, to make logging more useful. Co-authored-by: Aleksey Kladov <[email protected]>
| * | | less verbose debugAleksey Kladov2018-12-222-8/+45
| | | |