rust-lang / rust-lang/rust-analyzer
Can't extract to function after adding `#[entry]`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
rust-analyzer version: v0.4.1805
rustc version: rustc 1.76.0-beta.5 (f732c37b4 2024-01-12)
relevant settings: (see attached project)
vscode version: 1.85.0
(I try update to latest version, but I already hade this problem weeks ago with, I think, stable versions)
description
I have a RP2040 rust project and the refactoring is not working, only "extract to variable" appears in the menu, not "extract to function".
I made an almost minimal project to reproduce, and found that adding / removing the #[entry] line repeatably triggers / solves the problem. This finding allowed me to extract functions in my existing code by temporarily commenting the #[entry]
how to reproduce
see the attached project, and try commenting / uncommenting the entry attribute.
refactortest.zip
(note : the simplified project gives me an error on first line :
can't find crate for `test`
can't find craterustc[Click for full compiler diagnostic](rust-analyzer-diagnostics-view:<...>)
this error does not appear in my full project.
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.
Research direction
Start with the attached refactortest.zip project and reproduce the issue by commenting and uncommenting the #[entry] attribute. Compare the available refactoring actions, especially extract to function, and verify that the action works without introducing the reported diagnostic.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100