aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Escape characters in doc comments in macros correctlyChayim Refael Friedman2021-04-182-3/+23
| | | | | | | | | Previously they were escaped twice, both by `.escape_default()` and the debug view of strings (`{:?}`). This leads to things like newlines or tabs in documentation comments being `\\n`, but we unescape literals only once, ending up with `\n`. This was hard to spot because CMark unescaped them (at least for `'` and `"`), but it did not do so in code blocks. This also was the root cause of #7781. This issue was solved by using `.escape_debug()` instead of `.escape_default()`, but the real issue remained. We can bring the `.escape_default()` back by now, however I didn't do it because it is probably slower than `.escape_debug()` (more work to do), and also in order to change the code the least.
* Merge #8212bors[bot]2021-03-2821-96/+287
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8212: Basic support macro 2.0 r=jonas-schievink a=edwin0cheng Turn out it is quite straight forward :) r @jonas-schievink ![m2](https://user-images.githubusercontent.com/11014119/112712565-6eb99380-8f0b-11eb-88de-5d7f974dfe6d.png) Co-authored-by: Edwin Cheng <[email protected]>
| * Remove unused test fixturesEdwin Cheng2021-03-281-4/+0
| |
| * Add support for doc on hover for macro 2.0Edwin Cheng2021-03-272-2/+33
| |
| * Unleash macro 2.0 in hightlight and moreEdwin Cheng2021-03-2712-31/+49
| |
| * Basic Support Macro 2.0Edwin Cheng2021-03-277-63/+209
| |
* | Merge #8221bors[bot]2021-03-271-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8221: Prefer adding `mod` declaration to lib.rs over file.rs in UnlinkedFile fix r=Veykril a=Veykril When there is a `lib.rs` and `main.rs` in one crate, one usually wants the `lib.rs` file to declare the modules. bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | Prefer add `mod` declaration to lib.rs over file.rs in UnlinkedFile fixLukas Wirth2021-03-271-1/+1
| | |
* | | Merge #8220bors[bot]2021-03-278-10/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8220: Reorder some ide_db imports r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Cleanup ide_db importsLukas Wirth2021-03-278-10/+15
| |/ /
* | | Merge #8214bors[bot]2021-03-271-0/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8214: Mention the rustup version in the manual r=lnicola a=lnicola Closes #7860 bors r+ changelog fix mention the `rustup` version in the installation instructions. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | Mention the rustup version in the manualLaurențiu Nicola2021-03-271-0/+9
|/ / /
* | | Merge #8213bors[bot]2021-03-272-5/+21
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 8213: Added support for const generics in impl generation r=Veykril a=ivan770 Closes #8211 Co-authored-by: ivan770 <[email protected]>
| * | Added support for const generics in impl generationivan7702021-03-272-5/+21
| | |
* | | Merge #8201bors[bot]2021-03-277-70/+119
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8201: Fix recursive macro statements expansion r=edwin0cheng a=edwin0cheng This PR attempts to properly handle macro statement expansion by implementing the following: 1. Merge macro expanded statements to parent scope statements. 2. Add a new hir `Expr::MacroStmts` for handle tail expression infer. PS : The scope of macro expanded statements are so strange that it took more time than I thought to understand and implement it :( Fixes #8171 Co-authored-by: Edwin Cheng <[email protected]>
| * | | Fix recursive macro statement expansionEdwin Cheng2021-03-257-70/+119
| | | |
* | | | Merge #8209bors[bot]2021-03-263-7/+89
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 8209: Add TokenText r=lnicola a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Add TokenTextAleksey Kladov2021-03-263-7/+89
|/ / /
* | | Merge #8191bors[bot]2021-03-2616-27/+27
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8191: syntax: return owned string instead of leaking string r=cynecx a=cynecx Quick hack? to alleviate https://github.com/rust-analyzer/rust-analyzer/issues/8181#issuecomment-806019126. I haven't run any tests but this should affect performance since we are deallocating more. r? @matklad Co-authored-by: cynecx <[email protected]>
| * | | syntax: return owned string instead of leaking stringcynecx2021-03-2616-27/+27
|/ / /
* | | Merge #8056bors[bot]2021-03-269-43/+124
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8056: completion relevance consider if types can be unified r=JoshMcguigan a=JoshMcguigan This PR improves completion relevance scoring for generic types, in cases where the types could unify. ### Before ![pre-could-unify](https://user-images.githubusercontent.com/22216761/111338556-46d94e80-8634-11eb-9936-2b20eb9e6756.png) ### After ![post-could-unify](https://user-images.githubusercontent.com/22216761/111338598-4e005c80-8634-11eb-92e0-69c2c1cda6fc.png) changelog feature improve completions Co-authored-by: Josh Mcguigan <[email protected]>
| * | | completion relevance distinguish between exact type match and could unifyJosh Mcguigan2021-03-265-44/+81
| | | |
| * | | completion relevance consider if types can be unifiedJosh Mcguigan2021-03-265-3/+47
|/ / /
* | | Merge #8206bors[bot]2021-03-261-1/+7
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 8206: Ignore main functions not in root module r=Veykril a=ivan770 Closes #8195 Co-authored-by: ivan770 <[email protected]>
| * | Ignore main functions not in root moduleivan7702021-03-261-1/+7
|/ /
* | Merge #8200bors[bot]2021-03-258-23/+22
|\ \ | |/ |/| | | | | | | | | | | | | | | 8200: Use arrayvec 0.6 r=kjeremy a=lnicola Closes #8198 changelog skip Co-authored-by: Laurențiu Nicola <[email protected]>
| * Use more std::array::IntoIterLaurențiu Nicola2021-03-251-4/+3
| |
| * Use arrayvec 0.6Laurențiu Nicola2021-03-258-20/+20
|/
* Merge #8197bors[bot]2021-03-251-1/+1
|\ | | | | | | | | | | | | | | 8197: Rust 1.51 r=lnicola a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Rust 1.51kjeremy2021-03-251-1/+1
|/
* Merge #8193bors[bot]2021-03-251-1/+1
|\ | | | | | | | | | | | | | | 8193: Fix manual description for rust_project.json r=Veykril a=tweksteen Co-authored-by: Thiébaud Weksteen <[email protected]>
| * Fix manual description for rust_project.jsonThiébaud Weksteen2021-03-251-1/+1
| |
* | Merge #8194bors[bot]2021-03-251-1/+1
|\ \ | |/ |/| | | | | | | | | | | 8194: Make a full clone in `release.yaml` to bring in tags r=lnicola a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>
| * Make a full clone in release.yamlLaurențiu Nicola2021-03-251-1/+1
|/
* Merge #7907bors[bot]2021-03-2410-37/+250
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7907: Autoderef with visibility r=cynecx a=cynecx Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7841. I am not sure about the general approach here. Right now this simply tries to check whether the autoderef candidate is reachable from the current module. ~~However this doesn't exactly work with traits (see the `tests::macros::infer_derive_clone_in_core` test, which fails right now).~~ see comment below Refs: - `rustc_typeck` checking fields: https://github.com/rust-lang/rust/blob/66ec64ccf31883cd2c28d045912a76179c0c6ed2/compiler/rustc_typeck/src/check/expr.rs#L1610 r? @flodiebold Co-authored-by: cynecx <[email protected]>
| * hir: don't use the self module as visible_from in iterate_method_candidatescynecx2021-03-241-6/+1
| |
| * hir_ty: don't call write_field_resolution when field candidate isn't visiblecynecx2021-03-241-6/+4
| |
| * hir_def: move visibility queries from hir_ty to hir_defcynecx2021-03-245-35/+43
| |
| * hir_ty: add coverage testing for autoderef_visibility_method testcynecx2021-03-202-0/+2
| |
| * hir_ty: fix test by removing trailing whitespacecynecx2021-03-201-24/+23
| |
| * hir_ty: iterate_method_candidates_for_self_ty pass `visible_from_module` ↵cynecx2021-03-201-1/+6
| | | | | | | | down to `iterate_inherent_methods`
| * hir_ty: fix visibility in infer_inherent_method testcynecx2021-03-201-16/+16
| |
| * hir_ty: introduce visible_from_module param into method resolutioncynecx2021-03-204-4/+40
| |
| * hir_ty: check field visibility while iterating through autoderef candidatescynecx2021-03-201-14/+36
| |
| * hir_ty: add field_visibilities and fn_visibility queriescynecx2021-03-202-4/+33
| |
| * hir_ty: add tests around autoderef with visibility checkingcynecx2021-03-201-0/+119
| |
| * hir_ty: fix tests by making required methods publiccynecx2021-03-202-4/+4
| |
* | Merge #8190bors[bot]2021-03-244-18/+42
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 8190: Fix chalk_ir assertion r=flodiebold a=flodiebold Fixes #8150. I implemented a validator that catches this in the tests, but it'd need to get merged in Chalk first. Co-authored-by: Florian Diebold <[email protected]>
| * | Fix chalk_ir assertionFlorian Diebold2021-03-244-18/+42
| | | | | | | | | | | | Fixes #8150.
* | | Merge #8189bors[bot]2021-03-241-0/+4
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | 8189: Document unlinked-file diagnostic r=jonas-schievink a=jonas-schievink fixes https://github.com/rust-analyzer/rust-analyzer/issues/8188 bors r+ Co-authored-by: Jonas Schievink <[email protected]>