-
Notifications
You must be signed in to change notification settings - Fork 563
Rustc pull update #2658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Rustc pull update #2658
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: c5dabe8cf798123087d094f06417f5a767ca73e8 Filtered ref: 3214048a4d271548c85aae8ffc5f28ec73719235 Upstream diff: rust-lang/rust@fb24b04...c5dabe8 This merge was created using https://github.com/rust-lang/josh-sync.
minor: Rustc pull update
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 6159a44067ebce42b38f062cc7df267a1348e092 Filtered ref: 6ab1e12842abe4da734757701b2f17970e11f6b9 Upstream diff: rust-lang/rust@c5dabe8...6159a44 This merge was created using https://github.com/rust-lang/josh-sync.
minor: sync from downstream
fix: Allow inferring array sizes
fix: Fix some inference of patterns
fix: make postfix completion handle all references correctly
fix: extract function panics on more than one usage of variable in macro
Support multiple variant for generate_from_impl_for_enum
Improve assist qualified to top when on first segment
Optimise `SmolStr::clone` 4-5x speedup inline, 0.5x heap (slow down)
Add pretty number for add_explicit_enum_discriminant
Fix not applicable on `and` for replace_method_eager_lazy
`rust-analyzer` subtree update Subtree update of `rust-analyzer` to rust-lang/rust-analyzer@cf4b1fa. Created using https://github.com/rust-lang/josh-sync. r? `@ghost`
Add test for derive helper compat collisions Resolves rust-lang/reference#2055 (comment) r? `@petrochenkov`
v0 mangling for std on nightly Following rust-lang/rust#89917 and rust-lang/compiler-team#938, it doesn't make sense that `std` for these channels would have legacy mangling while the user's code would use `v0`. r? `@Kobzol`
…mann More encoder minimizations follow-up to rust-lang/rust#149054
Offload intrinsic
This PR implements the minimal mechanisms required to run a small subset of arbitrary offload kernels without relying on hardcoded names or metadata.
- `offload(kernel, (..args))`: an intrinsic that generates the necessary host-side LLVM-IR code.
- `rustc_offload_kernel`: a builtin attribute that marks device kernels to be handled appropriately.
Example usage (pseudocode):
```rust
fn kernel(x: *mut [f64; 128]) {
core::intrinsics::offload(kernel_1, (x,))
}
#[cfg(target_os = "linux")]
extern "C" {
pub fn kernel_1(array_b: *mut [f64; 128]);
}
#[cfg(not(target_os = "linux"))]
#[rustc_offload_kernel]
extern "gpu-kernel" fn kernel_1(x: *mut [f64; 128]) {
unsafe { (*x)[0] = 21.0 };
}
```
Fix some issues around `rustc_public` cc rust-lang/rust#148266 . follow-up of rust-lang/rust#148341 . This fixes the issues that can be reproduced by `x test compiler/rustc_public`: ``` error: function `run` is never used --> compiler/rustc_public/src/compiler_interface.rs:838:15 | 838 | pub(crate) fn run<'tcx, F, T>(interface: &CompilerInterface<'tcx>, f: F) -> Result<T, Error> | ^^^ | = note: `-D dead-code` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(dead_code)]` error: unreachable `pub` item --> compiler/rustc_public/src/unstable/mod.rs:25:1 | 25 | pub trait InternalCx<'tcx>: Copy + Clone { | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | help: consider restricting its visibility: `pub(crate)` | = help: or consider exporting it for use by other crates = note: `-D unreachable-pub` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(unreachable_pub)]` error: unreachable `pub` item --> compiler/rustc_public/src/unstable/mod.rs:62:1 | 62 | pub trait Stable<'tcx>: PointeeSized { | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | help: consider restricting its visibility: `pub(crate)` | = help: or consider exporting it for use by other crates error: unreachable `pub` item --> compiler/rustc_public/src/unstable/mod.rs:81:1 | 81 | pub trait RustcInternal { | ---^^^^^^^^^^^^^^^^^^^^ | | | help: consider restricting its visibility: `pub(crate)` | = help: or consider exporting it for use by other crates error: could not compile `rustc_public` (lib) due to 4 previous errors ```
Mangle symbols with a mangled name close to PDB limits with v0 instead of legacy mangling to avoid linker errors This is rust-lang/compiler-team#934 As PDB debuginfo has a 64KiB limit for symbol names, we use v0 mangling instead of legacy mangling for symbol names >= 65000 bytes if PDB is used. The cutoff number was chosen to leave some room for potential errors in the empirical measurement of the limit of 65521 bytes, as well as potential symbol prefixes and suffixes that are applied later, plus some generous extra space. Tracking issue: rust-lang/rust#148429
Build gnullvm toolchains on Windows natively Fixes rust-lang/rust#144656
rustc_target: aarch64: Remove deprecated FEAT_TME fixes rust-lang/rust#149308 ARM has withdrawn FEAT_TME https://developer.arm.com/documentation/102105/lb-05/ LLVM has dropped support for generating it llvm/llvm-project#167687 ```@rustbot``` label llvm-main r? ```@durin42```
…anups, r=GuillaumeGomez [rustdoc] misc search index cleanups Bunch of misc cleanups to search index generation (on the rustdoc side). Perf isn't improved unfortunately, but I do think most of these changes are improvements to readability/style. Probably easier to review commit by commit.
Use rust rather than LLVM target features in the target spec This works better with non-LLVM codegen backends.
Deny const auto traits close rust-lang/rust#149285 The AST validation now detects and rejects const auto traits. Additionally, I updated an existing test that was using `const unsafe auto trait`. r? fmease
Mark riscv64gc-unknown-linux-musl as tier 2 target According to https://github.com/rust-lang/rust/blob/cdb4236e654a49c3035269588fe22dfafc0cfa3a/src/doc/rustc/src/platform-support/riscv64gc-unknown-linux-musl.md?plain=1#L3 it's tier 2 target. In case you are wondering how I noticed it: Dockerfiles at Wild linker repo started to fail building recently due to missing `riscv64gc-unknown-linux-musl` std. I had hoped the problem would go away by itself, but it did not (it never does...). rust-lang/rust#148983 happened recently, so I checked https://rust-lang.github.io/rustup-components-history/riscv64gc-unknown-linux-musl.html and yeah, the date matches. Given this condition: https://github.com/rust-lang/rust/blob/cdb4236e654a49c3035269588fe22dfafc0cfa3a/src/tools/build-manifest/build.rs#L35 I'm certain PR will fix the problem.
…etrochenkov Handle inline asm in has_ffi_unwind_calls This is required for the soundness of `options(may_unwind)`. Extracted from rust-lang/rust#149141.
Remove unused `Clone` derive on `DelayedLint`
Add `Copy` to some AST enums. It's a minor annoyance they aren't `Copy` and there doesn't seem to be any reason for them not to be.
Rollup of 12 pull requests Successful merges: - rust-lang/rust#147936 (Offload intrinsic) - rust-lang/rust#148358 (Fix some issues around `rustc_public`) - rust-lang/rust#148452 (Mangle symbols with a mangled name close to PDB limits with v0 instead of legacy mangling to avoid linker errors) - rust-lang/rust#148751 (Build gnullvm toolchains on Windows natively) - rust-lang/rust#148951 (rustc_target: aarch64: Remove deprecated FEAT_TME) - rust-lang/rust#149149 ([rustdoc] misc search index cleanups) - rust-lang/rust#149173 (Use rust rather than LLVM target features in the target spec) - rust-lang/rust#149307 (Deny const auto traits) - rust-lang/rust#149312 (Mark riscv64gc-unknown-linux-musl as tier 2 target) - rust-lang/rust#149317 (Handle inline asm in has_ffi_unwind_calls) - rust-lang/rust#149326 (Remove unused `Clone` derive on `DelayedLint`) - rust-lang/rust#149341 (Add `Copy` to some AST enums.) r? `@ghost` `@rustbot` modify labels: rollup
Add `Box::clone_from_ref` and similar under `feature(clone_from_ref)` Tracking issue: rust-lang/rust#149075 Accepted ACP: rust-lang/libs-team#483 This PR implements `clone_from_ref` (and `try_*` and `_*in` variants), to get a `Box<T>`, `Arc<T>`, or `Rc<T>` by cloning from a `&T` where `T: CloneToUninit`. The "Implement..." commits replace some ad-hoc conversions with `clone_from_ref` variants, which can be split out to a separate PR if desired. This PR will conflict with rust-lang/rust#148769 due to usage of `Layout::dangling` (which that PR is renaming to `dangling_ptr`), so they should not be rolled up together, and the one which merges later will need to be amended.
This updates the rust-version file to 1be6b13be73dc12e98e51b403add4c41a0b77759.
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: 1be6b13be73dc12e98e51b403add4c41a0b77759 Filtered ref: c2f66d5 Upstream diff: rust-lang/rust@d3e1ccd...1be6b13 This merge was created using https://github.com/rust-lang/josh-sync.
Collaborator
|
Thanks for the PR. If you have write access, feel free to merge this PR if it does not need reviews. You can request a review using |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Latest update from rustc.