aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty/tests.rs
Commit message (Collapse)AuthorAgeFilesLines
* rename FilesDatabase -> SourceDatabaseAleksey Kladov2019-01-261-1/+1
|
* fold syntax database into files databaseAleksey Kladov2019-01-261-1/+1
|
* Fix type inference of binops on int/float variablesFlorian Diebold2019-01-251-0/+13
| | | | Fixes #651.
* move SyntaxPtr to ra_syntaxAleksey Kladov2019-01-231-1/+1
|
* Use insta for ty testsFlorian Diebold2019-01-211-47/+29
|
* Fix panic trying to get substs on unknown typeFlorian Diebold2019-01-211-0/+16
| | | | Fixes #585.
* Fix panic on inferring field access on an enumFlorian Diebold2019-01-201-0/+14
|
* Make generics work in struct patternsFlorian Diebold2019-01-191-0/+26
|
* Add some testsFlorian Diebold2019-01-191-0/+63
|
* Fixup annotated bindingsMarcus Klaas de Vries2019-01-191-1/+5
|
* Add initial (flawed) implementation of binding annotationsMarcus Klaas de Vries2019-01-191-0/+4
|
* Infer pattern types for lambdas and loopsMarcus Klaas de Vries2019-01-191-0/+10
|
* Implement unlabeled struct field pattern inferenceMarcus Klaas de Vries2019-01-191-0/+5
|
* Add crude implementation of tuplestruct pattern inferenceMarcus Klaas de Vries2019-01-191-14/+22
|
* 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-191-0/+11
|
* Add additional pattern variantsMarcus Klaas de Vries2019-01-191-0/+15
|
* :arrow_up: salsaAleksey Kladov2019-01-171-3/+1
|
* Fix test case invalid syntaxHirokazu Hata2019-01-161-2/+2
|
* Fix infer array testHirokazu Hata2019-01-161-6/+9
|
* Add infer array testHirokazu Hata2019-01-161-0/+23
|
* Implement rudimentary type inference for unary operatorsMarcus Klaas de Vries2019-01-151-0/+23
|
* remove Cancelable from type inferenceAleksey Kladov2019-01-151-3/+3
|
* remove Cancelable from fn_scopesAleksey 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-141-3/+9
|
* Fixup testsMarcus Klaas de Vries2019-01-141-3/+2
|
* don't try to treat arrays and tuples as literalsMarcus Klaas de Vries2019-01-141-2/+0
|
* Use type variables to determine exact type for ambiguous numeric literalsMarcus Klaas de Vries2019-01-141-0/+1
|
* Implement type inference for literals (WIP)Marcus Klaas de Vries2019-01-141-0/+20
|
* Fix tuple test caseHirokazu Hata2019-01-131-1/+8
|
* Add infer tuple testHirokazu Hata2019-01-131-0/+12
|
* Implement basic inherent method resolutionFlorian Diebold2019-01-121-0/+26
|
* Fix assertion error in unification (hopefully)Florian Diebold2019-01-111-0/+12
| | | | | | | 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-101-0/+16
|
* Fix typos in ARCHITECTURE.md and a number of cratesMarcus Klaas de Vries2019-01-091-1/+1
| | | | specifically: gen_lsp_server, ra_arena, ra_cli, ra_db, ra_hir
* Implement type inference for more binary operatorsMarcus Klaas de Vries2019-01-071-5/+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-071-1/+32
|
* if let -> matchFlorian Diebold2019-01-071-8/+6
|
* Introduce ArenaMapFlorian Diebold2019-01-061-4/+4
|
* Sort ranges in type inference testsFlorian Diebold2019-01-061-12/+13
| | | | | 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-061-3/+21
| | | | | Now we can reuse the type inference inside a function when typing whitespace etc. :)
* Merge #440bors[bot]2019-01-061-0/+24
|\ | | | | | | | | | | | | | | | | | | 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-0/+7
| | | | | | | | | | Also try to infer its subexpressions and set type expectations whenever possible.
| * Implement type inference for boolean operatorsMarcus Klaas de Vries2019-01-051-0/+17
| |
* | Add test for invalidation of inferred types when typing inside functionFlorian Diebold2019-01-051-0/+44
|/ | | | This currently fails, but should work once we have hir::Expr.
* Add test for self type inferenceFlorian Diebold2019-01-041-0/+19
|
* Implement type variablesFlorian Diebold2018-12-291-0/+21
| | | | | | | | | This will really become necessary when we implement generics, but even now, it allows us to reason 'backwards' to infer types of expressions that we didn't understand for some reason. We use ena, the union-find implementation extracted from rustc, to keep track of type variables.
* Implement reference / pointer typesFlorian Diebold2018-12-251-0/+22
| | | | | - parse them - infer types of & and * expressions
* Infer result of struct literals, and recurse into their child expressionsFlorian Diebold2018-12-251-1/+1
|