Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #8921 | bors[bot] | 2021-05-22 | 1 | -1/+13 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 8921: Resolve any lifetime variables to 'static after inference r=flodiebold a=flodiebold Chalk's unification can sometimes create lifetime variables, which we currently don't really deal with, but at least we don't want to leak them outside of inference. Should fix #8919. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | Resolve any lifetime variables to 'static after inference | Florian Diebold | 2021-05-22 | 1 | -1/+13 |
| | | | | | | | | | | | | | | | | Chalk's unification can sometimes create lifetime variables, which we currently don't really deal with, but at least we don't want to leak them outside of inference. Should fix #8919. | ||||
* | | Merge #8901 | bors[bot] | 2021-05-22 | 2 | -27/+75 |
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | 8901: fix: `fill_match_arms` hangs on a tuple of large enums r=matklad a=iDawer + Lazy computation of missing arms. + Convenience function to test lazy computation: `ide_assists::tests::check_assist_unresolved`. Fixes #8835 Co-authored-by: Dawer <[email protected]> | ||||
| * | Test `fill_match_arms` for lazy computation. | Dawer | 2021-05-21 | 2 | -3/+38 |
| | | | | | | | | This also adds `ide_assists::tests::check_assist_unresolved` function. | ||||
| * | fix: `fill_match_arms` hangs on a tuple of large enums | Dawer | 2021-05-20 | 1 | -2/+14 |
| | | |||||
| * | Compute missing arms lazily. | Dawer | 2021-05-20 | 1 | -23/+24 |
| | | |||||
* | | Work around non-unique AttrIds | Jonas Schievink | 2021-05-22 | 2 | -9/+39 |
| | | |||||
* | | Add a "Debug ItemTree" LSP request | Jonas Schievink | 2021-05-21 | 5 | -0/+46 |
| | | |||||
* | | Add an ItemTree pretty-printer | Jonas Schievink | 2021-05-21 | 3 | -0/+780 |
| | | |||||
* | | impl Display for AttrInput/ImportAlias | Jonas Schievink | 2021-05-21 | 2 | -1/+19 |
| | | |||||
* | | Remove `StructDefKind` | Jonas Schievink | 2021-05-21 | 3 | -20/+4 |
| | | |||||
* | | Merge #8856 | bors[bot] | 2021-05-21 | 23 | -1077/+1206 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8856: Use Chalk for unification r=flodiebold a=flodiebold - use Chalk's unification, get rid of our own `unify` - rewrite coercion to not use unification internals and to be more analogous to rustc - fix various coercion bugs - rewrite handling of obligations, since the old hacky optimization where we noted when an inference variable changes wasn't possible anymore - stop trying to deeply resolve types all the time during inference, instead only do it shallowly where necessary Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | | Clean up visibilities | Florian Diebold | 2021-05-21 | 1 | -10/+10 |
| | | | |||||
| * | | Some remaining cleanups | Florian Diebold | 2021-05-21 | 3 | -18/+13 |
| | | | |||||
| * | | Fix test after rebase | Florian Diebold | 2021-05-21 | 1 | -1/+1 |
| | | | |||||
| * | | Record type mismatches for failed coercions in match etc. | Florian Diebold | 2021-05-21 | 2 | -15/+21 |
| | | | |||||
| * | | Refactor expectation handling | Florian Diebold | 2021-05-21 | 3 | -54/+88 |
| | | | | | | | | | | | | So as to not use `TyKind::Error` as "no expectation". | ||||
| * | | Remove TypeVariableTable | Florian Diebold | 2021-05-21 | 2 | -56/+48 |
| | | | |||||
| * | | Deal with goals arising from unification | Florian Diebold | 2021-05-21 | 4 | -18/+21 |
| | | | |||||
| * | | Get rid of resolve_ty_as_possible | Florian Diebold | 2021-05-21 | 8 | -88/+56 |
| | | | | | | | | | | | | Instead use shallow resolving where necessary. | ||||
| * | | Make resolve_ty_shallow return Ty | Florian Diebold | 2021-05-21 | 3 | -14/+7 |
| | | | |||||
| * | | Rework obligation handling | Florian Diebold | 2021-05-21 | 11 | -143/+240 |
| | | | | | | | | | | | | | | | | | | | | | | | | 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 another panic | Florian Diebold | 2021-05-21 | 1 | -17/+15 |
| | | | |||||
| * | | Improve debug printing without TLS | Florian Diebold | 2021-05-21 | 2 | -158/+21 |
| | | | |||||
| * | | Fix panic | Florian Diebold | 2021-05-21 | 1 | -1/+4 |
| | | | |||||
| * | | Fix HIR expecting errors to unify with anything | Florian Diebold | 2021-05-21 | 3 | -8/+65 |
| | | | |||||
| * | | Fix compilation of hir and ide crates | Florian Diebold | 2021-05-21 | 2 | -3/+3 |
| | | | |||||
| * | | Fix if/else coercion | Florian Diebold | 2021-05-21 | 1 | -1/+4 |
| | | | |||||
| * | | Make diverging type variables work again | Florian Diebold | 2021-05-21 | 2 | -0/+23 |
| | | | | | | | | | | | | | | | Chalk doesn't know about the `diverging` flag, so we need to instead propagate it before fully resolving the variables. | ||||
| * | | Fix handling of diverging branches in match coercion | Florian Diebold | 2021-05-21 | 2 | -4/+52 |
| | | | | | | | | | | | | Fixes #7626. | ||||
| * | | Fix coercion of two closures to a function pointer | Florian Diebold | 2021-05-21 | 4 | -56/+48 |
| | | | | | | | | | | | | Fixes #8604. | ||||
| * | | Update tests with expected changes | Florian Diebold | 2021-05-21 | 2 | -40/+34 |
| | | | |||||
| * | | Make type resolver a proper folder, make it resolve consts as well | Florian Diebold | 2021-05-21 | 1 | -48/+117 |
| | | | |||||
| * | | Fix fallback to bound vars in `unify` | Florian Diebold | 2021-05-21 | 1 | -45/+78 |
| | | | |||||
| * | | Better Debug impl for InternedWrapper | Florian Diebold | 2021-05-21 | 1 | -1/+7 |
| | | | |||||
| * | | Temporary fix for unknown expectations | Florian Diebold | 2021-05-21 | 2 | -0/+8 |
| | | | |||||
| * | | Fix warnings & format | Florian Diebold | 2021-05-21 | 3 | -20/+11 |
| | | | |||||
| * | | Rewrite coercion using the new unification | Florian Diebold | 2021-05-21 | 6 | -105/+371 |
| | | | |||||
| * | | Remove our unification code, use Chalk's instead | Florian Diebold | 2021-05-21 | 8 | -438/+125 |
| | | | |||||
* | | | Don't lower extern block in the ItemTree | Jonas Schievink | 2021-05-21 | 4 | -20/+79 |
|/ / | |||||
* | | Merge #8902 | bors[bot] | 2021-05-20 | 1 | -3/+6 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 8902: fix: Fix code completion not inserting borrow text when client supports InsertAndReplace r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Tobias Wirth <[email protected]> | ||||
| * | | Fix code completion not inserting borrow text when client supports ↵ | Lukas Tobias Wirth | 2021-05-20 | 1 | -3/+6 |
| | | | | | | | | | | | | InsertAndReplace | ||||
* | | | Support `#[register_attr]` and `#[register_tool]` | Jonas Schievink | 2021-05-20 | 3 | -32/+94 |
| | | | |||||
* | | | Rename `ignore_attrs_on` to `skip_attrs` | Jonas Schievink | 2021-05-20 | 1 | -6/+6 |
| | | | |||||
* | | | Simplify | Jonas Schievink | 2021-05-20 | 1 | -4/+2 |
| | | | |||||
* | | | Merge #8898 | bors[bot] | 2021-05-20 | 2 | -75/+141 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8898: internal: resolve derive helpers r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]> | ||||
| * | | | Refactor name resolution to resolve derive helpers | Jonas Schievink | 2021-05-20 | 2 | -85/+135 |
| | | | | |||||
| * | | | Rename `unexpanded_macros` to `unresolved_macros` | Jonas Schievink | 2021-05-20 | 1 | -15/+31 |
| | |/ | |/| | |||||
* | | | Merge #8897 | bors[bot] | 2021-05-20 | 4 | -6/+74 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8897: minor: Don't compare ast::Visibility by stringifying r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Tobias Wirth <[email protected]> | ||||
| * | | | Don't compare ast::Visibility by stringifying | Lukas Tobias Wirth | 2021-05-20 | 4 | -6/+74 |
| | |/ | |/| |