rust-lang / rust-lang/rust-bindgen
bindgen-cli generates mixed EOL if rustfmt is configured to use non-native style
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 5.3k
- Forks
- 829
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 15
Description
The following script run on Windows will generate file header.rs which has first four lines ending with CRLF and rest ending with LF:
cd %~dp0
echo int foo; > header.h
echo newline_style = "Unix" > fmt.toml
bindgen "header.h" ^
-o header.rs ^
--raw-line "pub use std;" ^
--rustfmt-configuration-file %~dp0\fmt.toml
I assume this is because rustfmt configuration is not applied to raw-line (third line), bindgen own comment (first line) and empty lines separating comment from raw lines and raw lines from the rest of the file.
I also assume that on linux same problem can be reproduced if rustfmt was configured to use CRLF instead.
Bindgen version: 0.72.0.
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
Run the provided Windows script with bindgen 0.72.0, then inspect the line endings in generated header.rs and the newline_style setting in fmt.toml. Trace how bindgen combines its comment, empty lines, raw-line content, and formatted output; done means the generated file uses the configured EOL style consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100