Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Some remaining cleanups | Florian Diebold | 2021-05-21 | 1 | -10/+10 |
| | |||||
* | Record type mismatches for failed coercions in match etc. | Florian Diebold | 2021-05-21 | 1 | -5/+9 |
| | |||||
* | Refactor expectation handling | Florian Diebold | 2021-05-21 | 1 | -4/+0 |
| | | | | So as to not use `TyKind::Error` as "no expectation". | ||||
* | Remove TypeVariableTable | Florian Diebold | 2021-05-21 | 1 | -1/+1 |
| | |||||
* | Deal with goals arising from unification | Florian Diebold | 2021-05-21 | 1 | -8/+10 |
| | |||||
* | Get rid of resolve_ty_as_possible | Florian Diebold | 2021-05-21 | 1 | -2/+2 |
| | | | | Instead use shallow resolving where necessary. | ||||
* | Make resolve_ty_shallow return Ty | Florian Diebold | 2021-05-21 | 1 | -5/+3 |
| | |||||
* | Rework obligation handling | Florian Diebold | 2021-05-21 | 1 | -2/+5 |
| | | | | | | | | We can't do the easy hack that we did before anymore, where we kept track of whether any inference variables changed since the last time we rechecked obligations. Instead, we store the obligations in canonicalized form; that way we can easily check the inference variables to see whether they have changed since the goal was canonicalized. | ||||
* | Fix handling of diverging branches in match coercion | Florian Diebold | 2021-05-21 | 1 | -4/+13 |
| | | | | Fixes #7626. | ||||
* | Fix coercion of two closures to a function pointer | Florian Diebold | 2021-05-21 | 1 | -19/+31 |
| | | | | Fixes #8604. | ||||
* | Temporary fix for unknown expectations | Florian Diebold | 2021-05-21 | 1 | -0/+4 |
| | |||||
* | Fix warnings & format | Florian Diebold | 2021-05-21 | 1 | -6/+5 |
| | |||||
* | Rewrite coercion using the new unification | Florian Diebold | 2021-05-21 | 1 | -84/+317 |
| | |||||
* | Remove our unification code, use Chalk's instead | Florian Diebold | 2021-05-21 | 1 | -5/+5 |
| | |||||
* | Remove unused | Florian Diebold | 2021-04-08 | 1 | -2/+2 |
| | |||||
* | Fix remaining `interned_mut` call | Florian Diebold | 2021-04-08 | 1 | -4/+6 |
| | |||||
* | InEnvironment::new takes a reference | Florian Diebold | 2021-04-07 | 1 | -1/+1 |
| | |||||
* | Remove `SolutionVariables`, add ConstrainedSubst analogous to Chalk | Florian Diebold | 2021-04-06 | 1 | -2/+9 |
| | | | | ... just missing the constraints. | ||||
* | Move Ty accessors to TyExt | Lukas Wirth | 2021-04-06 | 1 | -1/+1 |
| | |||||
* | Add Lifetime to TyKind::Ref | Lukas Wirth | 2021-04-06 | 1 | -2/+4 |
| | |||||
* | Move things from `traits` module to `types` as well | Florian Diebold | 2021-04-04 | 1 | -1/+1 |
| | |||||
* | Replace remaining uses of Substitution::build_for_def | Florian Diebold | 2021-04-04 | 1 | -4/+1 |
| | |||||
* | More TyBuilder use | Florian Diebold | 2021-04-04 | 1 | -12/+9 |
| | |||||
* | Move Ty::fn_ptr to TyBuilder | Florian Diebold | 2021-04-04 | 1 | -4/+5 |
| | |||||
* | Rename Ty::interned to Ty::kind | Florian Diebold | 2021-04-03 | 1 | -4/+4 |
| | | | | ... since that's the actual method on Chalk side that matches the signature. | ||||
* | Introduce `GenericArg` like in Chalk | Florian Diebold | 2021-04-03 | 1 | -1/+1 |
| | | | | | | | Plus some more adaptations to Substitution. Lots of `assert_ty_ref` that we should revisit when introducing lifetime/const parameters. | ||||
* | Align InEnvironment with Chalk | Florian Diebold | 2021-03-21 | 1 | -3/+3 |
| | | | | | | This in particular means storing a chalk_ir::Environment, not our TraitEnvironment. This makes InEnvironment not usable for Type, where we need to keep the full TraitEnvironment. | ||||
* | Turn Obligation into something similar to chalk_ir::DomainGoal | Florian Diebold | 2021-03-20 | 1 | -4/+3 |
| | | | | This includes starting to make use of Chalk's `Cast` trait. | ||||
* | Chalkify TraitRef | Florian Diebold | 2021-03-18 | 1 | -2/+4 |
| | |||||
* | Rename Substs -> Substitution | Florian Diebold | 2021-03-16 | 1 | -2/+4 |
| | |||||
* | Don't use Substs for Ref/Raw/Array/Slice | Florian Diebold | 2021-03-14 | 1 | -8/+2 |
| | |||||
* | Make Ty wrap TyKind in an Arc | Florian Diebold | 2021-03-14 | 1 | -1/+1 |
| | | | | | | | | ... like it will be in Chalk. We still keep `interned_mut` and `into_inner` methods that will probably not exist with Chalk. This worsens performance slightly (5ginstr inference on RA), but doesn't include other simplifications we can do yet. | ||||
* | Separate `Ty` and `TyKind` like in Chalk | Florian Diebold | 2021-03-13 | 1 | -17/+21 |
| | | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`. | ||||
* | Use upstream cov-mark | Laurențiu Nicola | 2021-03-08 | 1 | -3/+2 |
| | |||||
* | Use chalk_ir::Mutability | Lukas Wirth | 2021-03-01 | 1 | -7/+7 |
| | |||||
* | Introduce Ty::Alias | Lukas Wirth | 2021-03-01 | 1 | -5/+5 |
| | |||||
* | Being Ty::InferenceVar closes to chalk equivalent | Lukas Wirth | 2021-03-01 | 1 | -4/+4 |
| | |||||
* | Lift FnPointer into a struct | Lukas Wirth | 2021-02-28 | 1 | -2/+2 |
| | |||||
* | Inline TypeCtor into Ty | Lukas Wirth | 2021-02-28 | 1 | -43/+36 |
| | |||||
* | Rename ra_hir_ty -> hir_ty | Aleksey Kladov | 2020-08-13 | 1 | -0/+197 |