Break lines for attributes in otherwise vertical display (argument / type attributes)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 24
Description
This seems like the sort of thing that may have an issue that's just difficult to find, so please point me in the right direction if so.
Currently rustfmt seems to not break lines for attributes in the arguments or generics position:
pub struct Arc<
T: ?Sized,
#[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global,
> {
ptr: NonNull<ArcInner<T>>,
phantom: PhantomData<ArcInner<T>>,
alloc: A,
}
It seems more consistent to break the line after the attribute. This keeps the generics in line, and is more similar to current behavior for block-level attributes.
pub struct Arc<
T: ?Sized,
#[unstable(feature = "allocator_api", issue = "32838")]
A: Allocator = Global,
> {
// ...
}
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
Reproduce the formatting with the Rust snippet, then trace rustfmt's handling of attributes in generic arguments and type parameters. No source file or test is named; done means the formatter breaks after the attribute while preserving the surrounding vertical generic layout, with coverage in the relevant formatter tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100