rust-analyzer changelog #0
This is the first instance of a monthly changelog for rust-analyzer. This changelog also serves as a transparency measure for our OpenCollective. We want to thank all sponsors, especially Embark Studios, as well as all individual contributors. You will also find a detailed bookkeeping record around your donation here within the next week.
Notable changes since last month include:
- Initial support for
- Type inference for
- Completion for type aliases (#1472).
- Mutable variables are underlined (#1544, #1550).
add_impl_membersadds types (#1476).
- Sumbodules with raw names and
#[path]are resolved (#1478, #1499).
- Correctly add obligations in function methods (#1496).
- Initial type inference for
- Use bounds on generic parameters during type inference (#1515).
- Completions works for fields of enum variants and in patterns (#1525, #1572).
- Show types of local variables in completion (#1582).
- Make goto definition work with various Vim clients (#1511).
- Diagnostics are collected for a single file (#1494).
- Show code lens for
- Fix discovery of lang items (#1514).
- Share the lexer with rustc (#1575).
- Migrate to the new version of rowan library, improving memory usage of syntax trees for 60% (#1545).
- Pick up floundering work from chalk (#1532).
- Many improvements and cleanups by (@kjeremy).
The highlight of the month is probably #1575. The end-game for rust-analyzer is to become a different front-end for the code that rustc itself uses. This pull request is the first step on this path: now, rust-analyzer and rustc use the same code for lexing Rust.