aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Fix builtin macros split exprs on commaEdwin Cheng2021-02-285-89/+144
|
* Merge #7797bors[bot]2021-02-271-2/+6377
|\ | | | | | | | | | | | | | | | | | | 7797: Format generated lints and features manually r=matklad a=lnicola As `quote` and `rustfmt` leave them on a single line, which makes running `grep` in the repository quite annoying. Also removes a dead `gen_features.rs` file (`gen_lint_completions.rs` does the same thing). Co-authored-by: Laurențiu Nicola <[email protected]>
| * Format generated features manually instead of relying on rustfmtLaurențiu Nicola2021-02-271-2/+6377
| |
* | Merge #7566bors[bot]2021-02-274-0/+222
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7566: Add benchmark tests for mbe r=matklad a=edwin0cheng This PR add more real world tests dumped from `rust-analyzer analysis-stats .` to benchmark its performance. cc #7513 r? @matklad Co-authored-by: Edwin Cheng <[email protected]>
| * | Add benchmark test for mbeEdwin Cheng2021-02-244-0/+222
| | |
* | | generate try_into instead of intoDomantas Jadenkus2021-02-273-72/+96
| | |
* | | rename generate_enum_match_method file to match assist nameDomantas Jadenkus2021-02-272-2/+2
| | |
* | | move into_ and as_ generation to a separate fileDomantas Jadenkus2021-02-274-402/+340
| | |
* | | cargo fmtDomantas Jadenkus2021-02-271-35/+20
| | |
* | | add generate_enum_as_method assistDomantas Jadenkus2021-02-273-0/+154
| | |
* | | deduplicate someDomantas Jadenkus2021-02-271-37/+28
| | |
* | | add generate_enum_into_method assistDomantas Jadenkus2021-02-273-20/+275
| | |
* | | make generate_enum_is_method work on any variantsDomantas Jadenkus2021-02-271-18/+95
| | |
* | | rename existing assist to generate_enum_is_methodDomantas Jadenkus2021-02-273-11/+11
| | |
* | | Disable "Flip comma" assist inside a macro callDenys Zadorozhnyi2021-02-261-2/+24
| | |
* | | docs(ide_assists): Change importMergeBehaviour to importMergeBehaviorSanchith Hegde2021-02-261-3/+3
| | |
* | | bump crateskjeremy2021-02-251-1/+1
| | |
* | | Merge #7741bors[bot]2021-02-244-0/+327
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7741: Add convert_for_to_iter_for_each assist r=mattyhall a=mattyhall Implements one direction of #7681 I wonder if this tries to guess too much at the right thing here. A common pattern is: ```rust let col = vec![1, 2, 3]; for v in &mut col { *v *= 2; } // equivalent to: col.iter_mut().for_each(|v| *v *= 2); ``` I've tried to detect this case by checking if the expression after the `in` is a (mutable) reference and if not inserting iter()/iter_mut(). This is just a convention used in the stdlib however, so could sometimes be wrong. I'd be happy to make an improvement for this, but not sure what would be best. A few options spring to mind: 1. Only allow this for types that are known to have iter/iter_mut (ie stdlib types) 2. Try to check if iter/iter_mut exists and they return the right iterator type 3. Don't try to do this and just add `.into_iter()` to whatever is after `in` Co-authored-by: Matt Hall <[email protected]>
| * | Address further review commentsMatt Hall2021-02-242-51/+36
| | | | | | | | | | | | | | | | | | * Use known names for iter/iter_mut method (simplifies checking if the method exists * Extract code to check assist with fixtures to function
| * | Address review commentsMatt Hall2021-02-231-33/+125
| | | | | | | | | | | | | | | * Move code to build replacement into closure * Look for iter/iter_mut methods on types behind reference
| * | Add convert_for_to_iter_for_each assistMatt Hall2021-02-233-0/+250
| |/
* | Add tests for apply_demorganLukas Wirth2021-02-243-18/+83
| |
* | De Morgan's Law assist now correctly inverts <, <=, >, >=.lbrande2021-02-247-13/+68
| |
* | De Morgan's Law assist now correctly parenthesizes binary expressions.lbrande2021-02-243-11/+7
| |
* | Pickup ConstReference patterns in FindUsagesLukas Wirth2021-02-232-4/+36
|/
* is_visible_from_def_map: handle block expressionsJonas Schievink2021-02-233-9/+37
|
* Add testJonas Schievink2021-02-231-0/+28
|
* 7526: Renamed create ssr to ide_ssr.Chetan Khilosiya2021-02-2215-8/+9
|
* 7526: Rename crate assists to ide_assists.Chetan Khilosiya2021-02-2271-6/+6
|
* Add isize to the list of suffixed integers in typed_integerJonas Bushart2021-02-221-2/+1
| | | | | | The missing `isize` in `typed_integers` seems to just be an oversight. Might fix: #7751
* Make more common assist easier to uesAleksey Kladov2021-02-224-42/+87
|
* Add test from #7273Laurențiu Nicola2021-02-211-0/+45
|
* Bump depsLaurențiu Nicola2021-02-212-4/+4
|
* Stop mixing Result and Option with ? in inline_local_variableScott McMurray2021-02-201-4/+4
| | | | Depending on the discussion in RFC#3058 this might not end up being necessary, but I think it's a reasonable change regardless.
* Merge #7732bors[bot]2021-02-206-37/+45
|\ | | | | | | | | | | | | | | | | | | | | | | 7732: Don't lower TypeBound::Lifetime as GenericPredicate::Error r=flodiebold a=Veykril Basically we just discard the typebound for now instead when lowering to `GenericPredicate`. I think this shouldn't have any other side effects? Fixes #7683(hopefully for real this time) I also played around with introducing `GenericPredicate::LifetimeOutlives` and `GenericPredicate::TypeOutlives`(see https://github.com/Veykril/rust-analyzer/commit/b9d69048451a5f2e9c5a72c800369bbeef36fdcf) but that won't fix this issue(at least not for now) due to lifetime predicate mismatches when resolving methods so I figure this is a good way to fix it for now. Co-authored-by: Lukas Wirth <[email protected]>
| * Don't write trailing whitespace when formatting empty GenericPredicatesLukas Wirth2021-02-203-14/+24
| |
| * Don't lower TypeBound::Lifetime as GenericPredicate::ErrorLukas Wirth2021-02-204-25/+23
| |
* | Update testsJeremy Kolb2021-02-2010-0/+104
| |
* | Use format_to! to make logic a bit nicerMatt Hall2021-02-201-6/+8
| |
* | Fix #7712 retain visibility extracting mod to fileMatt Hall2021-02-201-2/+43
| |
* | Remove documentation of obsolete extend selection commandLaurențiu Nicola2021-02-201-3/+5
| |
* | Merge #7726bors[bot]2021-02-201-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 7726: feat(completion): add doc(hidden) completion for attributes r=lnicola a=bnjjj Co-authored-by: Benjamin Coenen <[email protected]>
| * | feat(completion): add doc(hidden) completion for attributesBenjamin Coenen2021-02-201-0/+3
| |/ | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* / fix(assist): display where predicates when we want to generate implBenjamin Coenen2021-02-202-1/+33
|/ | | | Signed-off-by: Benjamin Coenen <[email protected]>
* Consider import prefix config settings during flyimportsKirill Bulatov2021-02-203-4/+94
|
* Add testLaurențiu Nicola2021-02-201-0/+24
|
* Fix incorrect missing field diagnostic with box patternsLaurențiu Nicola2021-02-201-4/+13
|
* rename completion -> ide_completionAleksey Kladov2021-02-1734-6/+6
| | | | We don't have completion-related PRs in flight, so lets do it
* Revert "Replace usage of ast::NameOrNameRef with ast::NameLike"Lukas Wirth2021-02-173-28/+26
| | | | This reverts commit e1dbf43cf85f84c3a7e40f9731fc1f7ac96f8979.
* Merge #7699bors[bot]2021-02-176-115/+118
|\ | | | | | | | | | | | | | | 7699: Implement ast::AstNode for NameLike and move it to node_ext r=matklad a=Veykril With this `search`(and 2 other modules) don't necessarily go through 3 calls of `find_node_at_offset_with_descend` to find the correct node. Also makes the code that searches for NameLikes a bit easier on the eyes imo, though that can be fixed with just a helper function as well so its not that relevant. Co-authored-by: Lukas Wirth <[email protected]>