Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Missing return type means unit, not unknown | Florian Diebold | 2018-12-29 | 1 | -1/+5 |
| | |||||
* | Implement type variables | Florian Diebold | 2018-12-29 | 1 | -111/+336 |
| | | | | | | | | | 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. | ||||
* | nameify structs&enums | Aleksey Kladov | 2018-12-28 | 1 | -17/+7 |
| | |||||
* | introduce known names | Aleksey Kladov | 2018-12-27 | 1 | -5/+4 |
| | |||||
* | introduce hir::Name | Aleksey Kladov | 2018-12-27 | 1 | -5/+5 |
| | |||||
* | Resolve field types lazily | Florian Diebold | 2018-12-25 | 1 | -8/+28 |
| | | | | I.e. not already when getting the HIR for the struct. | ||||
* | Add a hir::TypeRef as an intermediate between ast::TypeRef and ty::Ty | Florian Diebold | 2018-12-25 | 1 | -77/+62 |
| | |||||
* | Implement reference / pointer types | Florian Diebold | 2018-12-25 | 1 | -15/+69 |
| | | | | | - parse them - infer types of & and * expressions | ||||
* | Handle structs/enums with missing names a bit better | Florian Diebold | 2018-12-25 | 1 | -6/+14 |
| | |||||
* | Cleanup | Florian Diebold | 2018-12-25 | 1 | -125/+37 |
| | |||||
* | Implement basic completion for fields | Florian Diebold | 2018-12-25 | 1 | -2/+3 |
| | |||||
* | Type field accesses | Florian Diebold | 2018-12-25 | 1 | -1/+31 |
| | |||||
* | Collect field data for structs/enum variants | Florian Diebold | 2018-12-25 | 1 | -1/+10 |
| | |||||
* | Infer result of struct literals, and recurse into their child expressions | Florian Diebold | 2018-12-25 | 1 | -36/+83 |
| | |||||
* | Do name resolution by namespace (types/values) | Florian Diebold | 2018-12-25 | 1 | -7/+15 |
| | |||||
* | Add basic HIR and types for structs/enums | Florian Diebold | 2018-12-25 | 1 | -26/+46 |
| | |||||
* | Rename a variable for consistency | Florian Diebold | 2018-12-24 | 1 | -9/+9 |
| | |||||
* | Clean up Ty a bit | Florian Diebold | 2018-12-24 | 1 | -38/+22 |
| | | | | Removing irrelevant comments copied from rustc etc. | ||||
* | Prepare Ty::new for resolution | Florian Diebold | 2018-12-23 | 1 | -14/+24 |
| | |||||
* | Type the return values of call expressions | Florian Diebold | 2018-12-23 | 1 | -3/+11 |
| | |||||
* | Resolve paths to defs (functions currently) during type inference | Florian Diebold | 2018-12-23 | 1 | -68/+127 |
| | |||||
* | Make let statements kind of work | Florian Diebold | 2018-12-23 | 1 | -8/+36 |
| | |||||
* | Remove unwraps | Florian Diebold | 2018-12-23 | 1 | -6/+19 |
| | |||||
* | Get rid of the terrible nesting in PathExpr inference | Florian Diebold | 2018-12-23 | 1 | -26/+14 |
| | |||||
* | Cleanup | Florian Diebold | 2018-12-23 | 1 | -64/+49 |
| | |||||
* | Add testing infrastructure for type inference | Florian Diebold | 2018-12-23 | 1 | -0/+30 |
| | | | | - move dir_tests to test_utils for that. | ||||
* | Parse integer / float types | Florian Diebold | 2018-12-23 | 1 | -2/+20 |
| | |||||
* | Add beginnings of type infrastructure | Florian Diebold | 2018-12-23 | 1 | -0/+478 |