Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #2484 | bors[bot] | 2019-12-06 | 1 | -3/+5 |
|\ | | | | | | | | | | | | | | | | | | | 2484: DynMap r=matklad a=matklad Implement a `DynMap` a semi-dynamic, semi-static map, which helps to thread heterogeneously typed info in a uniform way. Totally inspired by https://github.com/JetBrains/kotlin/blob/df3bee30384787d8951ea548a4257c2cb52a16a3/compiler/frontend/src/org/jetbrains/kotlin/resolve/BindingContext.java. @flodiebold wdyt? Seems like a potentially useful pattern for various source-map-like things. Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | DynMap | Aleksey Kladov | 2019-12-06 | 1 | -3/+5 |
| | | | | | | | | | | This might, or might not help us to reduce boilerplate associated with plumbing values from analysis to the IDE layer | ||||
* | | Don't unify within a reference | Florian Diebold | 2019-12-06 | 3 | -11/+72 |
|/ | | | | | | | If we are expecting a `&Foo` and get a `&something`, when checking the `something`, we are *expecting* a `Foo`, but we shouldn't try to unify whatever we get with that expectation, because it could actually be a `&Foo`, and `&&Foo` coerces to `&Foo`. So this fixes quite a few false type mismatches. | ||||
* | Simplify test | Aleksey Kladov | 2019-12-05 | 1 | -13/+10 |
| | |||||
* | Implement derive(Copy, Clone) properly (well, kind of) | Florian Diebold | 2019-12-05 | 1 | -0/+51 |
| | |||||
* | Fix test compilation | ice1000 | 2019-12-04 | 1 | -1/+1 |
| | |||||
* | Split up ty tests a bit | Florian Diebold | 2019-12-03 | 7 | -4902/+4882 |
| | |||||
* | Replace `ra_hir_expand::either` with crate | ice1000 | 2019-12-03 | 1 | -2/+2 |
| | |||||
* | Fix #2467 | Florian Diebold | 2019-12-03 | 4 | -7/+65 |
| | | | | | The stand-alone `unify` requires that the type doesn't contain any type variables. So we can't share the code here for now (without more refactoring)... | ||||
* | Merge #2465 | bors[bot] | 2019-12-03 | 3 | -127/+219 |
|\ | | | | | | | | | | | | | | | 2465: Extract built-in trait implementations to separate module r=matklad a=flodiebold This untangles the builtin logic from the Chalk translation. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | Extract built-in trait implementations to separate module | Florian Diebold | 2019-12-03 | 3 | -127/+219 |
| | | | | | | | | This untangles the builtin logic from the Chalk translation. | ||||
* | | Make unify pub(crate) | Florian Diebold | 2019-12-03 | 1 | -1/+1 |
| | | |||||
* | | Add tests for checking the impl self type | Florian Diebold | 2019-12-02 | 1 | -0/+14 |
| | | |||||
* | | Refactor a bit | Florian Diebold | 2019-12-02 | 3 | -77/+74 |
| | | |||||
* | | Check receiver type properly | Florian Diebold | 2019-12-02 | 4 | -19/+80 |
| | | |||||
* | | Extract unification code to unify module | Florian Diebold | 2019-12-02 | 6 | -263/+312 |
| | | |||||
* | | Change order of calls to get method candidate order correct | Florian Diebold | 2019-12-02 | 2 | -39/+115 |
|/ | |||||
* | Merge #2455 | bors[bot] | 2019-12-01 | 1 | -0/+36 |
|\ | | | | | | | | | | | | | | | | | | | 2455: Add BuiltinShadowMode r=flodiebold a=edwin0cheng This PR try to fix #1905 by introduce an `BuiltinShadowMode` in name resolving functions. cc @flodiebold Co-authored-by: Edwin Cheng <[email protected]> | ||||
| * | Add BuiltinShadowMode | Edwin Cheng | 2019-11-30 | 1 | -0/+36 |
| | | |||||
* | | Add cycle recovery for type aliases | Florian Diebold | 2019-11-30 | 3 | -2/+10 |
| | | |||||
* | | Add cycle recovery for generic predicates | Florian Diebold | 2019-11-30 | 3 | -8/+10 |
| | | |||||
* | | Handle cycles in impl types better | Florian Diebold | 2019-11-30 | 8 | -53/+82 |
| | | | | | | | | | | | | - impl Trait<Self> for S is allowed - impl Trait for S<Self> is an invalid cycle, but we can add cycle recovery for it in Salsa now | ||||
* | | Reduce variants of Expr | oxalica | 2019-11-29 | 1 | -39/+37 |
| | | |||||
* | | Infer range types | oxalica | 2019-11-28 | 3 | -0/+127 |
|/ | |||||
* | Move source-related traits to a separate module | Aleksey Kladov | 2019-11-28 | 1 | -1/+1 |
| | |||||
* | Rename Source -> InFile | Aleksey Kladov | 2019-11-28 | 2 | -9/+9 |
| | |||||
* | Use Name::missing consistently | Aleksey Kladov | 2019-11-27 | 1 | -18/+7 |
| | |||||
* | Minimize API | Aleksey Kladov | 2019-11-27 | 1 | -8/+3 |
| | |||||
* | Memoize impl resolutions | Aleksey Kladov | 2019-11-27 | 7 | -75/+76 |
| | |||||
* | Rename module_id -> local_id | Aleksey Kladov | 2019-11-27 | 2 | -7/+7 |
| | |||||
* | prune deps | Aleksey Kladov | 2019-11-27 | 1 | -5/+7 |
| | |||||
* | Move Ty | Aleksey Kladov | 2019-11-27 | 23 | -2/+12282 |
| | |||||
* | Doc primitives | Aleksey Kladov | 2019-11-26 | 2 | -2/+6 |
| | |||||
* | Introduce hir_ty | Aleksey Kladov | 2019-11-26 | 2 | -0/+193 |