Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Explain why nested `TypeRef` aren't interned | Jonas Schievink | 2021-05-23 | 1 | -0/+4 |
| | |||||
* | Give ‘unsafe’ semantic token modifier to unsafe traits | Aramis Razzaghipour | 2021-05-23 | 5 | -3/+20 |
| | |||||
* | Merge #8938 | bors[bot] | 2021-05-23 | 4 | -15/+118 |
|\ | | | | | | | | | | | | | | | 8938: internal: Fix #8931 r=flodiebold a=flodiebold - and add some better checking for similar bugs Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | Paper over #8931 a bit more | Florian Diebold | 2021-05-23 | 2 | -2/+4 |
| | | | | | | | | | | | | | | | | | | The problem was the skipping of binders in `resolve_method_call_as_callable`; this still doesn't use the _correct_ substitution, but at least it doesn't return a type with free variables in it. Fixes #8931. | ||||
| * | Add test for #8931 and better checking | Florian Diebold | 2021-05-23 | 3 | -13/+114 |
| | | |||||
* | | Render where clauses and more generic params | Jonas Schievink | 2021-05-23 | 2 | -34/+155 |
| | | |||||
* | | Pretty-print generic parameters | Jonas Schievink | 2021-05-23 | 2 | -22/+99 |
| | | |||||
* | | ItemTree: pretty-print all paths | Jonas Schievink | 2021-05-22 | 2 | -9/+119 |
|/ | |||||
* | Add last remaining module docstring | Florian Diebold | 2021-05-22 | 1 | -1/+3 |
| | |||||
* | Merge #8923 | bors[bot] | 2021-05-22 | 21 | -34/+11 |
|\ | | | | | | | | | | | | | | | | | 8923: Add even more docs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | Add even more docs | Aleksey Kladov | 2021-05-22 | 21 | -34/+11 |
| | | |||||
* | | Merge #8922 | bors[bot] | 2021-05-22 | 19 | -28/+71 |
|\| | | | | | | | | | | | | | | | | | 8922: Add more docs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | Add more docs | Aleksey Kladov | 2021-05-22 | 19 | -28/+71 |
| | | |||||
* | | Merge #8868 | bors[bot] | 2021-05-22 | 8 | -282/+192 |
|\| | | | | | | | | | | | | | | | 8868: internal: replace AstTransformer with mutable syntax trees r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | use more precise name | Aleksey Kladov | 2021-05-22 | 3 | -12/+7 |
| | | |||||
| * | internal: replace AstTransformer with mutable syntax trees | Aleksey Kladov | 2021-05-22 | 6 | -208/+123 |
| | | |||||
* | | 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 |
| | | |