aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Refactor TokenStream to hold Vec<TokenTree> instead of tt::SubtreeKevin Mehall2021-03-063-65/+56
| | | | | | | | | | `TokenStream` assumes that its subtree's delimeter is `None`, and this should be encoded in the type system instead of having a delimiter field that is mostly ignored. `tt::Subtree` is just `pub delimiter: Option<Delimiter>, pub token_trees: Vec<TokenTree>`, so a Subtree that is statically guaranteed not to have a delimiter is just Vec<TokenTree>.
* Fix TokenStream::from_str for input consisting of a single GroupKevin Mehall2021-03-061-2/+34
| | | | | | | | | | | | | | | TokenStream holds a `tt::Subtree` but assumes its `delimiter` is always `None`. In particular, the iterator implementation iterates over the inner `token_trees` and ignores the `delimiter`. However, `TokenStream::from_str` violated this assumption when the input consists of a single Group by producing a Subtree with an outer delimiter, which was ignored as seen by a procedural macro. In this case, wrap an extra level of Subtree around it. Fixes #7810 Fixes #7875
* Merge #7887bors[bot]2021-03-052-2/+4
|\ | | | | | | | | | | | | | | | | | | 7887: Fix fail to parse :: for meta in mbe r=edwin0cheng a=edwin0cheng fixes #7886 bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * Fix fail to parse :: for meta in mbeEdwin Cheng2021-03-052-2/+4
| |
* | Merge #7884bors[bot]2021-03-052-39/+43
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 7884: Simplify TokenStream FromStr r=edwin0cheng a=edwin0cheng Make sure `FromStr` ignore all `TokenMap` in all cases. bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | Fix testEdwin Cheng2021-03-051-1/+1
| | |
| * | Simplify TokenStream FromStrEdwin Cheng2021-03-051-38/+42
| | |
* | | Merge #7869bors[bot]2021-03-051-0/+43
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | 7869: Add support for deref assignments to "pull assignment up" assist. r=Veykril a=Jesse-Bakker Fixes #7867 Co-authored-by: Jesse Bakker <[email protected]>
| * | Add support for deref assignments to "pull assignment up" assist.Jesse Bakker2021-03-051-0/+43
| |/ | | | | | | Fixes #7867
* | Merge #7883bors[bot]2021-03-052-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 7883: Make two calls virtual r=matklad a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Make two calls virtualLaurențiu Nicola2021-03-052-2/+2
| | |
* | | Merge #7882bors[bot]2021-03-051-8/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7882: cargo update r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | cargo updatekjeremy2021-03-051-8/+8
|/ / /
* | | Merge #7881bors[bot]2021-03-053-70/+37
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 7881: Underengineer `cargo xtask install --client` r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Underengineer `cargo xtask install --client`Aleksey Kladov2021-03-053-70/+37
| | |
* | | Merge #7880bors[bot]2021-03-051-2/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7880: Honor snippet capability when using the extract function assist r=lnicola a=Arthamys This fixes issue #7793 Co-authored-by: san <[email protected]>
| * | | Honor snippet capability in extract function assistsan2021-03-051-2/+8
| | | |
* | | | Merge #7870bors[bot]2021-03-0511-73/+68
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7870: Use chalk_ir::AdtId r=Veykril a=Veykril It's a bit unfortunate that we got two AdtId's now(technically 3 with the alias in the chalk module but that one won't allow pattern matching), one from hir_def and one from chalk_ir(hir_ty). But the hir_ty/chalk one doesn't leave hir so it shouldn't be that bad I suppose. Though if I see this right this will happen for almost all IDs. I imagine most of the intermediate changes to using chalk ids will turn out not too nice until the refactor is over. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Use chalk_ir::AdtIdLukas Wirth2021-03-0411-73/+68
| | |_|/ | |/| |
* | | | Merge #7879bors[bot]2021-03-052-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7879: Fix some warnings r=lnicola a=lnicola bors r+ Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | Fix some warningsLaurențiu Nicola2021-03-052-2/+2
|/ / / /
* | | | Merge #7876bors[bot]2021-03-054-51/+56
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | | | | | | | | | | 7876: Cleanup install command r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Cleanup install commandAleksey Kladov2021-03-054-51/+56
| | |
| * | Fix regression where the client was not installedAleksey Kladov2021-03-051-1/+1
|/ /
* | Merge #7868bors[bot]2021-03-045-14/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7868: Migrate to user-centric config name for `cargo check` stuff r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Migrate to user-centric config name for `cargo check` stuffAleksey Kladov2021-03-045-14/+13
| | |
* | | Merge #7866bors[bot]2021-03-034-32/+45
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7866: Complete `while let` r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Complete `while let`Lukas Wirth2021-03-032-9/+11
| | | |
| * | | Don't complete `super` unless its valid in pathsLukas Wirth2021-03-033-23/+34
|/ / /
* | | Merge #7863bors[bot]2021-03-031-189/+189
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7863: Prevent renaming SelfType and BuiltinType r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Prevent renaming SelfType and BuiltinTypeLukas Wirth2021-03-031-0/+2
| | | |
| * | | Reorder functions in rename.rsLukas Wirth2021-03-031-189/+187
| | | |
* | | | Merge #7862bors[bot]2021-03-031-24/+0
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7862: Remove incorrect broken test r=jonas-schievink a=jonas-schievink `Struct` cannot be named at all in that position, since `super` doesn't resolve to the block scope bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Remove incorrect broken testJonas Schievink2021-03-031-24/+0
|/ / / | | | | | | | | | | | | `Struct` cannot be named at all in that position, since `super` doesn't resolve to the block scope
* | | Merge #7861bors[bot]2021-03-031-2/+43
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7861: Special-case parenthesized and negated expressions in demorgan assist r=lnicola a=Jesse-Bakker Fixes #7831 Co-authored-by: Jesse Bakker <[email protected]>
| * | | Special-case parenthesized and negated expressions in demorgan assistJesse Bakker2021-03-031-2/+43
|/ / /
* | | Merge #7858bors[bot]2021-03-031-1/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7858: Clarify comparison rule r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Clarify comparison ruleAleksey Kladov2021-03-031-1/+7
| |/ /
* | | Merge #7853bors[bot]2021-03-022-3/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7853: Update lexer r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | Update lexerkjeremy2021-03-022-3/+3
|/ / /
* | | Merge #7852bors[bot]2021-03-021-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 7852: bump once_cell r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | bump once_cellkjeremy2021-03-021-2/+2
|/ /
* | Merge #7851bors[bot]2021-03-022-616/+424
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7851: Compress tests r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Compress testsAleksey Kladov2021-03-022-616/+424
| | |
* | | Merge #7824bors[bot]2021-03-021-1/+107
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7824: feat: add type ascription r=matklad a=conradludgate Based on this conversation: https://twitter.com/rust_analyzer/status/1366092401278922757 Built off of `add_turbo_fish`, finds the current `let` statement, checks if it has type/turbofish already and checks if the rhs function is generic. There's one case I couldn't figure out how to implement that would be nice: ```rust #[test] fn add_type_ascription_function_result() { check_assist( add_type_ascription, r#" fn make<T>() -> Result<T, &'static str> {} fn main() { let x = make()$0; } "#, r#" fn make<T>() -> Result<T, &'static str> {} fn main() { let x: Result<${0:_}, &'static str> = make(); } "#, ); } ``` The `Function::ret_type` fn wasn't returning anything much useful so I'm not sure how to identity such scenarios just yet Co-authored-by: Conrad Ludgate <[email protected]>
| * | | chore: remove redundant testsConrad Ludgate2021-03-021-30/+0
| | | |
| * | | chore: remove deleted file pathConrad Ludgate2021-03-021-1/+0
| | | |
| * | | chore: codegenConrad Ludgate2021-03-021-19/+0
| | | |
| * | | refactor: re-use add_turbo_fish functionConrad Ludgate2021-03-023-201/+137
| | | |
| * | | chore: fmt + docsConrad Ludgate2021-03-021-2/+2
| | | |