Should group_imports apply to function bodies?
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 24
Description
In Rust, you can write imports inside of function bodies. This is usually used for one or a small few imports that are relevant to that function. There is a clear distinction between these two kinds of places in the Rust AST (items vs. statements) so I think it may be reasonable to have different rules in how they are handled.
My concern is that, since the number of imports inside of function bodes is usually small, group_imports will often result in separating two or three imports with blank lines, and this will feel noisy.
(Contrived) example:
fn my_function(thing: Bar) {
use std::collections::hash_map::Entry::*;
use foo::Bar::*;
match thing {
Sally(..) => ..,
Sammy(..) => ..,
vs.
fn my_function(thing: Bar) {
use std::collections::hash_map::Entry::*;
use foo::Bar::*;
match thing {
Sally(..) => ..,
Sammy(..) => ..,
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 by locating the group_imports implementation and existing tests for imports in function bodies. Compare the issue's two examples and add coverage for the desired behavior; done means the behavior is captured by tests and group_imports no longer produces noisy separation there.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100