Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add test for `#[cfg]` on function params | Jonas Schievink | 2021-03-17 | 1 | -0/+13 |
| | |||||
* | Handle `#[cfg]` on call arguments | Jonas Schievink | 2021-03-17 | 1 | -0/+23 |
| | |||||
* | avoid converting types into themselves via .into() (clippy::useless-conversion) | Matthias Krüger | 2021-03-17 | 4 | -20/+20 |
| | | | | example: let x: String = String::from("hello world").into(); | ||||
* | Rename Substs -> Substitution | Florian Diebold | 2021-03-16 | 14 | -143/+155 |
| | |||||
*-. | Merge #7900 #8000 | bors[bot] | 2021-03-16 | 4 | -13/+200 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7900: show function params in completion detail r=matklad a=JoshMcguigan This resolves #7842 by updating the detail for function completions from `-> T` to `fn(T, U) -> V`. I added an expicit unit test for this, `ide_completion::render::fn_detail_includes_args_and_return_type`, which passes. Lots of other unit tests fail (~60 of them) due to this change, although I believe the failures are purely cosmetic (they were testing the exact format of this output). I'm happy to go update those tests, but before I do that I'd like to make sure this is in fact the format we want for the detail? edit - I realized `UPDATE_EXPECT=1 cargo test` automatically updates `expect!` tests. Big :+1: to whoever worked on that! So I'll go ahead and update all these tests soon. But I still would like to confirm `fn(T, U) -> V` is the desired content in the `detail` field. 8000: Use hir formatter for hover text r=matklad a=oxalica Fix #2765 , (should) fix #4665 Co-authored-by: Josh Mcguigan <[email protected]> Co-authored-by: oxalica <[email protected]> | ||||
| | * | Use hir formatter more | oxalica | 2021-03-15 | 1 | -1/+1 |
| | | | |||||
| | * | Impl HirDisplay for function hover message | oxalica | 2021-03-15 | 1 | -8/+195 |
| | | | |||||
| | * | Introduce FunctionQualifier for hir::FunctionData | oxalica | 2021-03-15 | 2 | -4/+4 |
| | | | |||||
* | | | Fix macro expansion for statements w/o semicolon | Edwin Cheng | 2021-03-16 | 1 | -0/+16 |
| | | | |||||
* | | | Use SmallVec for Substs | Florian Diebold | 2021-03-15 | 3 | -14/+29 |
| | | | | | | | | | | | | | | | Doesn't help as much as I hoped, but it helps a bit and I also did some refactorings that were necessary anyway. | ||||
* | | | Fix unification logic | Florian Diebold | 2021-03-15 | 2 | -101/+117 |
| |/ |/| | |||||
* | | Merge #8020 | bors[bot] | 2021-03-15 | 1 | -1/+9 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8020: Power up goto_implementation r=matklad a=Veykril by allowing it to be invoked on references of names, now showing all (trait) implementations of the given type in all crates instead of just the defining crate as well as including support for builtin types ![image](https://user-images.githubusercontent.com/3757771/111144403-52bb0700-8587-11eb-9205-7a2a5b8b75a3.png) Example screenshot of `impl`s of Box in `log`, `alloc`, `std` and the current crate. Before you had to invoke it on the definition where it would only show the `impls` in `alloc`. Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | | Speedup trait impl search for goto_implementation | Lukas Wirth | 2021-03-15 | 1 | -1/+9 |
| | | | |||||
* | | | Merge #8018 | bors[bot] | 2021-03-15 | 10 | -137/+126 |
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8018: Make Ty wrap TyKind in an Arc r=flodiebold a=flodiebold ... to further move towards Chalk. This is a bit of a slowdown (218ginstr vs 213ginstr for inference on RA), even though it allows us to unwrap the Substs in `TyKind::Ref` etc.. Co-authored-by: Florian Diebold <[email protected]> | ||||
| * | | | Don't use Substs for Ref/Raw/Array/Slice | Florian Diebold | 2021-03-14 | 9 | -111/+74 |
| | | | | |||||
| * | | | Make Ty wrap TyKind in an Arc | Florian Diebold | 2021-03-14 | 8 | -27/+53 |
| |/ / | | | | | | | | | | | | | | | | | | | | | | ... 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. | ||||
* / / | Simplify source maps for fields | Aleksey Kladov | 2021-03-15 | 2 | -6/+5 |
|/ / | |||||
* | | More renaming | Florian Diebold | 2021-03-14 | 4 | -18/+22 |
| | | |||||
* | | Use chalk_ir::FnSig | Florian Diebold | 2021-03-14 | 5 | -21/+22 |
| | | |||||
* | | Rename some fields to their Chalk names | Florian Diebold | 2021-03-14 | 10 | -45/+45 |
| | | |||||
* | | Move type lowering methods to TyLoweringContext | Florian Diebold | 2021-03-13 | 4 | -286/+246 |
| | | |||||
* | | Create TraitEnvironment through a query | Florian Diebold | 2021-03-13 | 4 | -45/+59 |
| | | |||||
* | | Use chalk_ir::OpaqueTyId | Florian Diebold | 2021-03-13 | 7 | -63/+53 |
| | | |||||
* | | Use chalk_ir::PlaceholderIndex | Florian Diebold | 2021-03-13 | 7 | -43/+52 |
| | | |||||
* | | Use chalk_ir::ClosureId | Florian Diebold | 2021-03-13 | 5 | -23/+17 |
| | | |||||
* | | Use chalk_ir::FnDefId | Florian Diebold | 2021-03-13 | 9 | -26/+47 |
| | | |||||
* | | Use chalk_ir::AssocTypeId | Florian Diebold | 2021-03-13 | 9 | -74/+82 |
| | | |||||
* | | Use chalk_ir::ForeignDefId | Florian Diebold | 2021-03-13 | 6 | -38/+32 |
| | | |||||
* | | Separate `Ty` and `TyKind` like in Chalk | Florian Diebold | 2021-03-13 | 18 | -583/+718 |
| | | | | | | | | | | Currently `Ty` just wraps `TyKind`, but this allows us to change most places to already use `intern` / `interned`. | ||||
* | | Remove `ItemTree::source` | Jonas Schievink | 2021-03-12 | 1 | -6/+4 |
|/ | | | | `HasSource` should be used instead | ||||
* | Simplify a bit | Florian Diebold | 2021-03-12 | 1 | -10/+5 |
| | |||||
* | Use Chalk Environment more directly | Florian Diebold | 2021-03-12 | 5 | -55/+44 |
| | |||||
* | Prefer names from outer DefMap over extern prelude | Jonas Schievink | 2021-03-10 | 1 | -0/+29 |
| | |||||
* | Delete `ContainerId` | Jonas Schievink | 2021-03-09 | 4 | -7/+7 |
| | |||||
* | Stop using `ContainerId` in `AssocContainerId` | Jonas Schievink | 2021-03-09 | 3 | -3/+3 |
| | |||||
* | Check ancestor maps when computing traits in scope | Jonas Schievink | 2021-03-09 | 1 | -0/+33 |
| | |||||
* | Use `body.block_scopes` in `hir_ty` tests | Jonas Schievink | 2021-03-09 | 1 | -6/+14 |
| | |||||
* | Use `body.block_scopes` to validate inner items | Jonas Schievink | 2021-03-09 | 1 | -3/+8 |
| | |||||
* | Use upstream cov-mark | Laurențiu Nicola | 2021-03-08 | 13 | -38/+24 |
| | |||||
* | Make two calls virtual | Laurențiu Nicola | 2021-03-05 | 1 | -1/+1 |
| | |||||
* | Use chalk_ir::AdtId | Lukas Wirth | 2021-03-04 | 10 | -70/+65 |
| | |||||
* | Use chalk_ir::Mutability | Lukas Wirth | 2021-03-01 | 9 | -59/+70 |
| | |||||
* | Introduce Ty::Alias | Lukas Wirth | 2021-03-01 | 13 | -94/+105 |
| | |||||
* | Assert index relationship between type_variable_table and var_unification_table | Lukas Wirth | 2021-03-01 | 2 | -22/+13 |
| | |||||
* | Being Ty::InferenceVar closes to chalk equivalent | Lukas Wirth | 2021-03-01 | 10 | -150/+170 |
| | |||||
* | Merge #7816 | bors[bot] | 2021-02-28 | 8 | -81/+93 |
|\ | | | | | | | | | | | | | | | 7816: Lift Ty::Fn into a struct r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]> | ||||
| * | Lift FnPointer into a struct | Lukas Wirth | 2021-02-28 | 8 | -81/+93 |
| | | |||||
* | | hir_ty: use default type generic for box expressions | cynecx | 2021-02-28 | 2 | -0/+61 |
|/ | |||||
* | Remove Substs from Ty::ForeignType | Lukas Wirth | 2021-02-28 | 5 | -18/+9 |
| | |||||
* | Turn Ty::Tuple variant into a tuple-variant | Lukas Wirth | 2021-02-28 | 7 | -20/+18 |
| |