Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
* | 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 | |
| | ||||||
* | 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 | |
| | | ||||||
* | | Fix unresolved attribute fallback again | Jonas Schievink | 2021-05-19 | 2 | -4/+33 | |
| | | ||||||
| | | ||||||
| \ | ||||||
*-. \ | Merge #8885 #8887 | bors[bot] | 2021-05-19 | 11 | -281/+193 | |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8885: internal: greatly simplify eager macro representation r=jonas-schievink a=jonas-schievink - Share structures with lazy macros, make both use `MacroCallLoc`. - Remove `intern_eager_expansion`, `EagerCallLoc`, `EagerMacroId`, and *many* matches on `MacroCallId`. - Make a lot of FIXMEs obsolete since the code no longer distinguishes between eager and lazy macros. - Add `EagerCallInfo`, which is `Some` for calls to eager macros and holds the argument or expansion result and the included file. 8887: fix: fix derive collection after unresolved attribute fallback r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/pull/8882#issuecomment-844379170 bors r+ Co-authored-by: Jonas Schievink <[email protected]> | |||||
| | * | | Fix derive collection after unresolved attribute fallback | Jonas Schievink | 2021-05-19 | 2 | -2/+26 | |
| |/ / |/| | | ||||||
* | | | Merge #8884 | bors[bot] | 2021-05-19 | 1 | -5/+20 | |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8884: fix: add_explicit_type produces invalid code on `@` patterns r=Veykril a=iDawer In ```rust let name @ () = (); ``` an explicit type should be inserted after the pattern, not just after the name. `let` statement defined as `LetStmt = Attr* 'let' Pat (':' Type)? '=' initializer:Expr ';'` Co-authored-by: Dawer <[email protected]> | |||||
| * | | | add_explicit_type respects `@` patterns | Dawer | 2021-05-19 | 1 | -5/+20 | |
| | | | | ||||||
| | * | | Clarify field name | Jonas Schievink | 2021-05-19 | 4 | -6/+6 | |
| | | | |