bors
5700240aff
Auto merge of #132943 - matthiaskrgr:rollup-164l3ej, r=matthiaskrgr
...
Rollup of 8 pull requests
Successful merges:
- #132651 (Remove attributes from generics in built-in derive macros)
- #132668 (Feature gate yield expressions not in 2024)
- #132771 (test(configure): cover `parse_args` in `src/bootstrap/configure.py`)
- #132895 (Generalize `NonNull::from_raw_parts` per ACP362)
- #132914 (Update grammar in std::cell docs.)
- #132927 (Consolidate type system const evaluation under `traits::evaluate_const`)
- #132935 (Make sure to ignore elided lifetimes when pointing at args for fulfillment errors)
- #132941 (Subtree update of `rust-analyzer`)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-11-12 08:15:38 +00:00
Matthias Krüger
38c2db4020
Rollup merge of #132941 - lnicola:sync-from-ra2, r=lnicola
...
Subtree update of `rust-analyzer`
r? `@ghost`
2024-11-12 08:07:20 +01:00
Matthias Krüger
52bb9fafd0
Rollup merge of #132793 - ehuss:update-mdbook, r=Mark-Simulacrum
...
Update mdbook to 0.4.42
This updates mdbook to 0.4.42
Changelog: https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0441
There were some significant changes that I would like to get early testing on.
This also updates rust-by-example which was required due to an update to the theme file.
2024-11-12 06:27:18 +01:00
Boxy
bea0148ac6
Consolidate type system const evaluation under traits::evaluate_const
...
mew
2024-11-12 02:54:03 +00:00
Kirill Bulatov
e646263abc
Update the file hash
2024-11-11 16:06:55 +01:00
Kirill Bulatov
572ae698be
Use completion item indices instead of property matching when searching for the completion item to resolve
2024-11-11 15:50:04 +01:00
bors
d4822c2d84
Auto merge of #127589 - notriddle:notriddle/search-sem-3, r=GuillaumeGomez
...
rustdoc-search: simplify rules for generics and type params
**Heads up!**: This PR is a follow-up that depends on #124544 . It adds 12dc24f460 , a change to the filtering behavior, and 9900ea48b5 , a minor ranking tweak.
Part of https://github.com/rust-lang/rust-project-goals/issues/112
This PR overturns https://github.com/rust-lang/rust/pull/109802
## Preview
* no results: [`Box<[A]> -> Vec<B>`](http://notriddle.com/rustdoc-html-demo-12/search-sem-3/std/index.html?search=Box%3C%5BA%5D%3E%20-%3E%20Vec%3CB%3E )
* results: [`Box<[A]> -> Vec<A>`](http://notriddle.com/rustdoc-html-demo-12/search-sem-3/std/index.html?search=Box%3C%5BA%5D%3E%20-%3E%20Vec%3CA%3E )
* [`T -> U`](http://notriddle.com/rustdoc-html-demo-12/search-sem-3/std/index.html?search=T%20-%3E%20U )
* [`Cx -> TyCtxt`](http://notriddle.com/rustdoc-html-demo-12/search-sem-3-compiler/rustdoc/index.html?search=Cx%20-%3E%20TyCtxt )

## Description
This commit is a response to feedback on the displayed type signatures results, by making generics act stricter.
- Order within generics is significant. This means `Vec<Allocator>` now matches only with a true vector of allocators, instead of matching the second type param. It also makes unboxing within generics stricter, so `Result<A, B>` only matches if `B` is in the error type and `A` is in the success type. The top level of the function search is unaffected.
- Generics are only "unboxed" if a type is explicitly opted into it. References and tuples are hardcoded to allow unboxing, and Box, Rc, Arc, Option, Result, and Future are opted in with an unstable attribute. Search result unboxing is the process that allows you to search for `i32 -> str` and get back a function with the type signature `&Future<i32> -> Box<str>`.
- Instead of ranking by set overlap, it ranks by the number of items in the type signature. This makes it easier to find single type signatures like transmute.
## Find the discussion on
* <https://rust-lang.zulipchat.com/#narrow/stream/393423-t-rustdoc.2Fmeetings/topic/meeting.202024-07-08/near/449965149 >
* <https://github.com/rust-lang/rust/pull/124544#issuecomment-2204272265 >
* <https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/deciding.20on.20semantics.20of.20generics.20in.20rustdoc.20search >
2024-11-11 12:26:00 +00:00
Laurențiu Nicola
c2ffafdc9a
Merge pull request #18482 from regexident/hir_trait_supertraits_accessors
...
internal: Add public `direct_supertraits(…)` & `all_supertraits(…)` accessor methods to `hir::Trait`
2024-11-11 06:58:17 +00:00
bors
42b2496320
Auto merge of #126597 - estebank:unicode-output, r=fmease
...
Add Unicode block-drawing compiler output support
Add nightly-only theming support to rustc output using Unicode box
drawing characters instead of ASCII-art to draw the terminal UI.
In order to enable, the flags `-Zunstable-options=yes --error-format=human-unicode` must be passed in.
After:
```
error: foo
╭▸ test.rs:3:3
│
3 │ X0 Y0 Z0
│ ┌───╿──│──┘
│ ┌│───│──┘
│ ┏││━━━┙
│ ┃││
4 │ ┃││ X1 Y1 Z1
5 │ ┃││ X2 Y2 Z2
│ ┃│└────╿──│──┘ `Z` label
│ ┃└─────│──┤
│ ┗━━━━━━┥ `Y` is a good letter too
│ `X` is a good letter
╰╴
note: bar
╭▸ test.rs:4:3
│
4 │ ┏ X1 Y1 Z1
5 │ ┃ X2 Y2 Z2
6 │ ┃ X3 Y3 Z3
│ ┗━━━━━━━━━━┛
├ note: bar
╰ note: baz
note: qux
╭▸ test.rs:4:3
│
4 │ X1 Y1 Z1
╰╴ ━━━━━━━━
```
Before:
```
error: foo
--> test.rs:3:3
|
3 | X0 Y0 Z0
| ___^__-__-
| |___|__|
| ||___|
| |||
4 | ||| X1 Y1 Z1
5 | ||| X2 Y2 Z2
| |||____^__-__- `Z` label
| ||_____|__|
| |______| `Y` is a good letter too
| `X` is a good letter
|
note: bar
--> test.rs:4:3
|
4 | / X1 Y1 Z1
5 | | X2 Y2 Z2
6 | | X3 Y3 Z3
| |__________^
= note: bar
= note: baz
note: qux
--> test.rs:4:3
|
4 | X1 Y1 Z1
| ^^^^^^^^
```
After:

Before:

2024-11-11 00:00:58 +00:00
Esteban Küber
1d78004575
Add Unicode block-drawing compiler output support
...
Add nightly-only theming support to rustc output using Unicode box
drawing characters instead of ASCII-art to draw the terminal UI:
After:
```
error: foo
╭▸ test.rs:3:3
│
3 │ X0 Y0 Z0
│ ┌───╿──│──┘
│ ┌│───│──┘
│ ┏││━━━┙
│ ┃││
4 │ ┃││ X1 Y1 Z1
5 │ ┃││ X2 Y2 Z2
│ ┃│└────╿──│──┘ `Z` label
│ ┃└─────│──┤
│ ┗━━━━━━┥ `Y` is a good letter too
│ `X` is a good letter
╰╴
note: bar
╭▸ test.rs:4:3
│
4 │ ┏ X1 Y1 Z1
5 │ ┃ X2 Y2 Z2
6 │ ┃ X3 Y3 Z3
│ ┗━━━━━━━━━━┛
├ note: bar
╰ note: baz
note: qux
╭▸ test.rs:4:3
│
4 │ X1 Y1 Z1
╰╴ ━━━━━━━━
```
Before:
```
error: foo
--> test.rs:3:3
|
3 | X0 Y0 Z0
| ___^__-__-
| |___|__|
| ||___|
| |||
4 | ||| X1 Y1 Z1
5 | ||| X2 Y2 Z2
| |||____^__-__- `Z` label
| ||_____|__|
| |______| `Y` is a good letter too
| `X` is a good letter
|
note: bar
--> test.rs:4:3
|
4 | / X1 Y1 Z1
5 | | X2 Y2 Z2
6 | | X3 Y3 Z3
| |__________^
= note: bar
= note: baz
note: qux
--> test.rs:4:3
|
4 | X1 Y1 Z1
| ^^^^^^^^
```
2024-11-10 23:57:18 +01:00
Laurențiu Nicola
a11877735c
Merge pull request #18492 from samestep/docs-dev-no-design-label
...
Replace Design label with C-Architecture
2024-11-10 18:46:57 +00:00
Sam Estep
29f84262a4
Replace with C-Architecture
2024-11-10 13:34:26 -05:00
Ralf Jung
e8a3ffee49
fix linux-futex test being accidentally disabled
2024-11-10 12:36:40 +01:00
Ralf Jung
d1a4812164
store futexes in per-allocation data rather than globally
2024-11-10 11:01:57 +01:00
Ralf Jung
a01f37c7f4
Merge from rustc
2024-11-10 10:03:57 +01:00
Ralf Jung
ce7a56072b
Preparing for merge from rustc
2024-11-10 10:01:05 +01:00
Jubilee
61f51931b2
Rollup merge of #132801 - RalfJung:alloc-mutability, r=oli-obk
...
interpret: get_alloc_info: also return mutability
This will be needed for https://github.com/rust-lang/miri/pull/3971
This then tuned into a larger refactor where we introduce a new type for the `get_alloc_info` return data, and we move some code to methods on `GlobalAlloc` to avoid duplicating it between the validity check and `get_alloc_info`.
2024-11-09 20:28:43 -08:00
bors
303fc0527a
Auto merge of #132829 - weihanglo:update-cargo, r=weihanglo
...
Update cargo
16 commits in 0310497822a7a673a330a5dd068b7aaa579a265e..4a2d8dc636445b276288543882e076f254b3ae95
2024-11-01 19:27:56 +0000 to 2024-11-09 19:10:33 +0000
- test: adjust `cargo_test_env` to unblock rust submodule update (rust-lang/cargo#14803 )
- feat(warnings): add build.warnings option (rust-lang/cargo#14388 )
- Revert "feat: Add `CARGO_RUSTC_CURRENT_DIR`" (rust-lang/cargo#14799 )
- CI: make the `lint-docs` job required (rust-lang/cargo#14797 )
- Switch CI from bors to merge queue (rust-lang/cargo#14718 )
- docs(test): Document Execs assertions based on port effort (rust-lang/cargo#14793 )
- fix(test): Make redactions consistent with snapbox (rust-lang/cargo#14790 )
- test(gc): Update remaining unordered tests to snapbox (rust-lang/cargo#14785 )
- Normalize the `target` paths (rust-lang/cargo#14497 )
- rustfix: replace special-case duplicate handling with error (rust-lang/cargo#14782 )
- test: Update some emaining unordered tests to snapbox (rust-lang/cargo#14781 )
- Change config paths to only check CARGO_HOME for cargo-script (rust-lang/cargo#14749 )
- Enable transfer feature in triagebot (rust-lang/cargo#14777 )
- Add transactional semantics to `rustfix` (rust-lang/cargo#14747 )
- doc: fix `GlobalContext` reference (rust-lang/cargo#14773 )
- chore: update handlebars to v6, fix build error (rust-lang/cargo#14772 )
2024-11-10 00:23:56 +00:00
Weihang Lo
be30861174
Update cargo
2024-11-09 18:12:21 -05:00
Matthias Krüger
88acd493f9
Rollup merge of #132754 - Zalathar:opts, r=GuillaumeGomez,jieyouxu
...
Simplify the internal API for declaring command-line options
The internal APIs for declaring command-line options are old, and intimidatingly complex. This PR replaces them with a single function that takes explicit `stability` and `kind` arguments, making it easier to see how each option is handled, and whether it is treated as stable or unstable.
We also don't appear to have any tests for the output of `rustc --help` and similar, so I've added a run-make test to verify that this PR doesn't change any output. (There is already a similar run-make test for rustdoc's help output.)
---
The librustdoc changes are simply adjusting to updated compiler APIs; no functional change intended.
---
A side-effect of these changes is that rustfmt can once again format the entirety of these option declaration lists, which it was not doing before.
2024-11-09 19:16:44 +01:00
Ralf Jung
4a54ec8c18
make return type of get_alloc_info a struct, and reduce some code duplication with validity checking
2024-11-09 15:18:52 +01:00
Ralf Jung
5ff90d069a
Merge pull request #4020 from RalfJung/thread-sope
...
pthread-sync test: use thread::scope for more reliable thread scoping
2024-11-09 10:16:25 +00:00
Ralf Jung
30a2ae6f05
interpret: get_alloc_info: also return mutability
2024-11-09 11:13:44 +01:00
Ralf Jung
fe398880e0
pthread-sync: avoid confusing error when running with preemption
2024-11-09 10:52:01 +01:00
The Miri Cronjob Bot
15d883e5b7
Merge from rustc
2024-11-09 05:12:46 +00:00
The Miri Cronjob Bot
beb8d6fac1
Preparing for merge from rustc
2024-11-09 05:04:45 +00:00
Eric Huss
544b9f9a94
Update mdbook to 0.4.42
2024-11-08 15:38:32 -08:00
bors
59cec72a57
Auto merge of #132746 - flip1995:clippy-subtree-update, r=Manishearth
...
Clippy subtree update
r? `@Manishearth`
2024-11-08 16:49:13 +00:00
Ralf Jung
d7aceeea71
Merge pull request #4004 from YohDeadfall/thread-name-ice-fix
...
Get/set thread name shims return errors for invalid handles
2024-11-08 15:19:51 +00:00
Yoh Deadfall
1254d8e75e
Get/set thread name shims return errors for invalid handles
2024-11-08 17:54:10 +03:00
Philipp Krones
0aafd6552b
Clippy: cfg out validate_diag on release builds
2024-11-08 10:49:54 +01:00
Ralf Jung
e3010e84db
remove support for rustc_safe_intrinsic attribute; use rustc_intrinsic functions instead
2024-11-08 09:16:00 +01:00
Master-Hash
ef8a0c0016
editors/code: Match supported debug engines in config with actual supported ones
2024-11-08 08:33:32 +01:00
Laurențiu Nicola
f9d7f6dd34
Merge pull request #18486 from Wilfred/update_minimum_vscode
...
editors/code: Change minimum VS Code from 1.78 to 1.83
2024-11-08 06:51:14 +00:00
Jubilee
93e9ec05a9
Rollup merge of #131913 - jieyouxu:only_debug_assertions, r=onur-ozkan
...
Add `{ignore,needs}-{rustc,std}-debug-assertions` directive support
Add `{ignore,needs}-{rustc,std}-debug-assertions` compiletest directives and retire the old `{ignore,only}-debug` directives. The old `{ignore,only}-debug` directives were ambiguous because you could have std built with debug assertions but rustc not built with debug assertions or vice versa. If we want to support the use case of controlling test run based on if rustc was built with debug assertions, then having `{ignore,only}-debug` will be very confusing.
cc ````@matthiaskrgr````
Closes #123987 .
r? bootstrap (or compiler tbh)
2024-11-07 18:48:21 -08:00
Zalathar
8f7f9b93b2
Add a run-make test for rustc --help and similar
2024-11-08 12:46:39 +11:00
Philipp Krones
40aec58abb
Merge commit 'f712eb5cdccd121d0569af12f20e6a0fabe4364d' into clippy-subtree-update
2024-11-07 22:37:01 +01:00
Sam Estep
01726389fb
Delete design label from list
2024-11-07 11:49:22 -05:00
Laurențiu Nicola
668f3881d2
Merge pull request #18490 from ShoyuVanilla/dyn-compat-rename
...
minor: Rename `dyn compatible` to `dyn-compatible`
2024-11-07 14:21:40 +00:00
Shoyu Vanilla
902a2c5060
minor: Rename dyn compatible to dyn-compatible
2024-11-07 23:00:29 +09:00
Yoh Deadfall
dc62c34886
Renamed ecx variales to this
2024-11-07 15:36:52 +03:00
Jonas Böttiger
6b5a58c265
Rollup merge of #132057 - RalfJung:miri-abi-compat, r=wesleywiser
...
miri: update ABI compat checks to accept Option-like types
This implements the t-lang decision described [here](https://github.com/rust-lang/rust/pull/130628#issuecomment-2402761599 ).
Fixes https://github.com/rust-lang/miri/issues/3983
2024-11-07 13:08:27 +01:00
Wilfred Hughes
cd6ddcaf42
editors/code: Change minimum VS Code from 1.78 to 1.83
...
It's been a year since we last bumped this (see #15904 ), and VS Code
1.83 is the first version that supports LSP 3.17.5 (via
vscode-languageclient 9.0.1).
https://code.visualstudio.com/updates/v1_83#_language-server-protocol
2024-11-06 15:00:59 -08:00
Vincent Esche
d5dec8ab03
Add direct_supertraits(…) HIR-level method to hir::Trait type
2024-11-06 10:02:13 +01:00
Vincent Esche
de30d7dc37
Add pub fn direct_super_traits(db, trait_id) to hir_ty crate
2024-11-06 10:02:13 +01:00
Vincent Esche
fa393dd9d8
Refactor hir::Trait's existing items_with_supertraits(…) method based on new all_supertraits(…) method
2024-11-06 10:02:13 +01:00
Vincent Esche
80df05b8b8
Add pub fn all_supertraits(…) HIR-level method to hir::Trait type
2024-11-06 10:02:13 +01:00
bors
cf2b370ad0
Auto merge of #132500 - RalfJung:char-is-whitespace-const, r=jhpratt
...
make char::is_whitespace unstably const
I am adding this to the existing https://github.com/rust-lang/rust/issues/132241 feature gate, since `is_digit` and `is_whitespace` seem similar enough that one can group them together.
2024-11-06 04:07:32 +00:00
bors
a69df72bdc
Auto merge of #132664 - matthiaskrgr:rollup-i27nr7i, r=matthiaskrgr
...
Rollup of 5 pull requests
Successful merges:
- #131261 (Stabilize `UnsafeCell::from_mut`)
- #131405 (bootstrap/codegen_ssa: ship llvm-strip and use it for -Cstrip)
- #132077 (Add a new `wide-arithmetic` feature for WebAssembly)
- #132562 (Remove the `wasm32-wasi` target from rustc)
- #132660 (Remove unused errs.rs file)
Failed merges:
- #131721 (Add new unstable feature `const_eq_ignore_ascii_case`)
r? `@ghost`
`@rustbot` modify labels: rollup
2024-11-06 01:21:42 +00:00
Matthias Krüger
73035552c9
Rollup merge of #132562 - alexcrichton:remove-wasm32-wasi, r=jieyouxu
...
Remove the `wasm32-wasi` target from rustc
This commit is the final step in the journey of renaming the historical `wasm32-wasi` target in the Rust compiler to `wasm32-wasip1`. Various steps in this journey so far have been:
* 2023-04-03: rust-lang/compiler-team#607 - initial proposal for this rename
* 2024-11-27: rust-lang/compiler-team#695 - amended schedule/procedure for rename
* 2024-01-29: rust-lang/rust#120468 - initial introduction of `wasm32-wasip1`
* 2024-06-18: rust-lang/rust#126662 - warn on usage of `wasm32-wasi`
* 2024-11-08: this PR - remove the `wasm32-wasi` target
The full transition schedule is in [this comment][comment] and is summarized with:
* 2024-05-02: Rust 1.78 released with `wasm32-wasip1` target
* 2024-09-05: Rust 1.81 released warning on usage of `wasm32-wasi`
* 2025-01-09: Rust 1.84 to be released without the `wasm32-wasi` target
This means that support on stable for the replacement target of `wasm32-wasip1` has currently been available for 6 months. Users have already seen warnings on stable for 2 months about usage of `wasm32-wasi` and stable users have another 2 months of warnings before the target is removed from stable.
This commit is intended to be the final step in this transition so the source tree should no longer mention `wasm32-wasi` except in historical reference to the older name of the `wasm32-wasip1` target.
[comment]: https://github.com/rust-lang/rust/pull/120468#issuecomment-1977878747
2024-11-05 23:43:58 +01:00