rust/src
Jubilee 6c92908869
Rollup merge of #125890 - Nilstrieb:gay-compiletest, r=jieyouxu
Improve compiletest expected/not found formatting

compiletest, oh compiletest, you are truly one of the tools in this repository. You're the omnipresent gatekeeper, ensuring that every new change works, doesn't break the world, and is nice. We thank you for your work, for your tests, for your test runs, for your features that help writing tests, for all the stability and and good you have caused. Without you, Rust wouldn't exist as it does, without you, nothing would work, without you, we would all go insane from having changes break and having to test them all by hand. Thank you, compiletest.

but holy shit i fucking hate your stupid debug output so much i simply cannot take this anymore aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

By changing a few magic lines in this file called "runtest.rs", we can cause compiletest to emit nicer messages. This is widely regarded as a good thing. We stop wasting vertical space, allowing more errors to be displayed at once. Additionally, we add colors, which make it so much more pretty *and* gay, both of which are very good and useful.

There's a bit of fuckery needed to get the colors to work. `colored` checks whether stdout is a terminal. We also print to stdout, so that works well.
But.... for some stupid reason that I absolutely refuse to even attempt to debug, stdout is *not* a terminal when executing tests *in a terminal*.
But stderr is >:).
So this just checks whether stderr is a terminal.
If you have a use case where you dump compiletest stdout into a place where colors are not supported while having stderr be a terminal, then I'm sorry for you, but you are gonna get colors and you're gonna like it. Stop it with the usual environment variable, which `colored` also respects by default.

### before (bad, hurts your brain, makes you want to cry)
![image](https://github.com/rust-lang/rust/assets/48135649/cbeecb5d-fc25-460b-b192-9808f8fa2079)

## after (good, gay, makes you want to cry)
![image](https://github.com/rust-lang/rust/assets/48135649/a655b220-8841-443e-a825-72a835d56882)

r? jieyouxu said he wants to review the PR
2024-06-02 12:58:09 -07:00
..
bootstrap include missing submodule on bootstrap 2024-06-01 17:27:35 +03:00
ci compiletest: clarify COMPILETEST_NEEDS_ALL_LLVM_COMPONENTS error 2024-05-30 08:07:56 +02:00
doc Auto merge of #124577 - GuillaumeGomez:stabilize-custom_code_classes_in_docs, r=rustdoc 2024-06-01 10:18:01 +00:00
etc Remove path choice from x fmt and add --all option. 2024-05-29 16:24:48 +10:00
librustdoc Auto merge of #124577 - GuillaumeGomez:stabilize-custom_code_classes_in_docs, r=rustdoc 2024-06-01 10:18:01 +00:00
llvm-project@b31c30a9bb Update to LLVM 18.1.6 2024-05-19 18:24:30 +02:00
rustdoc-json-types Rollup merge of #125130 - aDotInTheVoid:id-docs, r=GuillaumeGomez 2024-05-16 16:22:45 +02:00
tools Rollup merge of #125890 - Nilstrieb:gay-compiletest, r=jieyouxu 2024-06-02 12:58:09 -07:00
README.md Remove stale reference to the test suite location 2023-01-13 11:49:06 +00:00
stage0 Bump the stage0 compiler to beta.7 (2024-05-25) 2024-05-29 19:30:51 -04:00
version Bump version to 1.80 2024-04-27 19:03:50 -04:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.