about summary refs log tree commit diff
path: root/compiler/rustc_interface/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-03-03 14:02:57 +0000
committerbors <bors@rust-lang.org>2024-03-03 14:02:57 +0000
commitf47732b55e74774595f5b12bdbfc8e8e0ec95508 (patch)
tree49f056af4f13d39dc07682d5527d3ba439e9be71 /compiler/rustc_interface/src
parentf51f9236f9e708dded92bb40b929f0da7eb93357 (diff)
parent83e2e2d89dae346d38909f5590d9231cf2a5d218 (diff)
downloadrust-f47732b55e74774595f5b12bdbfc8e8e0ec95508.tar.gz
rust-f47732b55e74774595f5b12bdbfc8e8e0ec95508.zip
Auto merge of #3330 - RossSmyth:win-fmt, r=RalfJung
Fix .\miri fmt on Windows

This allows .\miri fmt to work on Windows. Closes #3317.

To reiterate, the problem with using `miri fmt` on Windows is that the CLI arguments to rustfmt are too long. Currently over 65,000 characters are used in the call to rustfmt, [which is incompatible with Windows](https://devblogs.microsoft.com/oldnewthing/20031210-00/?p=41553) as it is limited to (2^15 - 1) for all arguments plus all env vars.

Two things are done do get around this limit:

1. Call out to cargo-fmt for the crates that exist.
2. Batch rustfmt calls by length

Another alternative would be to just use rustfmt for everything and don't use cargo-fmt for the crates.

I don't know how much you guys may care about `miri fmt` time to run. I don't know the diff as it did not work before on my computer.

[I have another branch that solves this, but in a less permanent way](RossSmyth/miri/tree/windows-fmt). That was my initial attempt, and I learned that even with cargo-fmt and relative paths, the rustfmt call still has 27k characters. This is closer to the limit than I expected, so it would not be a permanent solution. So I went back to absolute paths & batching.
Diffstat (limited to 'compiler/rustc_interface/src')
0 files changed, 0 insertions, 0 deletions