Auto merge of #91573 - matthiaskrgr:rollup-wcygm2r, r=matthiaskrgr
Rollup of 5 pull requests Successful merges: - #91367 (Fix ICE in `check_must_not_suspend_ty()`) - #91391 (Simplify --no-headless option for rustdoc-gui tester) - #91537 (compiler/rustc_target: make m68k-unknown-linux-gnu use the gnu base) - #91554 (Update doc about code block edition attributes) - #91563 (Bump download-ci-llvm-stamp for LLD inclusion) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
09d8a50ea2
7 changed files with 86 additions and 18 deletions
|
@ -2,7 +2,7 @@ use crate::abi::Endian;
|
||||||
use crate::spec::{Target, TargetOptions};
|
use crate::spec::{Target, TargetOptions};
|
||||||
|
|
||||||
pub fn target() -> Target {
|
pub fn target() -> Target {
|
||||||
let mut base = super::linux_base::opts();
|
let mut base = super::linux_gnu_base::opts();
|
||||||
base.max_atomic_width = Some(32);
|
base.max_atomic_width = Some(32);
|
||||||
|
|
||||||
Target {
|
Target {
|
||||||
|
|
|
@ -536,22 +536,28 @@ pub fn check_must_not_suspend_ty<'tcx>(
|
||||||
}
|
}
|
||||||
has_emitted
|
has_emitted
|
||||||
}
|
}
|
||||||
ty::Tuple(ref tys) => {
|
ty::Tuple(_) => {
|
||||||
let mut has_emitted = false;
|
let mut has_emitted = false;
|
||||||
let spans = if let Some(hir::ExprKind::Tup(comps)) = data.expr.map(|e| &e.kind) {
|
let comps = match data.expr.map(|e| &e.kind) {
|
||||||
debug_assert_eq!(comps.len(), tys.len());
|
Some(hir::ExprKind::Tup(comps)) => {
|
||||||
comps.iter().map(|e| e.span).collect()
|
debug_assert_eq!(comps.len(), ty.tuple_fields().count());
|
||||||
} else {
|
Some(comps)
|
||||||
vec![]
|
}
|
||||||
|
_ => None,
|
||||||
};
|
};
|
||||||
for (i, ty) in tys.iter().map(|k| k.expect_ty()).enumerate() {
|
for (i, ty) in ty.tuple_fields().enumerate() {
|
||||||
let descr_post = &format!(" in tuple element {}", i);
|
let descr_post = &format!(" in tuple element {}", i);
|
||||||
let span = *spans.get(i).unwrap_or(&data.source_span);
|
let span = comps.and_then(|c| c.get(i)).map(|e| e.span).unwrap_or(data.source_span);
|
||||||
if check_must_not_suspend_ty(
|
if check_must_not_suspend_ty(
|
||||||
fcx,
|
fcx,
|
||||||
ty,
|
ty,
|
||||||
hir_id,
|
hir_id,
|
||||||
SuspendCheckData { descr_post, source_span: span, ..data },
|
SuspendCheckData {
|
||||||
|
descr_post,
|
||||||
|
expr: comps.and_then(|comps| comps.get(i)),
|
||||||
|
source_span: span,
|
||||||
|
..data
|
||||||
|
},
|
||||||
) {
|
) {
|
||||||
has_emitted = true;
|
has_emitted = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Change this file to make users of the `download-ci-llvm` configuration download
|
Change this file to make users of the `download-ci-llvm` configuration download
|
||||||
a new version of LLVM from CI, even if the LLVM submodule hasn’t changed.
|
a new version of LLVM from CI, even if the LLVM submodule hasn’t changed.
|
||||||
|
|
||||||
Last change is for: https://github.com/rust-lang/rust/pull/88069
|
Last change is for: https://github.com/rust-lang/rust/pull/91229
|
||||||
|
|
|
@ -359,9 +359,8 @@ are added.
|
||||||
# fn foo() {}
|
# fn foo() {}
|
||||||
```
|
```
|
||||||
|
|
||||||
`edition2018` tells `rustdoc` that the code sample should be compiled using
|
`edition2015`, `edition2018` and `edition2021` tell `rustdoc`
|
||||||
the 2018 edition of Rust. Similarly, you can specify `edition2015` to compile
|
that the code sample should be compiled using the respective edition of Rust.
|
||||||
the code with the 2015 edition.
|
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
/// Only runs on the 2018 edition.
|
/// Only runs on the 2018 edition.
|
||||||
|
|
10
src/test/ui/typeck/issue-91334.rs
Normal file
10
src/test/ui/typeck/issue-91334.rs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
// Regression test for the ICE described in issue #91334.
|
||||||
|
|
||||||
|
// error-pattern: this file contains an unclosed delimiter
|
||||||
|
// error-pattern: expected one of
|
||||||
|
// error-pattern: mismatched closing delimiter
|
||||||
|
// error-pattern: mismatched types
|
||||||
|
|
||||||
|
#![feature(generators)]
|
||||||
|
|
||||||
|
fn f(){||yield(((){),
|
50
src/test/ui/typeck/issue-91334.stderr
Normal file
50
src/test/ui/typeck/issue-91334.stderr
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
error: this file contains an unclosed delimiter
|
||||||
|
--> $DIR/issue-91334.rs:10:23
|
||||||
|
|
|
||||||
|
LL | fn f(){||yield(((){),
|
||||||
|
| - - ^
|
||||||
|
| | |
|
||||||
|
| | unclosed delimiter
|
||||||
|
| unclosed delimiter
|
||||||
|
|
||||||
|
error: this file contains an unclosed delimiter
|
||||||
|
--> $DIR/issue-91334.rs:10:23
|
||||||
|
|
|
||||||
|
LL | fn f(){||yield(((){),
|
||||||
|
| - - ^
|
||||||
|
| | |
|
||||||
|
| | unclosed delimiter
|
||||||
|
| unclosed delimiter
|
||||||
|
|
||||||
|
error: expected one of `)`, `,`, `.`, `?`, or an operator, found `{`
|
||||||
|
--> $DIR/issue-91334.rs:10:19
|
||||||
|
|
|
||||||
|
LL | fn f(){||yield(((){),
|
||||||
|
| ^
|
||||||
|
| |
|
||||||
|
| expected one of `)`, `,`, `.`, `?`, or an operator
|
||||||
|
| help: missing `,`
|
||||||
|
|
||||||
|
error: mismatched closing delimiter: `)`
|
||||||
|
--> $DIR/issue-91334.rs:10:19
|
||||||
|
|
|
||||||
|
LL | fn f(){||yield(((){),
|
||||||
|
| - ^^ mismatched closing delimiter
|
||||||
|
| | |
|
||||||
|
| | unclosed delimiter
|
||||||
|
| closing delimiter possibly meant for this
|
||||||
|
|
||||||
|
error[E0308]: mismatched types
|
||||||
|
--> $DIR/issue-91334.rs:10:8
|
||||||
|
|
|
||||||
|
LL | fn f(){||yield(((){),
|
||||||
|
| -^^^^^^^^^^^^^^^ expected `()`, found generator
|
||||||
|
| |
|
||||||
|
| help: try adding a return type: `-> [generator@$DIR/issue-91334.rs:10:8: 10:23]`
|
||||||
|
|
|
||||||
|
= note: expected unit type `()`
|
||||||
|
found generator `[generator@$DIR/issue-91334.rs:10:8: 10:23]`
|
||||||
|
|
||||||
|
error: aborting due to 5 previous errors
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0308`.
|
|
@ -172,11 +172,16 @@ async function main(argv) {
|
||||||
}
|
}
|
||||||
files.sort();
|
files.sort();
|
||||||
|
|
||||||
|
if (no_headless) {
|
||||||
|
opts["jobs"] = 1;
|
||||||
|
console.log("`--no-headless` option is active, disabling concurrency for running tests.");
|
||||||
|
}
|
||||||
|
|
||||||
console.log(`Running ${files.length} rustdoc-gui (${opts["jobs"]} concurrently) ...`);
|
console.log(`Running ${files.length} rustdoc-gui (${opts["jobs"]} concurrently) ...`);
|
||||||
|
|
||||||
if (opts["jobs"] < 1) {
|
if (opts["jobs"] < 1) {
|
||||||
process.setMaxListeners(files.length + 1);
|
process.setMaxListeners(files.length + 1);
|
||||||
} else {
|
} else if (!no_headless) {
|
||||||
process.setMaxListeners(opts["jobs"] + 1);
|
process.setMaxListeners(opts["jobs"] + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -217,9 +222,7 @@ async function main(argv) {
|
||||||
tests_queue.splice(tests_queue.indexOf(callback), 1);
|
tests_queue.splice(tests_queue.indexOf(callback), 1);
|
||||||
});
|
});
|
||||||
tests_queue.push(callback);
|
tests_queue.push(callback);
|
||||||
if (no_headless) {
|
if (opts["jobs"] > 0 && tests_queue.length >= opts["jobs"]) {
|
||||||
await tests_queue[i];
|
|
||||||
} else if (opts["jobs"] > 0 && tests_queue.length >= opts["jobs"]) {
|
|
||||||
await Promise.race(tests_queue);
|
await Promise.race(tests_queue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue