## Features that we would like to see ### Required (we almost certainly want them) - [ ] `discoverConfig`. + Details/discussion: https://github.com/rust-lang/rust-analyzer/issues/17816#issuecomment-2277367909. + PR: https://github.com/rust-lang/rust-analyzer/pull/17246. + Issue: https://github.com/rust-lang/rust-analyzer/issues/17537. + Issue: https://github.com/rust-lang/rust-analyzer/issues/4604. - [ ] Edition 2024 support. + Our plan is to migrate to Edition 2024 as soon as possible (unless a blocker is found, of course). + Issue: https://github.com/rust-lang/rust-analyzer/issues/16146. ### Nice to have (not critical, we could workaround if needed, etc.) ### Low priority (we will likely not use them in the end) ### Done (stabilized, fixed, not needed anymore, etc.) - [x] A way to avoid exploding the size of `rust-project.json` with thousands of `cfg`s defined repeatedly per crate. + Issue: https://github.com/rust-lang/rust-analyzer/issues/17815. + If we end up using the `discoverConfig` support (and we replace completely `rust-project.json` -- see also a few notes at https://github.com/rust-lang/rust-analyzer/issues/17816#issuecomment-2284607312), then we would not need this anymore, and rust-analyzer will likely remove it: https://github.com/rust-lang/rust-analyzer/pull/17857#issuecomment-2306727031. + PR: https://github.com/rust-lang/rust-analyzer/pull/17857. - [x] Support `.rust-project.json` (i.e. hidden). + Issue: https://github.com/rust-lang/rust-analyzer/issues/17816. + PR: https://github.com/rust-lang/rust-analyzer/pull/17818 (1.82.0). --- ## Bugs that we would like to see fixed ### Required (we almost certainly want them) - [ ] Support goto-definition for `include!(concat!(env!("OBJTREE"), "/..._generated.rs"));` + Potentially the cause of https://github.com/Rust-for-Linux/linux/issues/1050. + Issue: https://github.com/rust-lang/rust-analyzer/issues/15836. ### Nice to have (probably not critical, we could workaround if needed, etc.) - [ ] Limitations around `#[path = "..."]`. + A possible workaround is to use a symlink. + Issue: https://github.com/rust-lang/rust-analyzer/issues/3898. + Lore: https://lore.kernel.org/rust-for-linux/20250319-pin-init-internal-quote-v1-1-19de6a33a257@gmail.com/. ### Low priority (we will likely not use them in the end) ### Done (stabilized, fixed, or not needed anymore, etc.)
Features that we would like to see
Required (we almost certainly want them)
discoverConfig..rust-project.json(i.e. hidden) rust-lang/rust-analyzer#17816 (comment).linked_projectsrust-lang/rust-analyzer#17246.Edition 2024 support.
Nice to have (not critical, we could workaround if needed, etc.)
Low priority (we will likely not use them in the end)
Done (stabilized, fixed, not needed anymore, etc.)
A way to avoid exploding the size of
rust-project.jsonwith thousands ofcfgs defined repeatedly per crate.cfgs for given crates (cfggroups) rust-lang/rust-analyzer#17815.discoverConfigsupport (and we replace completelyrust-project.json-- see also a few notes at Support.rust-project.json(i.e. hidden) rust-lang/rust-analyzer#17816 (comment)), then we would not need this anymore, and rust-analyzer will likely remove it: feat: Allow declaring cfg groups in rust-project.json, to help sharing common cfgs rust-lang/rust-analyzer#17857 (comment).Support
.rust-project.json(i.e. hidden)..rust-project.json(i.e. hidden) rust-lang/rust-analyzer#17816.Bugs that we would like to see fixed
Required (we almost certainly want them)
include!(concat!(env!("OBJTREE"), "/..._generated.rs"));bindings::*for out of tree builds #1050.include*!(expr), whereexpris not a string literal rust-lang/rust-analyzer#15836.Nice to have (probably not critical, we could workaround if needed, etc.)
#[path = "..."].unresolved importfor some `#[path = ".."] rust-lang/rust-analyzer#3898.Low priority (we will likely not use them in the end)
Done (stabilized, fixed, or not needed anymore, etc.)