| Age | Commit message (Collapse) | Author | Lines |
|
Rollup of 4 pull requests
Successful merges:
- #116985 (Use gdb.ValuePrinter tag class)
- #116989 (Skip test if Unix sockets are unsupported)
- #117034 (Don't crash on empty match in the `nonexhaustive_omitted_patterns` lint)
- #117037 (rustdoc book doc example error)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
r=notriddle
rustdoc book doc example error
closes #117036
This is the minimal change required to make the second what-to-include.md example valid.
Another more modern solution could be considered:
```
/// Example
/// ```rust
/// let fortytwo = "42".parse::<u32>()?;
/// println!("{} + 10 = {}", fortytwo, fortytwo+10);
/// # Ok::<(), <u32 as std::str::FromStr>::Err>(())
/// ```
```
|
|
Don't crash on empty match in the `nonexhaustive_omitted_patterns` lint
Oops
Fixes https://github.com/rust-lang/rust/issues/117033
|
|
Skip test if Unix sockets are unsupported
Fixes https://github.com/rust-lang/rust/pull/116683#issuecomment-1772314187
The test will be skipped if `AF_UNIX` is not supported. In that case [`WSASocketW` returns `WSAEAFNOSUPPORT`](https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketw#return-value).
It will never skip the test when run in CI but maybe this is me being too defensive since the error code is narrowly scoped to just the af family parameter being unsupported?
Also fixed a minor typo.
r? `@Mark-Simulacrum`
|
|
Use gdb.ValuePrinter tag class
GDB 14 has a "gdb.ValuePrinter" tag class that was introduced to let GDB evolve the pretty-printer API. Users of this tag are required to hide any local attributes or methods. This patch makes this change to the Rust pretty-printers. At present this is just a cleanup, providing the basis for any future changes.
|
|
ci: add a runner for vanilla LLVM 17
For CI cost, this can be seen as replacing the llvm-14 runner we dropped in #114148.
Also, I've set `IS_NOT_LATEST_LLVM` in the llvm-16 runner, since that's not the latest anymore.
|
|
Update hashbrown to 0.14.2
Fixes #116880
|
|
Fix x86_64-gnu-llvm-15 CI tests
The CI script was broken - if there was a test failure in the first command chain (inside the `if`), CI would not report the failure.
It happened because there were two command chains separated by `&&` in the script, and since `set -e` doesn't exit for chained commands, if the first chain has failed, the script would happily continue forward, ignoring any test failures.
This could be fixed e.g. by adding some `|| exit 1` to the first chain, but I suppose that the `&&` chaining is unnecessary here anyway.
Reported [on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/test.20failure.20didn't.20stop.20CI).
Fixes: https://github.com/rust-lang/rust/issues/116867
|
|
Fixes the second example in the Examples section of what-to-include.md by marking main as a function.
|
|
Sync rustc_codegen_cranelift
The main highlights this time is new support for riscv64 linux enabled by a cranelift update. I have also updated some of the crates built as part of cg_clif's test suite which enabled removing several patches for them. And finally I have fixed a couple of tests in rustc's test suite with cg_clif.
r? `@ghost`
`@rustbot` label +A-codegen +A-cranelift +T-compiler +subtree-sync
|
|
|
|
Rollup of 7 pull requests
Successful merges:
- #116312 (Initiate the inner usage of `cfg_match` (Compiler))
- #116928 (fix bootstrap paths in triagebot.toml)
- #116955 (Updated README with expandable table of content.)
- #116981 (update the registers of csky target)
- #116992 (Mention the syntax for `use` on `mod foo;` if `foo` doesn't exist)
- #117026 (Fix broken link to Ayu theme in the rustdoc book)
- #117028 (Remove unnecessary `all` in Box)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
sync_cg_clif-2023-10-21
|
|
Remove unnecessary `all` in Box
|
|
Fix broken link to Ayu theme in the rustdoc book
Fixes #116977
|
|
Mention the syntax for `use` on `mod foo;` if `foo` doesn't exist
Newcomers might get confused that `mod` is the only way of defining scopes, and that it can be used as if it were `use`.
Fix #69492.
|
|
update the registers of csky target
|
|
Updated README with expandable table of content.
Make it easier to navigate in the rather large README file.
|
|
fix bootstrap paths in triagebot.toml
ref #https://github.com/rust-lang/rust/pull/116881#issuecomment-1769730250
|
|
Initiate the inner usage of `cfg_match` (Compiler)
cc #115585
Dogfood to test the implementation and remove dependencies.
|
|
This allows removing the CFG_VIRTUAL_RUST_SOURCE_BASE_DIR hack and
re-enabling a fair amount of tests.
|
|
Use GitHub Actions M1 builder for aarch64-apple-darwin
r? `@ghost`
|
|
Add riscv64 linux support
|
|
|
|
|
|
|
|
coverage: Emit mappings for unused functions without generating stubs
For a while I've been annoyed by the fact that generating coverage maps for unused functions involves generating a stub function at the LLVM level.
As I suspected, generating that stub function isn't actually necessary, as long as we specifically tell LLVM about the symbol names of all the functions that have coverage mappings but weren't codegenned (due to being unused).
---
There is some helper code that gets moved around in the follow-up patches, so look at the first patch to see the most important functional changes.
---
`@rustbot` label +A-code-coverage
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Newcomers might get confused that `mod` is the only way of defining
scopes, and that it can be used as if it were `use`.
Fix #69492.
|
|
|
|
Clippy subtree update
r? `@Manishearth`
|
|
Rollup of 3 pull requests
Successful merges:
- #106601 (Suggest `;` after bare `match` expression E0308)
- #116975 (Move `invalid-llvm-passes` test to `invalid-compile-flags` folder)
- #117019 (fix spans for removing `.await` on `for` expressions)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
|
|
|
|
fix spans for removing `.await` on `for` expressions
We need to use a span with the outer syntax context of a desugared `for` expression to join it with the `.await` span.
fixes https://github.com/rust-lang/rust/issues/117014
|
|
Move `invalid-llvm-passes` test to `invalid-compile-flags` folder
Nowadays there is an `invalid-compile-flags` folder, thus move this one there.
|
|
Suggest `;` after bare `match` expression E0308
Fix #72634.
|
|
Rustup
r? `@ghost`
changelog: none
|
|
|
|
|
|
|
|
|
|
|
|
Lint `non_exhaustive_omitted_patterns` by columns
This is a rework of the `non_exhaustive_omitted_patterns` lint to make it more consistent. The intent of the lint is to help consumers of `non_exhaustive` enums ensure they stay up-to-date with all upstream variants. This rewrite fixes two cases we didn't handle well before:
First, because of details of exhaustiveness checking, the following wouldn't lint `Enum::C` as missing:
```rust
match Some(x) {
Some(Enum::A) => {}
Some(Enum::B) => {}
_ => {}
}
```
Second, because of the fundamental workings of exhaustiveness checking, the following would treat the `true` and `false` cases separately and thus lint about missing variants:
```rust
match (true, x) {
(true, Enum::A) => {}
(true, Enum::B) => {}
(false, Enum::C) => {}
_ => {}
}
```
Moreover, it would correctly not lint in the case where the pair is flipped, because of asymmetry in how exhaustiveness checking proceeds.
A drawback is that it no longer makes sense to set the lint level per-arm. This will silently break the lint for current users of it (but it's behind a feature gate so that's ok).
The new approach is now independent of the exhaustiveness algorithm; it's a separate pass that looks at patterns column by column. This is another of the motivations for this: I'm glad to move it out of the algorithm, it was akward there.
This PR is almost identical to https://github.com/rust-lang/rust/pull/111651. cc `@eholk` who reviewed it at the time. Compared to then, I'm more confident this is the right approach.
|
|
Warn missing_enforced_import_renames by default
Similar to https://github.com/rust-lang/rust-clippy/pull/8261 that did the same thing to disallowed_methods & disallowed_types.
This lint is also only triggered if import renames are defined in the `clippy.toml` file.
changelog: Moved [`missing_enforced_import_renames`] to `style` (Now warn-by-default)
[#11539](https://github.com/rust-lang/rust-clippy/pull/11539)
|