1313: Update `gen_lsp_server` examples r=matklad a=dmoonfire
- updated the documentation with an example that has no errors with current compiler
- added two example code to test compilation and show in use
- one example is the bare bones version in documentation
- the other example is the same but with logging statements to show flow
Co-authored-by: Dylan Moonfire <dylan.moonfire@ryan.com>
1281: Move arm cond to match guard r=matklad a=unrealhoang
I did split the rename to another commit, yet Github UI still show entirely new file change. Please review using commits.
Co-authored-by: Unreal Hoang <unrealhoang@gmail.com>
1306: Chalk fuel r=matklad a=flodiebold
This switches Chalk to my fuel branch, and limits the fuel for trait solving. This should improve worst-case performance; for example, we can now run `ra_cli analysis-stats` against rustc again. This also fixes a bug found doing that.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
1299: Use ThemeColor and add support for light themes r=matklad a=lnicola
Part of #1294.
- switch to `ThemeColor`
- add light and high contrast theme definitions
- highlight control flow keywords and `unsafe`
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
1293: Pass `--all-targets` to `cargo watch` r=matklad a=aleksijuvani
A trivial change, but passes the `--all-targets` flag to `cargo watch`. This enables inline diagnostics for the example, bin and test targets. Previously, modifying an example would trigger a change notification for `cargo watch`, but `cargo check` does not actually check these unless either `--all-targets` or `--examples` is specified.
Co-authored-by: Aleksi Juvani <aleksi@aleksijuvani.com>
1287: Add support of matching literal in mbe r=matklad a=edwin0cheng
This PR adds support of matching literal in mbe , which used in our `T` macro :
```rust
macro_rules! foo {
('(') => {
fn foo() {}
}
}
```
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
1286: Add infer for generic default type r=flodiebold a=edwin0cheng
This PR add infer support for generic default type:
```
struct Gen<T=u32> {
val: T
}
```
* add the (unresolved) defaults from the definition to GenericParams
* add a query generic_defaults that resolves those defaults to types and returns a Substs
* add the missing type in `substs_from_path_segment`
* add tests
based on the idea in this [comment](https://github.com/rust-analyzer/rust-analyzer/issues/1099#issuecomment-484206279)
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>