| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
further)
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3509: Prevent include! macro include itself r=matklad a=edwin0cheng
This PR prevent `include` macro including itself.
Note: It **does not** prevent a cyclic include:
```rust
// foo.rs
include!("bar.rs")
// bar.rs
include!("foo.rs")
```
Co-authored-by: Edwin Cheng <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3505: Use actions/checkout@v2 r=matklad a=CAD97
---
bors: r+
:robot:
Co-authored-by: CAD97 <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
3508: Use a not so dummy implementation of env macro r=edwin0cheng a=edwin0cheng
Currently we have a dummy `env` macro implementation which expand to an empty string, such that a `include!(concat!(env!("OUT_DIR"), "/foo.rs"))` will become `include!("/foo.rs")`, and here may be a infinite loop. :)
This PR use a not so dummy version of `env` macro to prevent this infinite loop.
Co-authored-by: Edwin Cheng <[email protected]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3504: Normalize waiting queries names r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
3502: Don't reuse the Chalk solver r=matklad a=flodiebold
This slows down analysis-stats a bit (~5% in my measurement), but improves
incremental checking a lot because we can reuse trait solve results.
Co-authored-by: Florian Diebold <[email protected]>
|
| |
| |
| |
| |
| | |
This slows down analysis-stats a bit (~5% in my measurement), but improves
incremental checking a lot because we can reuse trait solve results.
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
3503: :arrow_up: npm deps r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3499: Resolve `Self::AssocTy` in impls r=matklad a=flodiebold
To do this we need to carry around the original resolution a bit, because `Self`
gets resolved to the actual type immediately, but you're not allowed to write
the equivalent type in a projection. (I tried just comparing the projection base
type with the impl self type, but that seemed too dirty.) This is basically how
rustc does it as well.
Fixes #3249.
Co-authored-by: Florian Diebold <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To do this we need to carry around the original resolution a bit, because `Self`
gets resolved to the actual type immediately, but you're not allowed to write
the equivalent type in a projection. (I tried just comparing the projection base
type with the impl self type, but that seemed too dirty.) This is basically how
rustc does it as well.
Fixes #3249.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3500: Don't creat public APIs with typos r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This works around VS Code bug where it tries to cram everything in a
tiny popup, and brings experience closer to Intellij.
|
|\| |
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3498: Trigger parameter info automatically r=matklad a=matklad
See https://github.com/Microsoft/vscode/issues/64023
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| |
| |
| |
| | |
See https://github.com/Microsoft/vscode/issues/64023
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3497: Allow specifying additional info on call to profile r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3496: Less confusing profile names r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3494: Implement include macro r=matklad a=edwin0cheng
This PR implement builtin `include` macro.
* It does not support include as expression yet.
* It doesn't consider `env!("OUT_DIR")` yet.
Co-authored-by: Edwin Cheng <[email protected]>
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3493: make::use_item r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
3490: Support aliases and Self in struct literals r=matklad a=flodiebold
Fixes #3306.
Co-authored-by: Florian Diebold <[email protected]>
|
| | |
| | |
| | |
| | | |
Fixes #3306.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3492: Simplify creation of `T[,]` r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
3489: More robust expression lowering r=matklad a=matklad
Closes #2236
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
cc #2236
|
|\| |
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3487: Rerail split_import API onto AST r=matklad a=matklad
The code is more verbose and less efficient now, but should be
reusable in add_import context as well
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/
|
|
|
| |
The code is more verbose and less efficient now, but should be
reusable in add_import context as well
|
|\
| |
| |
| |
| |
| |
| |
| | |
3483: Unfold groups with single assists into plain assists r=matklad a=SomeoneToIgnore
A follow-up of https://github.com/rust-analyzer/rust-analyzer/pull/3120/files#r378788698 , made to show more detailed label when the assist group contains a single element
Co-authored-by: Kirill Bulatov <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3482: Fix regression from #3451 r=matklad a=edwin0cheng
There is a regression from #3451 such that the following code has failed to parse in raw item collecting phase:
```rust
macro_rules! with_std {
($($i:item)*) => ($(#[cfg(feature = "std")]$i)*)
}
with_std! {
mod macros;
mod others;
}
```
### Rationale
We always assume the last token of an statement will not end with a whitespace, which is true. It is because in parsing phase, we always emit `SyntaxNode` before any whitespace. Such that in various parts of RA code, we solely check the semi-colon by using `SyntaxNode::last_child_token() == ";"` .
However, in #3451, we insert some whitespaces between puncts such that we broke above assumption. This PR fixed this bug by make sure we don't add any whitespace if it is a semicolon.
Co-authored-by: Edwin Cheng <[email protected]>
|
| | |
|