| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1848: Parse `..` as a full pattern r=matklad a=ecstatic-morse
Resolves #1479.
This PR implements [RFC 2707](https://github.com/rust-lang/rfcs/pull/2707) in the parser. It introduces a new `DotDotPat` AST node modeled on `PlaceholderPat` and changes the parsing of tuple and slice patterns to conform to the RFC.
Notably, this PR does *not* change the resulting AST when `..` appears in a struct pattern (e.g. `Struct { a, b: c, .. }`). I *think* this is the behavior mandated by RFC 2707, but someone should confirm this.
Co-authored-by: Dylan MacKenzie <[email protected]>
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This is modeled on `PlaceholderPat`.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1847: Allow an underscore as the identifier in `const` items r=matklad a=ecstatic-morse
[RFC 2526](https://github.com/rust-lang/rust/issues/54912) was recently stabilized, meaning `const _: i32 = 5;` is now a valid item.
Co-authored-by: Dylan MacKenzie <[email protected]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1846: Remove a dbg! r=flodiebold a=flodiebold
Co-authored-by: Florian Diebold <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1844: Support bare `Trait` without dyn r=flodiebold a=flodiebold
Co-authored-by: Florian Diebold <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1843: Upgrade Chalk r=flodiebold a=flodiebold
... and remove Ty::UnselectedProjection. It'll be handled differently.
Co-authored-by: Florian Diebold <[email protected]>
|
|/
|
|
| |
... and remove Ty::UnselectedProjection. It'll be handled differently.
|
|\
| |
| |
| |
| |
| |
| |
| | |
1838: rename add_resolution -> add_scope_def r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
1833: Specify desirable namespace when calling resolve r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/
|
|
| |
That way, we are able to get rid of a number of unreachable statements
|
|\
| |
| |
| |
| |
| |
| |
| | |
1835: rename AdtDef -> Adt r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1832: start cleaning up the resolution r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/
|
|
|
|
|
| |
Nameres related types, like `PerNs<Resolution>`, can represent
unreasonable situations, like a local in a type namespace. We should
clean this up, by requiring that call-site specifies the kind of
resolution it expects.
|
|\
| |
| |
| |
| |
| |
| |
| | |
1828: add macros with local_inner_macros argument r=matklad a=JasperDeSutter
fixes #1816
Co-authored-by: JasperDeSutter <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1818: Infer box expression r=matklad a=uHOOCCOOHu
Infer `box e` to be `std::boxed::Box<T>` where `e: T`
Co-authored-by: uHOOCCOOHu <[email protected]>
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1821: Macro completion tweaks r=matklad a=SomeoneToIgnore
Thanks @uHOOCCOOHu for making the macro completion happen :)
I've added a few tweaks to the current completion to make it a bit more convenient:
* Automatically add braces and put the editor cursor inside of them:
<img width="159" alt="image" src="https://user-images.githubusercontent.com/2690773/64737220-022b9f00-d4f5-11e9-8088-76d4678921ab.png">
Currently I have to add the braces manually which is a bit cumbersome.
One further improvement can be to detect if macro accepts no parameters and place the cursor differently for this case.
* Add an exclamation mark to the macro completion label
This helps to distinguish macros from other completion items and also allows to show only macros in completion if you type `!`:
<img width="722" alt="image" src="https://user-images.githubusercontent.com/2690773/64736987-8b8ea180-d4f4-11e9-8355-2ce4f83b7aa8.png">
<img width="732" alt="image" src="https://user-images.githubusercontent.com/2690773/64737214-ffc94500-d4f4-11e9-946e-1ba2db1c7fb1.png">
Additionally, automatic formatting hooks had adjusted two `help.rs` files, I've added them as a last commit to the PR even though they are not really related.
Co-authored-by: Kirill Bulatov <[email protected]>
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1827: fix panic when fetching generics r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | |
| | | |
| | | |
| | | | |
due to macro expansion, the root node is not always a file
|
|\| | |
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
1826: don't break parser error recovery in presence of macros r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ /
| |
| |
| |
| |
| |
| | |
Parser has the invariant that `{}` are balanced.
Previous code tried (unsucesfuly) maintain the same invariant for
`$()` as well, but it was done in a rather ad-hoc manner: it's not at
all obvious that it is possible to maintain both invariants!
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1825: add quiet mode to analysis-stats r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1824: analysis stats uses positional arg again r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1796: Support completion for macros r=matklad a=uHOOCCOOHu
This is based on #1795 , and fixes #1727
Also prettify hover text of macros.
Some screenshorts below:
Completion in item place.
<img width="416" alt="Screenshot_20190910_134056" src="https://user-images.githubusercontent.com/14816024/64587159-fa72da00-d3d0-11e9-86bb-c98f169ec08d.png">
After pressing `tab`.
<img width="313" alt="Screenshot_20190910_134111" src="https://user-images.githubusercontent.com/14816024/64587160-fa72da00-d3d0-11e9-9464-21e3f6957bd7.png">
Complete macros from `std`.
<img width="588" alt="Screenshot_20190910_134147" src="https://user-images.githubusercontent.com/14816024/64587161-fb0b7080-d3d0-11e9-866e-5161f0d1b546.png">
Hover text.
<img width="521" alt="Screenshot_20190910_134242" src="https://user-images.githubusercontent.com/14816024/64587162-fb0b7080-d3d0-11e9-8f09-ad17e3f6702a.png">
Co-authored-by: uHOOCCOOHu <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1797: Use VSCode fs API's in extension r=matklad a=LDSpits
This will close #1670.
I've replaced the `CargoWatcher`s `Cargo.toml` check with a version that uses the `fs` API of vscode.
While making this I've identified an issue with the detection of the `cargo.toml`, we can only load projects where the cargo.toml is in the root of the workspace. but that's a separate issue 😄
Co-authored-by: Lucas Spits <[email protected]>
|