Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement type variables | Florian Diebold | 2018-12-29 | 4 | -7/+27 |
| | | | | | | | | | 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 types | Florian Diebold | 2018-12-25 | 2 | -2/+25 |
| | | | | | - parse them - infer types of & and * expressions | ||||
* | Type field accesses | Florian Diebold | 2018-12-25 | 1 | -2/+4 |
| | |||||
* | Infer result of struct literals, and recurse into their child expressions | Florian Diebold | 2018-12-25 | 1 | -4/+8 |
| | |||||
* | Do name resolution by namespace (types/values) | Florian Diebold | 2018-12-25 | 1 | -2/+2 |
| | |||||
* | Add basic HIR and types for structs/enums | Florian Diebold | 2018-12-25 | 1 | -0/+10 |
| | |||||
* | Change inference tests to have one per file | Florian Diebold | 2018-12-24 | 5 | -42/+16 |
| | |||||
* | Type the return values of call expressions | Florian Diebold | 2018-12-23 | 1 | -2/+2 |
| | |||||
* | Resolve paths to defs (functions currently) during type inference | Florian Diebold | 2018-12-23 | 2 | -0/+19 |
| | |||||
* | Make let statements kind of work | Florian Diebold | 2018-12-23 | 2 | -0/+12 |
| | |||||
* | Add testing infrastructure for type inference | Florian Diebold | 2018-12-23 | 2 | -0/+24 |
- move dir_tests to test_utils for that. |