Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #701 | bors[bot] | 2019-01-30 | 1 | -3/+13 |
|\ | | | | | | | | | | | | | | | | | | | 701: Minor type inference tweaks r=flodiebold a=marcusklaas Pass down expectation for reference expressions and type the guard in match expressions. I wasn't able to add a test for the former addition because the type variable previously introduced would always resolve to the right type in the things I tried! Co-authored-by: Marcus Klaas de Vries <[email protected]> | ||||
| * | Infer type of match guard | Marcus Klaas de Vries | 2019-01-28 | 1 | -3/+13 |
| | | |||||
* | | Rename FnScopes -> ExprScopes | Florian Diebold | 2019-01-30 | 1 | -4/+4 |
| | | | | | | | | | | The reason for this is that it describes scopes for any body expression, not just that of a function. It did not actually refer to functions at all anymore. | ||||
* | | Use match-all instead of individual branches | WizardOfMenlo | 2019-01-28 | 1 | -5/+1 |
| | | |||||
* | | Added support for primitive types type inference when using std::ops::Not | WizardOfMenlo | 2019-01-28 | 1 | -3/+11 |
| | | |||||
* | | Process second review | Marcus Klaas de Vries | 2019-01-27 | 1 | -35/+28 |
| | | |||||
* | | Use type information from the turbofish | Marcus Klaas de Vries | 2019-01-27 | 1 | -6/+28 |
| | | |||||
* | | Add a FnSig to Ty::FnDef | Marcus Klaas de Vries | 2019-01-27 | 1 | -38/+64 |
| | | |||||
* | | Address some issues flagged in review | Marcus Klaas de Vries | 2019-01-27 | 1 | -25/+18 |
| | | |||||
* | | Add type params to FnSignature | Marcus Klaas de Vries | 2019-01-27 | 1 | -81/+45 |
| | | |||||
* | | Initial implementation of generics for method calls | Marcus Klaas de Vries | 2019-01-27 | 1 | -13/+68 |
| | | |||||
* | | First attempt at generic type inference for fns | Marcus Klaas de Vries | 2019-01-27 | 1 | -12/+49 |
|/ | |||||
* | Add marks | Florian Diebold | 2019-01-26 | 1 | -0/+4 |
| | |||||
* | Handle cycles in type vars | Florian Diebold | 2019-01-26 | 1 | -9/+24 |
| | | | | This might be the cause of #587. | ||||
* | Fix type inference of binops on int/float variables | Florian Diebold | 2019-01-25 | 1 | -1/+4 |
| | | | | Fixes #651. | ||||
* | add ability to get strcut field source | Aleksey Kladov | 2019-01-25 | 1 | -23/+4 |
| | |||||
* | remember where fields resolve to during inference | Aleksey Kladov | 2019-01-25 | 1 | -9/+19 |
| | |||||
* | use positional ids for fields | Aleksey Kladov | 2019-01-25 | 1 | -52/+38 |
| | |||||
* | move adt to adt | Aleksey Kladov | 2019-01-24 | 1 | -18/+1 |
| | |||||
* | ModuleDef is Def-free | Aleksey Kladov | 2019-01-24 | 1 | -1/+0 |
| | |||||
* | Migrate trait & type to new ids | Aleksey Kladov | 2019-01-24 | 1 | -1/+3 |
| | |||||
* | move consts&statics to new id | Aleksey Kladov | 2019-01-24 | 1 | -1/+4 |
| | |||||
* | removed untyped typabledef | Aleksey Kladov | 2019-01-24 | 1 | -26/+3 |
| | |||||
* | move enum variant to the new API | Aleksey Kladov | 2019-01-24 | 1 | -73/+48 |
| | |||||
* | macro-generate froms | Aleksey Kladov | 2019-01-24 | 1 | -36/+3 |
| | |||||
* | kill unused defs | Aleksey Kladov | 2019-01-24 | 1 | -5/+0 |
| | |||||
* | migrate enums to new id | Aleksey Kladov | 2019-01-24 | 1 | -31/+59 |
| | |||||
* | new struct id | Aleksey Kladov | 2019-01-24 | 1 | -44/+106 |
| | |||||
* | Functions use new id scheme | Aleksey Kladov | 2019-01-24 | 1 | -79/+101 |
| | |||||
* | Change ids strategy | Aleksey Kladov | 2019-01-24 | 1 | -9/+12 |
| | | | | | | | this is a part of larghish hir refactoring which aims to * replace per-source-root module trees with per crate trees * switch from a monotyped DedId to type-specific ids | ||||
* | Fix panic trying to get substs on unknown type | Florian Diebold | 2019-01-21 | 1 | -3/+3 |
| | | | | Fixes #585. | ||||
* | Fix panic on inferring field access on an enum | Florian Diebold | 2019-01-20 | 1 | -2/+6 |
| | |||||
* | Add an assert | Florian Diebold | 2019-01-19 | 1 | -0/+1 |
| | |||||
* | Generics -> GenericParams | Florian Diebold | 2019-01-19 | 1 | -19/+19 |
| | |||||
* | Make generics work in struct patterns | Florian Diebold | 2019-01-19 | 1 | -17/+44 |
| | |||||
* | Collect generic args in struct variant paths as well | Florian Diebold | 2019-01-19 | 1 | -10/+19 |
| | |||||
* | Collect generic args in type paths | Florian Diebold | 2019-01-19 | 1 | -5/+97 |
| | | | | E.g. `let x: A<X>` is handled correctly. | ||||
* | Make Module impl methods crate-private, update some comments | Florian Diebold | 2019-01-19 | 1 | -2/+5 |
| | |||||
* | Implement beginnings of generics | Florian Diebold | 2019-01-19 | 1 | -33/+147 |
| | | | | | | | - add HIR for generic params - resolve generic params in type paths - add substitions for ADTs - insert type variables for substitutions | ||||
* | Finish move of StructField for pattern type inference | Marcus Klaas de Vries | 2019-01-19 | 1 | -8/+5 |
| | |||||
* | Replace Expectation by &Ty in `infer_pat` method | Marcus Klaas de Vries | 2019-01-19 | 1 | -24/+23 |
| | |||||
* | Move pattern type inference from adt::StructField to core_model_impl (WIP) | Marcus Klaas de Vries | 2019-01-19 | 1 | -16/+15 |
| | |||||
* | Address issues flagged in review | Marcus Klaas de Vries | 2019-01-19 | 1 | -66/+43 |
| | |||||
* | Fix bug in match arm type unification | Marcus Klaas de Vries | 2019-01-19 | 1 | -1/+1 |
| | |||||
* | Fixup annotated bindings | Marcus Klaas de Vries | 2019-01-19 | 1 | -13/+16 |
| | |||||
* | Add initial (flawed) implementation of binding annotations | Marcus Klaas de Vries | 2019-01-19 | 1 | -1/+25 |
| | |||||
* | Make pattern inference work w/o proper expecations | Marcus Klaas de Vries | 2019-01-19 | 1 | -34/+38 |
| | |||||
* | Infer pattern types for lambdas and loops | Marcus Klaas de Vries | 2019-01-19 | 1 | -15/+29 |
| | |||||
* | 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 |
| |