Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Refactor a bit to prepare for resolving trait assoc items | Florian Diebold | 2019-09-17 | 1 | -30/+27 | |
| | ||||||
* | Merge #1817 | bors[bot] | 2019-09-16 | 1 | -75/+52 | |
|\ | | | | | | | | | | | | | | | 1817: Support path starting with a type r=matklad a=uHOOCCOOHu The path syntax `<Ty>::foo` Co-authored-by: uHOOCCOOHu <[email protected]> | |||||
| * | Define known paths and group names | uHOOCCOOHu | 2019-09-15 | 1 | -25/+12 | |
| | | ||||||
| * | Support path starting with a type | uHOOCCOOHu | 2019-09-15 | 1 | -65/+55 | |
| | | ||||||
* | | Gracefully handle `const _` items in `ConstData` | Dylan MacKenzie | 2019-09-16 | 1 | -1/+1 | |
|/ | ||||||
* | Upgrade Chalk | Florian Diebold | 2019-09-14 | 1 | -4/+0 | |
| | | | | ... and remove Ty::UnselectedProjection. It'll be handled differently. | |||||
* | Specify desirable namespace when calling resolve | Aleksey Kladov | 2019-09-13 | 1 | -133/+123 | |
| | | | | That way, we are able to get rid of a number of unreachable statements | |||||
* | rename AdtDef -> Adt | Aleksey Kladov | 2019-09-12 | 1 | -7/+7 | |
| | ||||||
* | make various enums "inherit" from AdtDef | Aleksey Kladov | 2019-09-12 | 1 | -3/+3 | |
| | ||||||
* | start cleaning up the resolution | Aleksey Kladov | 2019-09-12 | 1 | -35/+11 | |
| | | | | | | | Nameres related types, like `PerNs<Resolution>`, can represent unreasonable situations, like a local in a type namespace. We should clean this up, by requiring that call-site specifies the kind of resolution it expects. | |||||
* | Infer box expression | uHOOCCOOHu | 2019-09-11 | 1 | -0/+26 | |
| | ||||||
* | cleanup hir db imports | Aleksey Kladov | 2019-09-08 | 1 | -3/+5 | |
| | ||||||
* | Lower bounds on trait definition, and resolve assoc types from super traits | Florian Diebold | 2019-09-07 | 1 | -3/+3 | |
| | ||||||
* | Make type walking infrastructure a bit nicer | Florian Diebold | 2019-09-03 | 1 | -1/+1 | |
| | | | | | If/when we switch to using Chalk's Ty, we'll need to replace this by its `Fold` trait, but I didn't want to import the whole thing just yet. | |||||
* | clearer ignore | Aleksey Kladov | 2019-09-03 | 1 | -1/+1 | |
| | ||||||
* | remove needless refs | Aleksey Kladov | 2019-09-03 | 1 | -2/+2 | |
| | ||||||
* | use recrod terminology for hir::Pat | Aleksey Kladov | 2019-09-03 | 1 | -2/+2 | |
| | ||||||
* | Add an expr_source method analogous to the source methods in the code model | Florian Diebold | 2019-09-02 | 1 | -2/+2 | |
| | | | | ... and use that instead of exposing the source map. | |||||
* | Small fixes | Kirill Bulatov | 2019-08-26 | 1 | -12/+9 | |
| | ||||||
* | Make infer_block not unify; add back calculate_least_upper_bound | Florian Diebold | 2019-08-26 | 1 | -20/+54 | |
| | ||||||
* | An attempt to add the coercion logic for Never | Kirill Bulatov | 2019-08-26 | 1 | -51/+40 | |
| | ||||||
* | Properly coerce never types | Kirill Bulatov | 2019-08-26 | 1 | -44/+46 | |
| | ||||||
* | Remove extra inference test | Kirill Bulatov | 2019-08-26 | 1 | -1/+0 | |
| | ||||||
* | Fix never in if expressions | Kirill Bulatov | 2019-08-26 | 1 | -3/+10 | |
| | ||||||
* | Add test marks | Kirill Bulatov | 2019-08-26 | 1 | -0/+5 | |
| | ||||||
* | Fix match type inference for Never match arms | Kirill Bulatov | 2019-08-26 | 1 | -5/+31 | |
| | ||||||
* | Add type_mismatches to InferenceResult and use this in ok-wrapping code fix | Phil Ellison | 2019-08-25 | 1 | -1/+18 | |
| | ||||||
* | rename struct -> record, pos -> tuple | Aleksey Kladov | 2019-08-23 | 1 | -6/+6 | |
| | ||||||
* | implement initial type inference for index expressions | Aleksey Kladov | 2019-08-17 | 1 | -0/+6 | |
| | ||||||
* | Introduce separate hir::BinaryOp | Aleksey Kladov | 2019-08-17 | 1 | -3/+1 | |
| | | | | | Unlike ast::BinOp, it has significantly more structure to it, so it's easier to, say, handle all assignment-like operations in the same way. | |||||
* | Normalize assoc types in more places | Florian Diebold | 2019-08-12 | 1 | -6/+21 | |
| | ||||||
* | Normalize associated types during inference | Florian Diebold | 2019-08-12 | 1 | -1/+21 | |
| | ||||||
* | provide completion in struct patterns | Ekaterina Babshukova | 2019-07-21 | 1 | -7/+15 | |
| | ||||||
* | infer type for await | Unreal Hoang | 2019-07-20 | 1 | -2/+40 | |
| | | | | by projecting inner_ty to Future::Output alias | |||||
* | add await expr to ast | Unreal Hoang | 2019-07-20 | 1 | -0/+3 | |
| | ||||||
* | Have InferenceContext contain an InferenceResult instead of duplicating all ↵ | Florian Diebold | 2019-07-14 | 1 | -36/+19 | |
| | | | | fields | |||||
* | Some renamings for clarity | Florian Diebold | 2019-07-14 | 1 | -4/+4 | |
| | ||||||
* | complete fields in enum variants | Ekaterina Babshukova | 2019-07-12 | 1 | -0/+15 | |
| | ||||||
* | Merge #1515 | bors[bot] | 2019-07-09 | 1 | -46/+23 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | 1515: Trait environment r=matklad a=flodiebold This adds the environment, i.e. the set of `where` clauses in scope, when solving trait goals. That means that e.g. in ```rust fn foo<T: SomeTrait>(t: T) {} ``` , we are able to complete methods of `SomeTrait` on the `t`. This affects the trait APIs quite a bit (since every method that needs to be able to solve for some trait needs to get this environment somehow), so I thought I'd do it rather sooner than later ;) Co-authored-by: Florian Diebold <[email protected]> | |||||
| * | Unify `normalize` and `implements` to simplify code | Florian Diebold | 2019-07-08 | 1 | -46/+18 | |
| | | ||||||
| * | Use environment for associated type normalization as well | Florian Diebold | 2019-07-08 | 1 | -1/+2 | |
| | | ||||||
| * | Start handling environment in trait resolution | Florian Diebold | 2019-07-08 | 1 | -5/+6 | |
| | | | | | | | | | | I.e. if we are inside a function with some where clauses, we assume these where clauses hold. | |||||
| * | Refactor a bit & introduce Environment struct | Florian Diebold | 2019-07-08 | 1 | -2/+5 | |
| | | ||||||
* | | use namespaced consts for KnownName | Unreal Hoang | 2019-07-08 | 1 | -12/+10 | |
| | | ||||||
* | | projection over std::ops::Try::Ok to infer try/? | Unreal Hoang | 2019-07-08 | 1 | -2/+37 | |
|/ | ||||||
* | cargo format | Muhammad Mominul Huque | 2019-07-07 | 1 | -3/+3 | |
| | ||||||
* | Constify KnownName's | Muhammad Mominul Huque | 2019-07-07 | 1 | -6/+7 | |
| | ||||||
* | add projection to infer for loop variable | Unreal Hoang | 2019-07-07 | 1 | -33/+91 | |
| | ||||||
* | Make EnumVariant a GenericDef and simplify some code | Florian Diebold | 2019-07-06 | 1 | -6/+1 | |
| | ||||||
* | Add trait obligations for where clauses when calling functions/methods | Florian Diebold | 2019-07-06 | 1 | -2/+13 | |
| | | | | | E.g. if we call `foo<T: Into<u32>>(x)`, that adds an obligation that `x: Into<u32>`, etc. |