Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement match binding type inference and arm unification | Marcus Klaas de Vries | 2019-01-19 | 1 | -7/+17 |
| | |||||
* | Implement unlabeled struct field pattern inference | Marcus Klaas de Vries | 2019-01-19 | 1 | -11/+4 |
| | |||||
* | Get basic struct pattern type inference working! | Marcus Klaas de Vries | 2019-01-19 | 1 | -49/+94 |
| | |||||
* | Create struct patterns up to the hir level | Marcus Klaas de Vries | 2019-01-19 | 1 | -0/+2 |
| | |||||
* | Add crude implementation of tuplestruct pattern inference | Marcus Klaas de Vries | 2019-01-19 | 1 | -26/+55 |
| | |||||
* | Work on type inference for ADT patterns | Marcus Klaas de Vries | 2019-01-19 | 1 | -2/+28 |
| | |||||
* | Implement type inference for tuples and refs | Marcus Klaas de Vries | 2019-01-19 | 1 | -7/+32 |
| | |||||
* | Add additional pattern variants | Marcus Klaas de Vries | 2019-01-19 | 1 | -0/+5 |
| | |||||
* | Add Ty::Array to walk_mut | Hirokazu Hata | 2019-01-16 | 1 | -3/+3 |
| | |||||
* | Remove unneeded code | Hirokazu Hata | 2019-01-16 | 1 | -2/+2 |
| | |||||
* | Fix Ty::Array | Hirokazu Hata | 2019-01-16 | 1 | -21/+16 |
| | |||||
* | Implement array inference | Hirokazu Hata | 2019-01-16 | 1 | -1/+22 |
| | |||||
* | Implement rudimentary type inference for unary operators | Marcus Klaas de Vries | 2019-01-15 | 1 | -2/+15 |
| | |||||
* | remove Cancelable from type inference | Aleksey Kladov | 2019-01-15 | 1 | -71/+57 |
| | |||||
* | remove Cancelable from Ty | Aleksey Kladov | 2019-01-15 | 1 | -60/+48 |
| | |||||
* | remove Cancelable from ids | Aleksey Kladov | 2019-01-15 | 1 | -6/+6 |
| | |||||
* | remove Cancelable from nameres | Aleksey Kladov | 2019-01-15 | 1 | -3/+3 |
| | |||||
* | remove Cancelable from fn_scopes | Aleksey Kladov | 2019-01-15 | 1 | -1/+1 |
| | |||||
* | remove Cancelable from funciton body | Aleksey Kladov | 2019-01-15 | 1 | -1/+1 |
| | |||||
* | remove Cancelable from navigation target | Aleksey Kladov | 2019-01-15 | 1 | -3/+3 |
| | |||||
* | remove Cancelable from adt API | Aleksey Kladov | 2019-01-15 | 1 | -4/+4 |
| | |||||
* | check_canceled does not return Result | Aleksey Kladov | 2019-01-15 | 1 | -1/+1 |
| | |||||
* | Address issues found in review | Marcus Klaas de Vries | 2019-01-14 | 1 | -1/+1 |
| | |||||
* | Fixup tests | Marcus Klaas de Vries | 2019-01-14 | 1 | -21/+25 |
| | |||||
* | don't try to treat arrays and tuples as literals | Marcus Klaas de Vries | 2019-01-14 | 1 | -29/+20 |
| | |||||
* | Use type variables to determine exact type for ambiguous numeric literals | Marcus Klaas de Vries | 2019-01-14 | 1 | -6/+39 |
| | |||||
* | Try implementing integer type inference (WIP) | Marcus Klaas de Vries | 2019-01-14 | 1 | -26/+27 |
| | |||||
* | Implement type inference for literals (WIP) | Marcus Klaas de Vries | 2019-01-14 | 1 | -1/+32 |
| | |||||
* | goto defenition works for type-inferred methods | Aleksey Kladov | 2019-01-13 | 1 | -3/+22 |
| | |||||
* | Implement tuple inference | Hirokazu Hata | 2019-01-13 | 1 | -0/+8 |
| | |||||
* | args -> params | Florian Diebold | 2019-01-12 | 1 | -6/+6 |
| | |||||
* | Implement basic inherent method resolution | Florian Diebold | 2019-01-12 | 1 | -7/+32 |
| | |||||
* | Fix assertion error in unification (hopefully) | Florian Diebold | 2019-01-11 | 1 | -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 kinds | Aleksey Kladov | 2019-01-11 | 1 | -2/+6 |
| | |||||
* | Implement type inference for enum variants | Marcus Klaas de Vries | 2019-01-10 | 1 | -6/+14 |
| | |||||
* | nicer trailing comma handling in types | Aleksey Kladov | 2019-01-09 | 1 | -9/+13 |
| | |||||
* | Fix typos in ARCHITECTURE.md and a number of crates | Marcus Klaas de Vries | 2019-01-09 | 1 | -2/+2 |
| | | | | specifically: gen_lsp_server, ra_arena, ra_cli, ra_db, ra_hir | ||||
* | ra_db is independent from editor | Aleksey Kladov | 2019-01-08 | 1 | -0/+1 |
| | |||||
* | Process explicit type hints for str, bool and char | Marcus Klaas de Vries | 2019-01-07 | 1 | -1/+7 |
| | |||||
* | Tidy up binary operator type inference; add test file | Marcus Klaas de Vries | 2019-01-07 | 1 | -44/+41 |
| | |||||
* | Implement type inference for more binary operators | Marcus Klaas de Vries | 2019-01-07 | 1 | -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 AST | Marcus Klaas de Vries | 2019-01-07 | 1 | -0/+1 |
| | |||||
* | Implement autoderef for field accesses | Florian Diebold | 2019-01-07 | 1 | -22/+50 |
| | |||||
* | Introduce ArenaMap | Florian Diebold | 2019-01-06 | 1 | -12/+12 |
| | |||||
* | Use HIR Expr for type inference | Florian Diebold | 2019-01-06 | 1 | -316/+228 |
| | | | | | Now we can reuse the type inference inside a function when typing whitespace etc. :) | ||||
* | Merge #440 | bors[bot] | 2019-01-06 | 1 | -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 operators | Marcus Klaas de Vries | 2019-01-06 | 1 | -7/+29 |
| | | | | | | | | | | Also try to infer its subexpressions and set type expectations whenever possible. | ||||
| * | Implement type inference for boolean operators | Marcus Klaas de Vries | 2019-01-05 | 1 | -2/+11 |
| | | |||||
* | | Make FnScopes use hir::Expr | Florian Diebold | 2019-01-05 | 1 | -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 already | Florian Diebold | 2019-01-04 | 1 | -2/+2 |
| |