From 4e5ea069e5a44a2709012b5083cf0e28394ad982 Mon Sep 17 00:00:00 2001 From: ywxt Date: Fri, 15 Aug 2025 14:16:32 +0800 Subject: [PATCH 1/5] Add the directive `compare-output-by-lines` --- src/tests/directives.md | 1 + src/tests/ui.md | 1 + 2 files changed, 2 insertions(+) diff --git a/src/tests/directives.md b/src/tests/directives.md index f4ba9a044..fbbeb7e97 100644 --- a/src/tests/directives.md +++ b/src/tests/directives.md @@ -111,6 +111,7 @@ for more details. | `forbid-output` | A pattern which must not appear in stderr/`cfail` output | `ui`, `incremental` | Regex pattern | | `run-flags` | Flags passed to the test executable | `ui` | Arbitrary flags | | `known-bug` | No error annotation needed due to known bug | `ui`, `crashes`, `incremental` | Issue number `#123456` | +| `compare-output-by-lines` | Compare the output by lines, rather than as a single string | All | N/A | [^check_stdout]: presently this has a weird quirk where the test binary's stdout and stderr gets concatenated and then diff --git a/src/tests/ui.md b/src/tests/ui.md index 25dd5814c..d3a2c4064 100644 --- a/src/tests/ui.md +++ b/src/tests/ui.md @@ -95,6 +95,7 @@ will check for output files: [Normalization](#normalization)). - `dont-check-compiler-stderr` — Ignores stderr from the compiler. - `dont-check-compiler-stdout` — Ignores stdout from the compiler. +- `compare-output-by-lines` — Some tests have non-deterministic orders of output, so we need to compare by lines. UI tests run with `-Zdeduplicate-diagnostics=no` flag which disables rustc's built-in diagnostic deduplication mechanism. This means you may see some From 4aec8be69b5abf2beb3df1a7e123da9ac70f0f36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Sat, 16 Aug 2025 13:45:50 +0200 Subject: [PATCH 2/5] Trace some basic I/O operations in bootstrap --- src/building/bootstrapping/debugging-bootstrap.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/building/bootstrapping/debugging-bootstrap.md b/src/building/bootstrapping/debugging-bootstrap.md index fb90c0fdb..93b11c069 100644 --- a/src/building/bootstrapping/debugging-bootstrap.md +++ b/src/building/bootstrapping/debugging-bootstrap.md @@ -81,9 +81,11 @@ There are two orthogonal ways to control which kind of tracing logs you want: - If you select a level, all events/spans with an equal or higher priority level will be shown. 2. You can also control the log **target**, e.g. `bootstrap` or `bootstrap::core::config` or a custom target like `CONFIG_HANDLING` or `STEP`. - Custom targets are used to limit what kinds of spans you are interested in, as the `BOOTSTRAP_TRACING=trace` output can be quite verbose. Currently, you can use the following custom targets: - - `CONFIG_HANDLING`: show spans related to config handling - - `STEP`: show all executed steps. Note that executed commands have `info` event level. - - `COMMAND`: show all executed commands. Note that executed commands have `trace` event level. + - `CONFIG_HANDLING`: show spans related to config handling. + - `STEP`: show all executed steps. Executed commands have `info` event level. + - `COMMAND`: show all executed commands. Executed commands have `trace` event level. + - `IO`: show performed I/O operations. Executed commands have `trace` event level. + - Note that many I/O are currently not being traced. You can of course combine them (custom target logs are typically gated behind `TRACE` log level additionally): From 4f35e0305c4c38d29510310b033cf02142eb4889 Mon Sep 17 00:00:00 2001 From: Bastian Kersting Date: Wed, 18 Jun 2025 13:47:44 +0000 Subject: [PATCH 3/5] Remove the no_sanitize attribute in favor of sanitize This removes the #[no_sanitize] attribute, which was behind an unstable feature named no_sanitize. Instead, we introduce the sanitize attribute which is more powerful and allows to be extended in the future (instead of just focusing on turning sanitizers off). This also makes sanitize(kernel_address = ..) attribute work with -Zsanitize=address To do it the same as how clang disables address sanitizer, we now disable ASAN on sanitize(kernel_address = "off") and KASAN on sanitize(address = "off"). The same was added to clang in https://reviews.llvm.org/D44981. --- src/sanitizers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sanitizers.md b/src/sanitizers.md index 29d9056c1..34c78d4d9 100644 --- a/src/sanitizers.md +++ b/src/sanitizers.md @@ -45,7 +45,7 @@ implementation: [marked][sanitizer-attribute] with appropriate LLVM attribute: `SanitizeAddress`, `SanitizeHWAddress`, `SanitizeMemory`, or `SanitizeThread`. By default all functions are instrumented, but this - behaviour can be changed with `#[no_sanitize(...)]`. + behaviour can be changed with `#[sanitize(xyz = "on|off")]`. * The decision whether to perform instrumentation or not is possible only at a function granularity. In the cases were those decision differ between From 0105740095d5d98695152a84beeb3ecf17fcbad2 Mon Sep 17 00:00:00 2001 From: xihuwenhua Date: Fri, 22 Aug 2025 14:42:26 +0800 Subject: [PATCH 4/5] doc: fix some typos in comment Signed-off-by: xihuwenhua --- src/autodiff/internals.md | 2 +- src/solve/candidate-preference.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/autodiff/internals.md b/src/autodiff/internals.md index c1b31a0e4..c8e304f81 100644 --- a/src/autodiff/internals.md +++ b/src/autodiff/internals.md @@ -17,7 +17,7 @@ fn main() { The detailed documentation for the `std::autodiff` module is available at [std::autodiff](https://doc.rust-lang.org/std/autodiff/index.html). -Differentiable programing is used in various fields like numerical computing, [solid mechanics][ratel], [computational chemistry][molpipx], [fluid dynamics][waterlily] or for Neural Network training via Backpropagation, [ODE solver][diffsol], [differentiable rendering][libigl], [quantum computing][catalyst], and climate simulations. +Differentiable programming is used in various fields like numerical computing, [solid mechanics][ratel], [computational chemistry][molpipx], [fluid dynamics][waterlily] or for Neural Network training via Backpropagation, [ODE solver][diffsol], [differentiable rendering][libigl], [quantum computing][catalyst], and climate simulations. [ratel]: https://gitlab.com/micromorph/ratel [molpipx]: https://arxiv.org/abs/2411.17011v diff --git a/src/solve/candidate-preference.md b/src/solve/candidate-preference.md index 896052947..8b28f5676 100644 --- a/src/solve/candidate-preference.md +++ b/src/solve/candidate-preference.md @@ -95,7 +95,7 @@ fn overflow() { ``` This preference causes a lot of issues. See [#24066]. Most of the -issues are caused by prefering where-bounds over impls even if the where-bound guides type inference: +issues are caused by preferring where-bounds over impls even if the where-bound guides type inference: ```rust trait Trait { fn call_me(&self, x: T) {} From da5d76fbecb8b0e88f39284f58b0e5b04a72d69f Mon Sep 17 00:00:00 2001 From: The rustc-josh-sync Cronjob Bot Date: Mon, 25 Aug 2025 04:13:14 +0000 Subject: [PATCH 5/5] Prepare for merging from rust-lang/rust This updates the rust-version file to a1dbb443527bd126452875eb5d5860c1d001d761. --- rust-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-version b/rust-version index a399b5cd7..f412399cc 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -425a9c0a0e365c0b8c6cfd00c2ded83a73bed9a0 +a1dbb443527bd126452875eb5d5860c1d001d761