Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix substs in resolve_value_path for ImplSelf | Vincent Rouillé | 2020-06-19 | 1 | -1/+1 |
| | | | | Fixes #4953. | ||||
* | Fix type parameter defaults | Florian Diebold | 2020-06-05 | 1 | -1/+2 |
| | | | | | They should not be applied in expression or pattern contexts, unless there are other explicitly given type args. | ||||
* | Handle `Self` in values and patterns | Florian Diebold | 2020-05-15 | 1 | -1/+34 |
| | | | | | | | | | I.e. - `Self(x)` or `Self` in tuple/unit struct impls - `Self::Variant(x)` or `Self::Variant` in enum impls - the same in patterns Fixes #4454. | ||||
* | missing match arms diagnostic | Josh Mcguigan | 2020-04-07 | 1 | -2/+10 |
| | |||||
* | Use `dyn Trait` for working with databse | Aleksey Kladov | 2020-03-16 | 1 | -6/+9 |
| | | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate). | ||||
* | Resolve `Self::AssocTy` in impls | Florian Diebold | 2020-03-06 | 1 | -2/+2 |
| | | | | | | | | | | To do this we need to carry around the original resolution a bit, because `Self` gets resolved to the actual type immediately, but you're not allowed to write the equivalent type in a projection. (I tried just comparing the projection base type with the impl self type, but that seemed too dirty.) This is basically how rustc does it as well. Fixes #3249. | ||||
* | Run cargo +nightly fix --clippy -Z unstable-options | Kirill Bulatov | 2020-02-18 | 1 | -23/+24 |
| | |||||
* | Formatting | Florian Diebold | 2020-02-07 | 1 | -4/+1 |
| | |||||
* | Fix another test | Florian Diebold | 2020-02-07 | 1 | -5/+1 |
| | |||||
* | Lower impl trait to variables, move away from using placeholders where they ↵ | Florian Diebold | 2020-02-07 | 1 | -38/+17 |
| | | | | don't belong | ||||
* | Add impl trait lowering mode | Florian Diebold | 2020-02-07 | 1 | -5/+24 |
| | |||||
* | Introduce TyLoweringContext | Florian Diebold | 2020-02-07 | 1 | -14/+11 |
| | |||||
* | Push resolver further up | Aleksey Kladov | 2020-01-14 | 1 | -2/+7 |
| | |||||
* | Introduce `ContainerId` | Aleksey Kladov | 2019-12-20 | 1 | -1/+1 |
| | |||||
* | Rename ContainerId -> AssocContainerId | Aleksey Kladov | 2019-12-20 | 1 | -4/+4 |
| | |||||
* | Add body as a possible container for items | Aleksey Kladov | 2019-12-19 | 1 | -1/+1 |
| | |||||
* | Forbid <T>::foo syntax in mod paths | Aleksey Kladov | 2019-12-18 | 1 | -2/+2 |
| | |||||
* | Use different types for path with and without generics | Aleksey Kladov | 2019-12-14 | 1 | -12/+13 |
| | |||||
* | Fix #2467 | Florian Diebold | 2019-12-03 | 1 | -1/+12 |
| | | | | | 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)... | ||||
* | Refactor a bit | Florian Diebold | 2019-12-02 | 1 | -35/+3 |
| | |||||
* | Extract unification code to unify module | Florian Diebold | 2019-12-02 | 1 | -2/+2 |
| | |||||
* | Handle cycles in impl types better | Florian Diebold | 2019-11-30 | 1 | -1/+1 |
| | | | | | | - 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 | ||||
* | Memoize impl resolutions | Aleksey Kladov | 2019-11-27 | 1 | -6/+4 |
| | |||||
* | Move Ty | Aleksey Kladov | 2019-11-27 | 1 | -0/+270 |