aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | MinorAleksey Kladov2020-05-203-5/+10
| | | | | | | |
| * | | | | | | Snippetify add_newAleksey Kladov2020-05-203-31/+29
| | | | | | | |
* | | | | | | | Merge #4529bors[bot]2020-05-203-11/+69
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4529: Fix Some|None order in fill_match_arms r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | | | Fix Some|None order in fill_match_armsAleksey Kladov2020-05-203-11/+69
| |/ / / / / / /
* | | | | | | | Merge #4528bors[bot]2020-05-201-4/+8
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4528: Debug lens fix for a binary. r=matklad a=vsrs Fixes an issue reported here: https://github.com/rust-analyzer/rust-analyzer/pull/4222#issuecomment-631073448 Co-authored-by: vsrs <[email protected]>
| * | | | | | | Debug lens fix for a binary.vsrs2020-05-201-4/+8
| |/ / / / / /
* | | | | | | Merge #4505bors[bot]2020-05-204-30/+106
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4505: Infer return type of loops with value breaks r=flodiebold a=ruabmbua Creates a type variable to represent the return value of the loop. Uses `coerce_merge_branch` on each break with the previous value, to determine the actual return value of the loop. Resolves: https://github.com/rust-analyzer/rust-analyzer/issues/4492 , https://github.com/rust-analyzer/rust-analyzer/issues/4512 Co-authored-by: Roland Ruckerbauer <[email protected]>
| * | | | | | Apply suggestion of @flodiebold: Get rid of multiple unwrapsRoland Ruckerbauer2020-05-191-12/+10
| | | | | | |
| * | | | | | loop return value inference: add testsRoland Ruckerbauer2020-05-191-0/+63
| | | | | | |
| * | | | | | Move false negative expr_diverges_missing_arm() to working testsRoland Ruckerbauer2020-05-191-21/+18
| | | | | | |
| * | | | | | loop return value inference: coerce_merge branchesRoland Ruckerbauer2020-05-191-15/+23
| | | | | | |
| * | | | | | Infer return type of loops with value breaks.Roland Ruckerbauer2020-05-182-6/+16
| | |_|/ / / | |/| | | |
* | | | | | Merge #4525bors[bot]2020-05-203-42/+50
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4525: Better cursor placement when adding impl members r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Better cursor placement when adding impl membersAleksey Kladov2020-05-203-42/+50
| | | | | | |
* | | | | | | Merge #4524bors[bot]2020-05-206-45/+84
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4524: Use snippets in add_missing_members r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Use snippets in add_missing_membersAleksey Kladov2020-05-206-45/+84
| | | | | | |
| | | | | | |
| \ \ \ \ \ \
*-. \ \ \ \ \ \ Merge #4521 #4522bors[bot]2020-05-2012-107/+205
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4521: Use snippets in add_function r=matklad a=matklad bors r+ 🤖 4522: Explain the purpose of `ast::make` module more clearly r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| | * | | | | | Explain the purpose of `ast::make` module more clearlyAleksey Kladov2020-05-202-5/+8
| |/ / / / / / |/| | | | | |
| * | | | | | Moderate cleanup of add_functionAleksey Kladov2020-05-205-65/+128
| | | | | | |
| * | | | | | Use snippets in add functionAleksey Kladov2020-05-205-40/+75
| | | | | | |
| * | | | | | CleanupAleksey Kladov2020-05-201-5/+2
| | | | | | |
| * | | | | | CleanupAleksey Kladov2020-05-201-3/+2
| | | | | | |
| * | | | | | Use new format for all assists that don't change cursor positonAleksey Kladov2020-05-201-1/+2
|/ / / / / /
* | | | | | Merge #4519bors[bot]2020-05-191-1/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4519: Fix client-side snippets r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Fix client-side snippetsAleksey Kladov2020-05-191-1/+2
|/ / / / / /
* | | | | | Merge #4518bors[bot]2020-05-196-0/+176
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4518: New assist: add turbo fish r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | New assist: add turbo fishAleksey Kladov2020-05-196-0/+176
|/ / / / / /
* | | | | | Merge #4494bors[bot]2020-05-1930-252/+543
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4494: Support snippet text edit r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Update test dataAleksey Kladov2020-05-192-38/+16
| | | | | | |
| * | | | | | Implement client-side of SnippetTextEditAleksey Kladov2020-05-193-2/+81
| | | | | | |
| * | | | | | Server side of SnippetTextEditAleksey Kladov2020-05-199-119/+200
| | | | | | |
| * | | | | | Add snippetTextEdit protocol extensionAleksey Kladov2020-05-193-5/+57
| | | | | | |
| * | | | | | Add snippet support for some assistsAleksey Kladov2020-05-195-61/+72
| | | | | | |
| * | | | | | Add AssistConfigAleksey Kladov2020-05-1913-39/+129
|/ / / / / /
* | | | | | Merge #4491bors[bot]2020-05-191-5/+65
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4491: fix doctest inside impl block r=matklad a=bnjjj close #4449 Co-authored-by: Benjamin Coenen <[email protected]> Co-authored-by: Coenen Benjamin <[email protected]>
| * | | | | | Fix doctests in an Impl blockCoenen Benjamin2020-05-171-1/+1
| | | | | | |
| * | | | | | fix doctest inside impl block #4449Benjamin Coenen2020-05-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * | | | | | fix doctest inside impl block #4449Benjamin Coenen2020-05-161-5/+65
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | | | | Merge #4514bors[bot]2020-05-192-21/+21
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4514: find_path cleanups r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Cleanup query fn namingAleksey Kladov2020-05-192-3/+5
| | | | | |
| * | | | | Move public API to the topAleksey Kladov2020-05-191-9/+9
| | | | | |
| * | | | | SimplifyAleksey Kladov2020-05-191-7/+3
| | | | | |
| * | | | | Cleanup importsAleksey Kladov2020-05-191-3/+5
| | |/ / / | |/| | |
* | | | | Merge #4513bors[bot]2020-05-191-22/+22
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4513: Update crates r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | | Update crateskjeremy2020-05-191-22/+22
|/ / / /
* | | | Merge #4501bors[bot]2020-05-182-5/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4501: Querify `importable_locations_in_crate` r=jonas-schievink a=jonas-schievink This brings the time needed to compute the `add_missing_impl_members` assist down from ~5 minutes to 20 seconds on my test workload (which is editing within an impl of a MIR [`MutVisitor`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/mir/visit/trait.MutVisitor.html)) cc #4498 Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Querify `importable_locations_in_crate`Jonas Schievink2020-05-182-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | This brings the time needed to compute the `add_missing_impl_members` assist down from ~5 minutes to 20 seconds
* | | | | Merge #4497bors[bot]2020-05-182-9/+41
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4497: Create LowerCtx on the fly r=matklad a=edwin0cheng Previously we create `LowerCtx` at the beginning of lowering, however, the hygiene content is in fact changing between macro expression expanding. This PR change it to create the `LowerCtx` on the fly to fix above bug. However, #4465 is not fixed by this PR, the goto-def is still not work yet. It only fixed the infer part. Co-authored-by: Edwin Cheng <[email protected]>
| * | | | | Create LowerCtx on the flyEdwin Cheng2020-05-172-9/+41
| | |/ / / | |/| | |
* | | | | Merge #4493bors[bot]2020-05-181-0/+132
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4493: Provide builtin impls of Fn traits for fn-pointers r=flodiebold a=hban Meant to be, but isn't actually a fix for #2880. Consider this snippet: ```rust use std::marker::PhantomData; use std::ops::Deref; struct Lazy<T, F/* = fn() -> T*/>(F, PhantomData<T>); impl<T, F> Lazy<T, F> { pub fn new(f: F) -> Lazy<T, F> { Lazy(f, PhantomData) } } impl<T, F: FnOnce() -> T> Deref for Lazy<T, F> { type Target = T; fn deref(&self) -> &T { todo!() } } fn test() { let lazy1: Lazy<u32, _> = Lazy::new(|| 0u32); let r1 = lazy1.to_string(); fn make_u32_fn() -> u32 { todo!() } let make_u32_fn_ptr: fn() -> u32 = make_u32_fn; let lazy2: Lazy<u32, _> = Lazy::new(make_u32_fn_ptr); let r2 = lazy2.to_string(); } ``` * On current master: * When type default is commented-out, `r1` is correctly inferred, `r2` in _{unknown}_. * When type default is not commented-out, both `r1` and `r2` are _{unknown}_. * With this PR: * When type default is commented-out, both `r1` and `r2` are correctly inferred. * When type default is not commented-out, both `r1` and `r2` are _{unknown}_. Well, it's a improvement at least. I guess this thing with type defaults is a different problem. I also tried add Fn impls for fn items, but wasn't successful. So this PR only adds those impls for fn pointers. Co-authored-by: Hrvoje Ban <[email protected]>