| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1105: [WIP] Implement ra_mbe meta variables support r=matklad a=edwin0cheng
This PR implements the following meta variable support in `ra_mba` crate (issue #720):
- [x] `path`
- [ ] `expr`
- [ ] `ty`
- [ ] `pat`
- [ ] `stmt`
- [ ] `block`
- [ ] `meta`
- [ ] `item`
*Implementation Details*
In the macro expanding lhs phase, if we see a meta variable type, we try to create a `tt:TokenTree` from the remaining input. And then we use a special set of `ra_parser` to parse it to `SyntaxNode`.
Co-authored-by: Edwin Cheng <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1121: Avoid two-phase borrow conflict r=matklad a=lnicola
See https://github.com/rust-lang/rust/issues/59159.
Co-authored-by: Laurențiu Nicola <[email protected]>
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1103: Array inference r=flodiebold a=Lapz
Fixes the final item in #394. The only problem is that infering the repeat cause some types to be infered twices.
i.e
```rust
fn test() {
let y = unknown;
[y, &y];
}
```
results in the following diff:
```diff
[11; 48) '{ ...&y]; }': ()
[21; 22) 'y': &{unknown}
[25; 32) 'unknown': &{unknown}
-[38; 45) '[y, &y]': [&&{unknown}]
+[38; 45) '[y, &y]': [&&{unknown};usize]
[39; 40) 'y': &{unknown}
+[39; 40) 'y': &{unknown}
[42; 44) '&y': &&{unknown}
[43; 44) 'y': &{unknown}
```
Should the code produce two inference results for 'y' and if not could any tell me what needs to change.
Co-authored-by: Lenard Pratt <[email protected]>
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
changed the display for fixed array types,
Added Array Enum to ra_hir/expr
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1119: Add warning when open file outside workspace r=matklad a=edwin0cheng
When file is not found in `ra_vfs` but exist, use `LspError` for warning instead of `error_fmt` to bail out error,
Temporarily fix #967 .
edit: typo
Co-authored-by: Edwin Cheng <[email protected]>
|
| | | |
|
| | | |
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1117: [WIP] Tuple struct index inference r=matklad a=robojumper
The first commit adds a helper struct `ast::FieldKind` to facilitate inference.
The second commit adds a slightly modified test from #1109 while mentioning that there is a problem with how we're handling tuple indexing / floats.
cc #1109
Co-authored-by: robojumper <[email protected]>
|
| | | |
|
| |/ |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1118: Updated the gitignore r=flodiebold a=Lapz
Updated the gitignore to ignore *.rs.pending-snap
Co-authored-by: Lenard Pratt <[email protected]>
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1115: Add .gitattributes for fix Windows Line-ending problem in `generated_grammar_is_fresh` r=matklad a=edwin0cheng
Although https://github.com/rust-analyzer/rust-analyzer/issues/937 is marked as `Closed` . But it should work without setting `core.autocrlf` to `false` by this PR.
Co-authored-by: Edwin Cheng <[email protected]>
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
1114: Crate updates r=matklad a=kjeremy
Co-authored-by: kjeremy <[email protected]>
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1112: Fix literal support in token tree to ast item list r=matklad a=edwin0cheng
This PR implements following things :
1. Expose `next_token` from `ra_parse`
2. Fix the literal conversion in `token_tree_to_ast_item_list`
3. Add test for the conversion
Co-authored-by: Edwin Cheng <[email protected]>
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1111: Add multi-byte token support in token tree to ast item list r=matklad a=edwin0cheng
As discusion in https://github.com/rust-analyzer/rust-analyzer/pull/1105 , this PR add implement all multi-byte tokens in `ra_mbe` crate.
Co-authored-by: Edwin Cheng <[email protected]>
|
| | | |
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1108: Fix issue label link in docs/dev/README.md r=matklad a=pcpthm
Co-authored-by: pcpthm <[email protected]>
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1107: Fix test fails when different target directory is used r=matklad a=pcpthm
Co-authored-by: pcpthm <[email protected]>
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1106: :arrow_up: salsa r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1101: Parse unsafe async / const unsafe fns properly r=matklad a=robojumper
Also adds tests that `unsafe async fn` as well as `const unsafe fn` parse properly and that these keywords in the reversed order cause parse errors.
[Playground link to verify that this is the correct order.](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=7850b8d92579de31c38f835f76afa4ce)
Closes #1086.
Co-authored-by: robojumper <[email protected]>
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1098: added some docs to public functions r=matklad a=pasa
some docs for #961
Co-authored-by: Sergey Parilin <[email protected]>
|
| | | | |
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1068: profiling crate first draft r=matklad a=pasa
I've made this first draft for #961
Could you look at it? Is this something what you are looking for?
It has lack of tests. I can't figure out how to test stderr output in rust right now. Do you have some clues?
Additionally I'm thinking about to implement procedural macros to annotate methods with this profiler. Will it be helpful?
Co-authored-by: Sergey Parilin <[email protected]>
|
| |\ \ \ |
|