aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | 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]>
| * | Replace usage of ast::NameOrNameRef with ast::NameLikeLukas Wirth2021-02-173-26/+28
| | |
| * | Implement ast::AstNode for NameLike and move it to node_extLukas Wirth2021-02-165-101/+102
| | |
* | | Merge #7705bors[bot]2021-02-171-2/+38
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7705: Show hover info of the definition of ConstReference patterns instead of its type r=Veykril a=Veykril Closes #7671 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Show hover info of the definition of ConstReference patterns instead of its typeLukas Wirth2021-02-171-2/+38
| |/ /