Skip to content

Commit afae2e5

Browse files
authored
Merge pull request #2799 from rust-lang/rustc-pull
Rustc pull update
2 parents f1aa14d + c36e67f commit afae2e5

File tree

4 files changed

+26
-1
lines changed

4 files changed

+26
-1
lines changed

rust-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1e2183119f0ee19cc26df899e26b04ad0de3475d
1+
91021ccc790478a1a89c003e7d32b8d155ae6aae

src/early-late-parameters.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33

44
> **NOTE**: This chapter largely talks about early/late bound as being solely relevant when discussing function item types/function definitions. This is potentially not completely true, async blocks and closures should likely be discussed somewhat in this chapter.
55
6+
See also these blog posts from when the distinction between early and late bound parameters was
7+
introduced: [Intermingled parameter lists] and [Intermingled parameter lists, take 2].
8+
9+
[Intermingled parameter lists]: https://smallcultfollowing.com/babysteps/blog/2013/10/29/intermingled-parameter-lists/
10+
[Intermingled parameter lists, take 2]: https://smallcultfollowing.com/babysteps/blog/2013/11/04/intermingled-parameter-lists/
11+
612
## What does it mean to be "early" bound or "late" bound
713

814
Every function definition has a corresponding ZST that implements the `Fn*` traits known as a [function item type][function_item_type]. This part of the chapter will talk a little bit about the "desugaring" of function item types as it is useful context for explaining the difference between early bound and late bound generic parameters.

src/tests/compiletest.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -836,3 +836,20 @@ In CI, compare modes are only used in one Linux builder, and only with the follo
836836
Note that compare modes are separate to [revisions](#revisions).
837837
All revisions are tested when running `./x test tests/ui`, however compare-modes must be
838838
manually run individually via the `--compare-mode` flag.
839+
840+
## Parallel frontend
841+
842+
Compiletest can be run with the `--parallel-frontend-threads` flag to run the compiler in parallel mode.
843+
This can be used to check that the compiler produces the same output in parallel mode as in non-parallel mode, and to check for any issues that might arise in parallel mode.
844+
845+
To run the tests in parallel mode, you need to pass the `--parallel-frontend-threads` CLI flag:
846+
847+
```bash
848+
./x test tests/ui -- --parallel-frontend-threads=N --iteration-count=M
849+
```
850+
851+
Where `N` is the number of threads to use for the parallel frontend, and `M` is the number of times to run each test in parallel mode (to increase the chances of catching any non-determinism).
852+
853+
Also, when running with `--parallel-frontend-threads`, the `compare-output-by-lines` directive would be implied for all tests, since the output from the parallel frontend can be non-deterministic in terms of the order of lines.
854+
855+
The parallel frontend is available in UI tests only at the moment, and is not currently supported in other test suites.

src/tests/directives.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ Some examples of `X` in `ignore-X` or `only-X`:
148148
- When [remote testing] is used: `remote`
149149
- When particular debuggers are being tested: `cdb`, `gdb`, `lldb`
150150
- When particular debugger versions are matched: `ignore-gdb-version`
151+
- When the [parallel frontend] is enabled: `ignore-parallel-frontend`
151152
- Specific [compare modes]: `compare-mode-polonius`, `compare-mode-chalk`,
152153
`compare-mode-split-dwarf`, `compare-mode-split-dwarf-single`
153154
- The two different test modes used by coverage tests:
@@ -233,6 +234,7 @@ The following directives will check LLVM support:
233234
See also [Debuginfo tests](compiletest.md#debuginfo-tests) for directives for ignoring debuggers.
234235

235236
[remote testing]: running.md#running-tests-on-a-remote-machine
237+
[parallel frontend]: compiletest.md#parallel-frontend
236238
[compare modes]: ui.md#compare-modes
237239
[`x86_64-gnu-debug`]: https://github.com/rust-lang/rust/blob/ab3dba92db355b8d97db915a2dca161a117e959c/src/ci/docker/host-x86_64/x86_64-gnu-debug/Dockerfile#L32
238240
[`aarch64-gnu-debug`]: https://github.com/rust-lang/rust/blob/20c909ff9cdd88d33768a4ddb8952927a675b0ad/src/ci/docker/host-aarch64/aarch64-gnu-debug/Dockerfile#L32

0 commit comments

Comments
 (0)