rust-lang / rust-lang/rust-clippy
New lint: `repr_transparent`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Description
What it does
Suggests adding #[repr(transparent)] to items with only one field.
Advantage
Allows structs to be layed out as their singular field, which can be useful in FFI bounds
Drawbacks
Some types may not want to be used in FFI context, so no repr or repr(Rust) might be preferred
Example
struct MyNum(i32);
Could be written as:
#[repr(transparent)]
struct MyNum(i32);
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 reading the repository's existing lint implementations and tests to find the entry points for a new lint. Compare the requested behavior with the examples in this issue, and consider the stated FFI and layout tradeoffs. Done means the lint suggests #[repr(transparent)] for eligible single-field items without suggesting it where the drawbacks apply.
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
- 35/100