aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty
Commit message (Collapse)AuthorAgeFilesLines
* Implement beginnings of genericsFlorian Diebold2019-01-194-46/+57
| | | | | | | - add HIR for generic params - resolve generic params in type paths - add substitions for ADTs - insert type variables for substitutions
* Add some testsFlorian Diebold2019-01-194-0/+121
|
* Fixup annotated bindingsMarcus Klaas de Vries2019-01-193-3/+19
|
* Add initial (flawed) implementation of binding annotationsMarcus Klaas de Vries2019-01-191-0/+4
|
* Make pattern inference work w/o proper expecationsMarcus Klaas de Vries2019-01-191-1/+25
|
* Infer pattern types for lambdas and loopsMarcus Klaas de Vries2019-01-191-0/+10
|
* Implement match binding type inference and arm unificationMarcus Klaas de Vries2019-01-191-1/+8
|
* Implement unlabeled struct field pattern inferenceMarcus Klaas de Vries2019-01-191-0/+5
|
* Get basic struct pattern type inference working!Marcus Klaas de Vries2019-01-191-12/+11
|
* Add crude implementation of tuplestruct pattern inferenceMarcus Klaas de Vries2019-01-192-14/+34
|
* Work on type inference for ADT patternsMarcus Klaas de Vries2019-01-191-1/+4
|
* Implement type inference for tuples and refsMarcus Klaas de Vries2019-01-192-0/+26
|
* Add additional pattern variantsMarcus Klaas de Vries2019-01-191-0/+15
|
* :arrow_up: salsaAleksey Kladov2019-01-171-3/+1
|
* Add Ty::Array to walk_mutHirokazu Hata2019-01-161-32/+32
|
* Fix test case invalid syntaxHirokazu Hata2019-01-162-47/+47
|
* Fix infer array testHirokazu Hata2019-01-162-40/+57
|
* Add infer array testHirokazu Hata2019-01-162-0/+61
|
* Implement rudimentary type inference for unary operatorsMarcus Klaas de Vries2019-01-152-0/+51
|
* remove Cancelable from type inferenceAleksey Kladov2019-01-152-23/+20
|
* remove Cancelable from TyAleksey Kladov2019-01-151-1/+1
|
* remove Cancelable from idsAleksey Kladov2019-01-151-5/+5
|
* remove Cancelable from fn_scopesAleksey Kladov2019-01-151-1/+1
|
* remove Cancelable from Crate APIAleksey Kladov2019-01-151-1/+1
|
* remove Cancelable from Module API, part 2Aleksey Kladov2019-01-151-1/+1
|
* remove Cancelable from source bindersAleksey Kladov2019-01-151-6/+2
|
* Fix type inference for raw (byte) stringsMarcus Klaas de Vries2019-01-142-4/+12
|
* Fixup testsMarcus Klaas de Vries2019-01-144-56/+56
|
* don't try to treat arrays and tuples as literalsMarcus Klaas de Vries2019-01-143-10/+6
|
* Use type variables to determine exact type for ambiguous numeric literalsMarcus Klaas de Vries2019-01-144-7/+9
|
* Try implementing integer type inference (WIP)Marcus Klaas de Vries2019-01-145-6/+56
|
* Implement type inference for literals (WIP)Marcus Klaas de Vries2019-01-143-1/+31
|
* Fix tuple test caseHirokazu Hata2019-01-132-6/+35
|
* Add infer tuple testHirokazu Hata2019-01-132-0/+17
|
* args -> paramsFlorian Diebold2019-01-121-1/+1
|
* Small improvements from review commentsFlorian Diebold2019-01-121-15/+15
|
* Implement basic inherent method resolutionFlorian Diebold2019-01-123-0/+208
|
* Fix assertion error in unification (hopefully)Florian Diebold2019-01-112-0/+17
| | | | | | | 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).
* Implement type inference for enum variantsMarcus Klaas de Vries2019-01-102-0/+20
|
* nicer trailing comma handling in typesAleksey Kladov2019-01-092-2/+2
|
* Fix typos in ARCHITECTURE.md and a number of cratesMarcus Klaas de Vries2019-01-092-2/+2
| | | | specifically: gen_lsp_server, ra_arena, ra_cli, ra_db, ra_hir
* Process explicit type hints for str, bool and charMarcus Klaas de Vries2019-01-072-4/+4
|
* Tidy up binary operator type inference; add test fileMarcus Klaas de Vries2019-01-071-0/+46
|
* Implement type inference for more binary operatorsMarcus Klaas de Vries2019-01-072-36/+8
| | | | | Mostly just for primitive numeric types such as u32 and f64. Not yet a general solution using trait resolution.
* Implement autoderef for field accessesFlorian Diebold2019-01-073-1/+96
|
* if let -> matchFlorian Diebold2019-01-071-8/+6
|
* Introduce ArenaMapFlorian Diebold2019-01-061-4/+4
|
* Sort ranges in type inference testsFlorian Diebold2019-01-069-92/+93
| | | | | Also rename the files to remove the numbers (they don't serve a purpose now that there are only the data files).
* Use HIR Expr for type inferenceFlorian Diebold2019-01-066-17/+35
| | | | | Now we can reuse the type inference inside a function when typing whitespace etc. :)
* Merge #440bors[bot]2019-01-062-0/+55
|\ | | | | | | | | | | | | | | | | | | 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]>