Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove assoc_type_by_name helper | Aleksey Kladov | 2019-11-26 | 1 | -7/+7 |
| | |||||
* | Id-ify Ty::Adt | Aleksey Kladov | 2019-11-26 | 1 | -2/+2 |
| | |||||
* | Remove Resolver from autoderef | Aleksey Kladov | 2019-11-25 | 1 | -2/+1 |
| | | | | | Resolver holds onto too much context, including local scopes. Let's try to pass in only what is necessary -- the trait environment. | ||||
* | Simplify | Aleksey Kladov | 2019-11-24 | 1 | -3/+2 |
| | |||||
* | Don't redo field resolution in the IDE | Aleksey Kladov | 2019-11-24 | 1 | -0/+5 |
| | |||||
* | Simplify | Aleksey Kladov | 2019-11-24 | 1 | -2/+2 |
| | |||||
* | Hide data from public API | Aleksey Kladov | 2019-11-22 | 1 | -4/+4 |
| | |||||
* | Move const&static date to hir_def | Aleksey Kladov | 2019-11-22 | 1 | -4/+4 |
| | |||||
* | Make ImplData's fields public | Aleksey Kladov | 2019-11-22 | 1 | -1/+1 |
| | |||||
* | Move FunctionData to hir_def | Aleksey Kladov | 2019-11-22 | 1 | -6/+7 |
| | |||||
* | Move resolver to hir_def | Aleksey Kladov | 2019-11-21 | 1 | -1/+1 |
| | |||||
* | Decouple | Aleksey Kladov | 2019-11-21 | 1 | -4/+5 |
| | |||||
* | Decouple Resolver | Aleksey Kladov | 2019-11-21 | 1 | -11/+12 |
| | |||||
* | Add HasResolver trait | Aleksey Kladov | 2019-11-20 | 1 | -1/+1 |
| | |||||
* | Remove hir/adt.rs | Aleksey Kladov | 2019-11-20 | 1 | -2/+1 |
| | |||||
* | Move body queries to hir_def | Aleksey Kladov | 2019-11-14 | 1 | -2/+3 |
| | |||||
* | Reduce duplication between uncertain floats & ints | Aleksey Kladov | 2019-11-13 | 1 | -17/+11 |
| | |||||
* | Remove owner from Body | Aleksey Kladov | 2019-11-12 | 1 | -5/+6 |
| | |||||
* | Move diagnostics to hir_expand | Aleksey Kladov | 2019-11-02 | 1 | -8/+4 |
| | |||||
* | push name down to hir_expand | Aleksey Kladov | 2019-10-30 | 1 | -1/+1 |
| | |||||
* | remove forward pointer for type_ref | Aleksey Kladov | 2019-10-30 | 1 | -2/+5 |
| | |||||
* | remove forward pointer to Path | Aleksey Kladov | 2019-10-30 | 1 | -2/+1 |
| | |||||
* | remove forward pointer for name | Aleksey Kladov | 2019-10-30 | 1 | -1/+1 |
| | |||||
* | Bump deps | Laurențiu Nicola | 2019-10-17 | 1 | -3/+7 |
| | |||||
* | Split up infer.rs further | Florian Diebold | 2019-10-12 | 1 | -1135/+18 |
| | | | | | | - coercion logic goes to `coerce.rs` - expression inference goes to `expr.rs` - pattern inference goes to `pat.rs` | ||||
* | Address comments: fix docs, add completion test for `Self`. | ice1000 | 2019-10-08 | 1 | -3/+1 |
| | |||||
* | Support inferring `Self` type in enum definitions | ice1000 | 2019-10-08 | 1 | -0/+3 |
| | | | | Signed-off-by: ice1000 <[email protected]> | ||||
* | Handle divergence in type inference for blocks | Laurențiu Nicola | 2019-10-02 | 1 | -2/+10 |
| | |||||
* | Merge #1815 | bors[bot] | 2019-09-27 | 1 | -5/+4 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1815: Support correct `$crate` expansion in macros r=uHOOCCOOHu a=uHOOCCOOHu This PR makes normal use cases of `$crate` from macros work as expected. It makes more macros from `std` work. Type inference works well with `panic`, `unimplemented`, `format`, and maybe more. Sadly that `vec![1, 2, 3]` still not works, but it is not longer an issue about macro. Screenshot: ![Screenshot_20190927_022136](https://user-images.githubusercontent.com/14816024/65714465-b4568f80-e0cd-11e9-8043-dd44c2ae8040.png) Co-authored-by: uHOOCCOOHu <[email protected]> | ||||
| * | Refactor `Name` ready for hygienic macro | uHOOCCOOHu | 2019-09-26 | 1 | -5/+4 |
| | | |||||
* | | Add SubstsBuilder | Florian Diebold | 2019-09-26 | 1 | -8/+7 |
|/ | | | | + further refactoring. | ||||
* | Support all coercion places | uHOOCCOOHu | 2019-09-25 | 1 | -25/+57 |
| | |||||
* | Support custom `CoerceUnsized` | uHOOCCOOHu | 2019-09-25 | 1 | -26/+181 |
| | | | | Split out tests about coercion | ||||
* | Better handle never type and branch merging | uHOOCCOOHu | 2019-09-25 | 1 | -60/+92 |
| | | | | Split out tests for never type to another file | ||||
* | Support basic implicit type coerce | uHOOCCOOHu | 2019-09-25 | 1 | -86/+168 |
| | |||||
* | Support auto-deref in argument position | uHOOCCOOHu | 2019-09-25 | 1 | -1/+43 |
| | |||||
* | Remove redundant clone() | Shotaro Yamada | 2019-09-25 | 1 | -2/+2 |
| | |||||
* | Implement the call argument checking order hack for closures | Florian Diebold | 2019-09-24 | 1 | -10/+26 |
| | |||||
* | Make the closure_1 test work | Florian Diebold | 2019-09-24 | 1 | -0/+5 |
| | |||||
* | Give closures types | Florian Diebold | 2019-09-24 | 1 | -4/+18 |
| | |||||
* | Split off path expression inference code into submodule | Florian Diebold | 2019-09-23 | 1 | -172/+4 |
| | |||||
* | Remove TraitItem and ImplItem in favor of AssocItem | Florian Diebold | 2019-09-17 | 1 | -14/+12 |
| | |||||
* | Refactor some more | Florian Diebold | 2019-09-17 | 1 | -39/+61 |
| | | | | | | Type-relative paths (`<T>::foo`) also need to work in type context, for example `<T>::Item` is legal. So rather than returning the type ref from the resolver function, just check it before. | ||||
* | Refactor associated item resolution more | Florian Diebold | 2019-09-17 | 1 | -71/+54 |
| | | | | | When resolving an associated item in value namespace, use the `Ty` lowering code for the segments before the last instead of replicating it. | ||||
* | 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. |