Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | 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 | |
| | |/ | |/| | ||||||
* / | | Update outdated auto-import documentation | Lukas Tobias Wirth | 2021-05-20 | 1 | -9/+8 | |
|/ / | ||||||
* | | Merge #8873 | bors[bot] | 2021-05-20 | 8 | -39/+291 | |
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | 8873: Implement import-granularity guessing r=matklad a=Veykril This renames our `MergeBehavior` to `ImportGranularity` as rustfmt has it as the purpose of them are basically the same. `ImportGranularity::Preserve` currently has no specific purpose for us as we don't have an organize imports assist yet, so it currently acts the same as `ImportGranularity::Item`. We now try to guess the import style on a per file basis and fall back to the user granularity setting if the file has no specific style yet or where it is ambiguous. This can be turned off by setting `import.enforceGranularity` to `true`. Closes https://github.com/rust-analyzer/rust-analyzer/issues/8870 Co-authored-by: Lukas Tobias Wirth <[email protected]> | |||||
| * | Check for differing attributes in granularity guessing | Lukas Tobias Wirth | 2021-05-20 | 3 | -7/+21 | |
| | | ||||||
| * | Replace ImportGranularity::Guess with guessing boolean flag | Lukas Tobias Wirth | 2021-05-19 | 8 | -28/+206 | |
| | | ||||||
| * | Add ImportGranularity::Guess | Lukas Tobias Wirth | 2021-05-18 | 2 | -14/+8 | |
| | | ||||||
| * | Implement import-granularity guessing | Lukas Tobias Wirth | 2021-05-18 | 1 | -2/+33 | |
| | | ||||||
| * | MergeBehavior -> ImportGranularity | Lukas Tobias Wirth | 2021-05-18 | 7 | -30/+65 | |
| | | ||||||
* | | Track in-scope derive helpers during nameres | Jonas Schievink | 2021-05-19 | 2 | -9/+27 | |
| | |