| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| | | |
| \ | |
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1721: Impl/dyn trait r=flodiebold a=flodiebold
This adds support for `impl Trait` and `dyn Trait` types as far as possible without Chalk. So we can represent them in the type system, and handle them in method resolution, but Chalk doesn't know about them yet. There's a small temporary hack here where we bypass Chalk during method resolution, so we can handle simple method calls on them and completion works.
Fixes #1608.
1723: Make sysroot use `RUST_SRC_PATH` if set r=matklad a=bkchr
Co-authored-by: Florian Diebold <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
|
| | |/ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When we have one of these, the `Trait` doesn't need to be in scope to call its
methods. So we need to consider this when looking for method
candidates. (Actually I think the same is true when we have a bound `T:
some::Trait`, but we don't handle that yet).
At the same time, since Chalk doesn't handle these types yet, add a small hack
to skip Chalk in method resolution and just consider `impl Trait: Trait` always
true. This is enough to e.g. get completions for `impl Trait`, but since we
don't do any unification we won't infer the return type of e.g. `impl
Into<i64>::into()`.
|
| |/
| |
| |
| |
| |
| |
| | |
- refactor bounds handling in the AST a bit
- add HIR for bounds
- add `Ty::Dyn` and `Ty::Opaque` variants and lower `dyn Trait` / `impl Trait`
syntax to them
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
1722: Parse `box` keyword in patterns below top-level r=matklad a=ecstatic-morse
This extends the parser to handle patterns like `if let Some(box x) = ...` where the `box` keyword is not at the top-level. The last line of the added test caused a `ParseError`. This is a variant of #1412 which was not fixed by #1414.
~~I'm not familiar with `rust-analyzer`, otherwise I would fix this as well :smile:.~~
Co-authored-by: Dylan MacKenzie <[email protected]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1719: :arrow_up: salsa r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
1717: Don't add `?` bounds as real bounds r=flodiebold a=matklad
closes #1709
Co-authored-by: Aleksey Kladov <[email protected]>
|
| |
| |
| |
| | |
closes #1709
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1718: disable clap's features r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1715: Feature flags r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1714: Fix syntax-highlighting for fields (`NAMED_FIELD_DEF`) r=matklad a=cynecx
Before:
`ralsp.function: "#ff0000"`
![image](https://user-images.githubusercontent.com/5961244/63473802-13920600-c477-11e9-93df-67c04fc67636.png)
After:
`ralsp.field: "#9cdcfe"`
![image](https://user-images.githubusercontent.com/5961244/63473976-a894ff00-c477-11e9-8731-269a4c942e05.png)
Co-authored-by: cynecx <[email protected]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1712: fix default for the exlude key r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1711: switch to jod threads r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1706: Normalize line endings to Unix flavor on IO bounraries r=matklad a=matklad
1708: update yanked getrandom r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
that way, we can implement ConvWith<&'_ CTX> for different lifetimes
|
| | | |
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1707: make sure lockfile is used for cargo install r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1703: don't load sysroot in most heavy tests r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1702: replace heck with just ascii transformation r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
1701: qualify ast types with `ast::` r=matklad a=matklad
(only the last commit is relevant, the rest are from #1700)
bors r+
Co-authored-by: Aleksey Kladov <[email protected]>
|
| |
| |
| |
| |
| | |
By convention, ast nodes should always be used as `ast::FnDef`. This
is to avoid confusion with similarly-named hir types.
|
|\|
| |
| |
| |
| |
| |
| |
| | |
1700: remove ast::*Kind enums r=matklad a=matklad
bors r+
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
With the new owned trees, we don't need an indirection here
|
|\
| |
| |
| |
| |
| |
| |
| | |
1699: :arrow_up: vfs r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|