aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty.rs
Commit message (Collapse)AuthorAgeFilesLines
* Implement match binding type inference and arm unificationMarcus Klaas de Vries2019-01-191-7/+17
|
* Implement unlabeled struct field pattern inferenceMarcus Klaas de Vries2019-01-191-11/+4
|
* Get basic struct pattern type inference working!Marcus Klaas de Vries2019-01-191-49/+94
|
* Create struct patterns up to the hir levelMarcus Klaas de Vries2019-01-191-0/+2
|
* Add crude implementation of tuplestruct pattern inferenceMarcus Klaas de Vries2019-01-191-26/+55
|
* Work on type inference for ADT patternsMarcus Klaas de Vries2019-01-191-2/+28
|
* Implement type inference for tuples and refsMarcus Klaas de Vries2019-01-191-7/+32
|
* Add additional pattern variantsMarcus Klaas de Vries2019-01-191-0/+5
|
* Add Ty::Array to walk_mutHirokazu Hata2019-01-161-3/+3
|
* Remove unneeded codeHirokazu Hata2019-01-161-2/+2
|
* Fix Ty::ArrayHirokazu Hata2019-01-161-21/+16
|
* Implement array inferenceHirokazu Hata2019-01-161-1/+22
|
* Implement rudimentary type inference for unary operatorsMarcus Klaas de Vries2019-01-151-2/+15
|
* remove Cancelable from type inferenceAleksey Kladov2019-01-151-71/+57
|
* remove Cancelable from TyAleksey Kladov2019-01-151-60/+48
|
* remove Cancelable from idsAleksey Kladov2019-01-151-6/+6
|
* remove Cancelable from nameresAleksey Kladov2019-01-151-3/+3
|
* remove Cancelable from fn_scopesAleksey Kladov2019-01-151-1/+1
|
* remove Cancelable from funciton bodyAleksey Kladov2019-01-151-1/+1
|
* remove Cancelable from navigation targetAleksey Kladov2019-01-151-3/+3
|
* remove Cancelable from adt APIAleksey Kladov2019-01-151-4/+4
|
* check_canceled does not return ResultAleksey Kladov2019-01-151-1/+1
|
* Address issues found in reviewMarcus Klaas de Vries2019-01-141-1/+1
|
* Fixup testsMarcus Klaas de Vries2019-01-141-21/+25
|
* don't try to treat arrays and tuples as literalsMarcus Klaas de Vries2019-01-141-29/+20
|
* Use type variables to determine exact type for ambiguous numeric literalsMarcus Klaas de Vries2019-01-141-6/+39
|
* Try implementing integer type inference (WIP)Marcus Klaas de Vries2019-01-141-26/+27
|
* Implement type inference for literals (WIP)Marcus Klaas de Vries2019-01-141-1/+32
|
* goto defenition works for type-inferred methodsAleksey Kladov2019-01-131-3/+22
|
* Implement tuple inferenceHirokazu Hata2019-01-131-0/+8
|
* args -> paramsFlorian Diebold2019-01-121-6/+6
|
* Implement basic inherent method resolutionFlorian Diebold2019-01-121-7/+32
|
* Fix assertion error in unification (hopefully)Florian Diebold2019-01-111-7/+33
| | | | | | | Currently, all types that we handle during inference need to be resolved as far as possible at the time. It's maybe too brittle of an invariant; I need to think how we can do this better. This should fix #484 though, I hope (if it's the same case as I managed to reproduce).
* actually produce missing def kindsAleksey Kladov2019-01-111-2/+6
|
* Implement type inference for enum variantsMarcus Klaas de Vries2019-01-101-6/+14
|
* nicer trailing comma handling in typesAleksey Kladov2019-01-091-9/+13
|
* Fix typos in ARCHITECTURE.md and a number of cratesMarcus Klaas de Vries2019-01-091-2/+2
| | | | specifically: gen_lsp_server, ra_arena, ra_cli, ra_db, ra_hir
* ra_db is independent from editorAleksey Kladov2019-01-081-0/+1
|
* Process explicit type hints for str, bool and charMarcus Klaas de Vries2019-01-071-1/+7
|
* Tidy up binary operator type inference; add test fileMarcus Klaas de Vries2019-01-071-44/+41
|
* Implement type inference for more binary operatorsMarcus Klaas de Vries2019-01-071-11/+74
| | | | | Mostly just for primitive numeric types such as u32 and f64. Not yet a general solution using trait resolution.
* Add remaining binary operations to ASTMarcus Klaas de Vries2019-01-071-0/+1
|
* Implement autoderef for field accessesFlorian Diebold2019-01-071-22/+50
|
* Introduce ArenaMapFlorian Diebold2019-01-061-12/+12
|
* Use HIR Expr for type inferenceFlorian Diebold2019-01-061-316/+228
| | | | | Now we can reuse the type inference inside a function when typing whitespace etc. :)
* Merge #440bors[bot]2019-01-061-2/+33
|\ | | | | | | | | | | | | | | | | | | 440: Implement type inference for boolean operators r=flodiebold a=marcusklaas Tried implementing the easiest part of https://github.com/rust-analyzer/rust-analyzer/issues/390. Hope this is somewhat close to what the intent of the issue was. Found it surprisingly easy to find my way around the repository - it's well organized! Very grateful for any pointers. Co-authored-by: Marcus Klaas de Vries <[email protected]>
| * Touch up type inference for boolean operatorsMarcus Klaas de Vries2019-01-061-7/+29
| | | | | | | | | | Also try to infer its subexpressions and set type expectations whenever possible.
| * Implement type inference for boolean operatorsMarcus Klaas de Vries2019-01-051-2/+11
| |
* | Make FnScopes use hir::ExprFlorian Diebold2019-01-051-13/+6
|/ | | | | | This was a bit complicated. I've added a wrapper type for now that does the LocalSyntaxPtr <-> ExprId translation; we might want to get rid of that or give it a nicer interface.
* Rename ImplBlock::target -> target_type, and add target_trait alreadyFlorian Diebold2019-01-041-2/+2
|