rust-lang / rust-lang/rust-analyzer
Case splitting
Open
@roife is already working on this.
Since Jul 17, 2025.
A-assists
A-pattern
C-feature
S-actionable
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
Sum types allow for a very nice feature called case splitting. Suppose you have x : Result<Option<T>, E> and the following code fragment:
match x {
}
Then you press the case split hotkey, and IDE fills the cases for x:
match x {
Ok(res) => todo!(),
Err(err) => todo!(),
}
Then you place the cursor at res and do case splitting again. The IDE fills cases for res:
match x {
Ok(Some(val)) => todo!(),
Ok(None) => todo!(),
Err(err) => todo!(),
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.