Commit Graph

267725 Commits

Author SHA1 Message Date
bors
58420a065b Auto merge of #130907 - GuillaumeGomez:rollup-423r4i4, r=GuillaumeGomez
Rollup of 11 pull requests

Successful merges:

 - #130279 (Document subtleties of `ManuallyDrop`)
 - #130517 (Add the library workspace to the suggested rust-analyzer config)
 - #130820 (Fix diagnostics for coroutines with () as input.)
 - #130833 (Fix the misleading diagnostic for `let_underscore_drop` on type without `Drop` implementation)
 - #130845 (Utf8Chunks: add link to Utf8Chunk)
 - #130850 (Pass Module Analysis Manager to Standard Instrumentations)
 - #130861 (Use `mem::offset_of!` for `sockaddr_un.sun_path`)
 - #130862 (rustdoc: do not animate :target when user prefers reduced motion)
 - #130868 (Update FIXME comment in s390x_unknown_linux_*.rs)
 - #130879 (Pass correct HirId to late_bound_vars in diagnostic code)
 - #130880 (add missing FIXME(const-hack))

r? `@ghost`
`@rustbot` modify labels: rollup
2024-09-26 22:49:52 +00:00
Guillaume Gomez
3d4d45f87b Rollup merge of #130880 - RalfJung:const-hack, r=scottmcm
add missing FIXME(const-hack)

r? ```@scottmcm```
2024-09-27 00:43:35 +02:00
Guillaume Gomez
ed902a8a58 Rollup merge of #130879 - fmease:fix-diag-ice, r=compiler-errors
Pass correct HirId to late_bound_vars in diagnostic code

Fixes #130858.
Fixes #125655.
Fixes #130391.
Fixes #130663.

r? compiler-errors
2024-09-27 00:43:35 +02:00
Guillaume Gomez
18dfee00c8 Rollup merge of #130868 - taiki-e:s390x-fixme, r=jieyouxu
Update FIXME comment in s390x_unknown_linux_*.rs

- Remove comment about "LLVM < 16" since the minimum external LLVM version is 16+ since https://github.com/rust-lang/rust/pull/117947
- Reflect rename of cabi_s390x.rs in 030244cd4a (renamed to [abi/call/s390x.rs](030244cd4a (diff-20136d4a18fa0ef9bd4fc2e6f92e88daad6be88bfb156e5702af39ee87ca4879)), and it is currently [still in the same location](9e394f551c/compiler/rustc_target/src/abi/call/s390x.rs)).

r? ``````@cuviper``````

``````@rustbot`````` label +O-SystemZ
2024-09-27 00:43:34 +02:00
Guillaume Gomez
432b1ff8f1 Rollup merge of #130862 - zopsicle:patch-1, r=notriddle,GuillaumeGomez
rustdoc: do not animate :target when user prefers reduced motion

This accessibility improvement gates #129284 behind an inverted [prefers-reduced-motion](https://developer.mozilla.org/en-US/docs/Web/CSS/`@media/prefers-reduced-motion)` media query.
2024-09-27 00:43:34 +02:00
Guillaume Gomez
329f9fcb05 Rollup merge of #130861 - cuviper:sun-path-offset, r=ibraheemdev
Use `mem::offset_of!` for `sockaddr_un.sun_path`

We don't need manual pointer math here anymore!

try-job: dist-i686-msvc
2024-09-27 00:43:33 +02:00
Guillaume Gomez
c9478ef311 Rollup merge of #130850 - saveasguy:pass-mam-to-standrd-instrumentations, r=nikic
Pass Module Analysis Manager to Standard Instrumentations

This PR introduces changes related to llvm::PassInstrumentationCallbacks. Now, we pass Module Analysis Manager to StandardInstrumentations::registerCallbacks, so it can take advantage of such instrumentations as IR verifier or preserved CFG checker. So basically this is NFC PR.
2024-09-27 00:43:33 +02:00
Guillaume Gomez
e65054633c Rollup merge of #130845 - RalfJung:utf8chunk, r=tgross35
Utf8Chunks: add link to Utf8Chunk

It is currently surprisingly non-trivial to go from the `utf8_chunks` method to the docs of the `valid`/`invalid` methods used in the example. This should help.
2024-09-27 00:43:32 +02:00
Guillaume Gomez
d3cb1ce0a0 Rollup merge of #130833 - makai410:master, r=compiler-errors,fee1-dead
Fix the misleading diagnostic for `let_underscore_drop` on type without `Drop` implementation

Closes: #130430
r? rust-lang/diagnostics
2024-09-27 00:43:32 +02:00
Guillaume Gomez
0acddf5060 Rollup merge of #130820 - 91khr:fix-coroutine-unit-arg, r=compiler-errors
Fix diagnostics for coroutines with () as input.

This may be a more real-life example to trigger the diagnostic:

```rust
#![features(try_blocks, coroutine_trait, coroutines)]

use std::ops::Coroutine;

struct Request;
struct Response;
fn get_args() -> Result<String, String> { todo!() }
fn build_request(_arg: String) -> Request { todo!() }
fn work() -> impl Coroutine<Option<Response>, Yield = Request> {
    #[coroutine]
    |_| {
        let r: Result<(), String> = try {
            let req = get_args()?;
            yield build_request(req)
        };
        if let Err(msg) = r {
            eprintln!("Error: {msg}");
        }
    }
}
```
2024-09-27 00:43:31 +02:00
Guillaume Gomez
a4a591a78c Rollup merge of #130517 - bjorn3:update_ra_config, r=onur-ozkan
Add the library workspace to the suggested rust-analyzer config
2024-09-27 00:43:31 +02:00
Guillaume Gomez
8a827c77e3 Rollup merge of #130279 - theemathas:manually-drop-docs, r=thomcc,traviscross
Document subtleties of `ManuallyDrop`

After seeing #130140 and #130141, I figured that `ManuallyDrop` needs documentation explaining its subtleties, hence this PR.

See also https://github.com/rust-lang/unsafe-code-guidelines/issues/245
2024-09-27 00:43:30 +02:00
zopsicle
5b5848188d rustdoc: consolidate prefers-reduced-motion-gated rulesets 2024-09-26 23:59:13 +02:00
bors
2bd1e894ef Auto merge of #129624 - tgross35:cargo-update, r=Mark-Simulacrum
Run `cargo update` in the project root

try-job: x86_64-msvc
2024-09-26 20:21:46 +00:00
Jubilee Young
f21f4cd60e library: Compute RUST_EXCEPTION_CLASS from native-endian bytes
This makes it appear correctly in hexdumps on both LE and BE platforms.
2024-09-26 11:34:17 -07:00
Trevor Gross
1760d3914f Adjust allowed dependencies from the latest cargo update 2024-09-26 13:44:09 -04:00
Trevor Gross
4a515bdf7b Run cargo update in the project root 2024-09-26 13:40:17 -04:00
León Orell Valerian Liehr
e29ff8c058 Pass correct HirId to late_bound_vars in diagnostic code 2024-09-26 19:26:08 +02:00
Trevor Gross
fa64fb1de6 Partially update library/Cargo.lock
Run `cargo update` in library but exclude updates to `cc` and to
`compiler_builtins`. Exclusions were done because `cc` seems to have
some issues updating [1], and `compiler_builtins` needs to be updated on
its own.

[1]: https://github.com/rust-lang/rust/pull/130720
2024-09-26 13:21:48 -04:00
github-actions
fb095cc3ff cargo update: rustbook
rustbook dependencies:
     Locking 70 packages to latest compatible versions
    Removing adler v1.0.2
      Adding adler2 v2.0.0
    Updating anstream v0.6.14 -> v0.6.15
    Updating anstyle v1.0.7 -> v1.0.8
    Updating anstyle-parse v0.2.4 -> v0.2.5
    Updating anstyle-query v1.1.0 -> v1.1.1
    Updating anstyle-wincon v3.0.3 -> v3.0.4
    Updating anyhow v1.0.86 -> v1.0.89
    Removing base64 v0.22.1
    Updating bstr v1.9.1 -> v1.10.0
      Adding byteorder v1.5.0
    Updating cc v1.1.5 -> v1.1.21
    Updating clap v4.5.9 -> v4.5.18
    Updating clap_builder v4.5.9 -> v4.5.18
    Updating clap_complete v4.5.8 -> v4.5.29
    Updating clap_derive v4.5.8 -> v4.5.18
    Updating clap_lex v0.7.1 -> v0.7.2
    Updating colorchoice v1.0.1 -> v1.0.2
    Updating core-foundation-sys v0.8.6 -> v0.8.7
    Updating cpufeatures v0.2.12 -> v0.2.14
      Adding dateparser v0.2.1
    Removing deranged v0.3.11
    Updating env_filter v0.1.0 -> v0.1.2
    Updating env_logger v0.11.3 -> v0.11.5
    Updating fastrand v2.1.0 -> v2.1.1
    Updating flate2 v1.0.30 -> v1.0.33
    Updating iana-time-zone v0.1.60 -> v0.1.61
    Updating indexmap v2.2.6 -> v2.5.0
    Updating is_terminal_polyfill v1.70.0 -> v1.70.1
    Updating js-sys v0.3.69 -> v0.3.70
      Adding lazy_static v1.5.0
    Updating libc v0.2.155 -> v0.2.158
    Removing linked-hash-map v0.5.6
    Updating mdbook-i18n-helpers v0.3.4 -> v0.3.5
    Updating miniz_oxide v0.7.4 -> v0.8.0
    Updating normpath v1.2.0 -> v1.3.0
    Removing num-conv v0.1.0
    Updating opener v0.7.1 -> v0.7.2
    Updating pest v2.7.11 -> v2.7.13
    Updating pest_derive v2.7.11 -> v2.7.13
    Updating pest_generator v2.7.11 -> v2.7.13
    Updating pest_meta v2.7.11 -> v2.7.13
    Removing plist v1.7.0
    Removing powerfmt v0.2.0
    Updating ppv-lite86 v0.2.17 -> v0.2.20
      Adding pulldown-cmark v0.11.3 (latest: v0.12.1)
      Adding pulldown-cmark-escape v0.11.0
      Adding pulldown-cmark-to-cmark v15.0.1 (latest: v17.0.0)
    Removing quick-xml v0.32.0
    Updating quote v1.0.36 -> v1.0.37
    Updating redox_syscall v0.5.3 -> v0.5.4
    Updating regex v1.10.5 -> v1.10.6
    Updating rustix v0.38.34 -> v0.38.37
    Updating serde v1.0.204 -> v1.0.210
    Updating serde_derive v1.0.204 -> v1.0.210
    Updating serde_json v1.0.120 -> v1.0.128
    Updating serde_spanned v0.6.6 -> v0.6.7
    Updating syn v2.0.71 -> v2.0.77
    Updating tempfile v3.10.1 -> v3.12.0
    Updating thiserror v1.0.62 -> v1.0.63
    Updating thiserror-impl v1.0.62 -> v1.0.63
    Removing time v0.3.36
    Removing time-core v0.1.2
    Removing time-macros v0.2.18
    Updating toml v0.8.14 -> v0.8.19
    Updating toml_datetime v0.6.6 -> v0.6.8
    Updating toml_edit v0.22.15 -> v0.22.21
    Updating unicode-ident v1.0.12 -> v1.0.13
    Updating unicode-normalization v0.1.23 -> v0.1.24
    Updating unicode-width v0.1.13 -> v0.1.14 (latest: v0.2.0)
    Updating version_check v0.9.4 -> v0.9.5
    Updating wasm-bindgen v0.2.92 -> v0.2.93
    Updating wasm-bindgen-backend v0.2.92 -> v0.2.93
    Updating wasm-bindgen-macro v0.2.92 -> v0.2.93
    Updating wasm-bindgen-macro-support v0.2.92 -> v0.2.93
    Updating wasm-bindgen-shared v0.2.92 -> v0.2.93
    Updating winapi-util v0.1.8 -> v0.1.9
      Adding windows-sys v0.59.0
    Updating winnow v0.6.13 -> v0.6.18
    Removing yaml-rust v0.4.5
      Adding zerocopy v0.7.35
      Adding zerocopy-derive v0.7.35
note: pass `--verbose` to see 26 unchanged dependencies behind latest

[ extracted from rust-lang/rust#129538 - Trevor ]

Co-authored-by: Trevor Gross <tmgross@umich.edu>
2024-09-26 12:56:46 -04:00
Josh Stone
9431d1ab4e Add sun_path to the fake doc sockaddr_un 2024-09-26 09:33:30 -07:00
Mads Marquart
fb10eeb42b Move Apple linker args from rustc_target to rustc_codegen_ssa
They are dependent on the deployment target and SDK version, but having
these in `rustc_target` makes it hard to introduce that dependency.
2024-09-26 16:40:25 +02:00
Ralf Jung
ef87a7f663 add missing FIXME(const-hack) 2024-09-26 15:42:37 +02:00
bors
4428a05167 Auto merge of #129759 - dingxiangfei2009:stabilize-const-refs-to-static, r=RalfJung
Stabilize `const_refs_to_static`

Meanwhile, I am cooking a sub-section in the language reference.
2024-09-26 13:36:03 +00:00
zopsicle
cdd3371bb4 rustdoc: do not animate when user prefers reduced motion
This accessibility improvement gates the target flashing and tooltip fade-out
behind an inverted prefers-reduced-motion media query.
2024-09-26 13:56:22 +02:00
Ding Xiang Fei
1576a6d618 Stabilize const_refs_to_static
update tests

fix bitwidth-sensitive stderr output

use build-fail for asm tests
2024-09-26 13:21:15 +02:00
bors
c361d52a9b Auto merge of #3916 - rust-lang:rustup-2024-09-26, r=RalfJung
Automatic Rustup
2024-09-26 09:41:27 +00:00
Ralf Jung
18aa926d09 remove some clippy lints from the list that we do not even trigger any more 2024-09-26 11:40:04 +02:00
Ralf Jung
bf78aec510 fix clippy::needless_return 2024-09-26 11:40:04 +02:00
Urgau
1e24104587 Add [Option<T>; N]::transpose 2024-09-26 10:43:56 +02:00
bors
f2becdff04 Auto merge of #130865 - cuviper:library-raw_ref_op, r=tgross35
Use `&raw` in the standard library

Since the stabilization in #127679 has reached stage0, 1.82-beta, we can
start using `&raw` freely, and even the soft-deprecated `ptr::addr_of!`
and `ptr::addr_of_mut!` can stop allowing the unstable feature.

I intentionally did not change any documentation or tests, but the rest
of those macro uses are all now using `&raw const` or `&raw mut` in the
standard library.
2024-09-26 08:12:02 +00:00
Folkert de Vries
42542d8cda update compiler_builtins to 0.1.126 2024-09-26 09:54:28 +02:00
Folkert de Vries
20c0067528 add a bootstrap variant of naked_asm 2024-09-26 09:54:00 +02:00
Taiki Endo
36455c6f6b rustc_target: Add powerpc64 atomic-related features 2024-09-26 16:43:04 +09:00
Ralf Jung
294fdb820c clippy 2024-09-26 09:36:44 +02:00
bors
fcc59fe1ad Auto merge of #3917 - RalfJung:sysroot, r=RalfJung
bump rustc-build-sysroot version

This removes an implicit `--cap-lints` in the sysroot build. Let's see if that causes any trouble for the targets we test.
2024-09-26 07:21:41 +00:00
Ralf Jung
adbaf13d32 bump rustc-build-sysroot version 2024-09-26 09:18:14 +02:00
The Miri Cronjob Bot
51087d2247 Merge from rustc 2024-09-26 05:23:15 +00:00
The Miri Cronjob Bot
824884d743 Preparing for merge from rustc 2024-09-26 05:15:46 +00:00
Taiki Endo
1bef68c4cb Update FIXME comment in s390x_unknown_linux_*.rs 2024-09-26 12:52:35 +09:00
bors
76ed7a1fa4 Auto merge of #130329 - khuey:reorder-constant-spills, r=davidtwco
Reorder stack spills so that constants come later.

Currently constants are "pulled forward" and have their stack spills emitted first. This confuses LLVM as to where to place breakpoints at function entry, and results in argument values being wrong in the debugger. It's straightforward to avoid emitting the stack spills for constants until arguments/etc have been introduced in debug_introduce_locals, so do that.

Example LLVM IR (irrelevant IR elided):
Before:
```
define internal void `@_ZN11rust_1289457binding17h2c78f956ba4bd2c3E(i64` %a, i64 %b, double %c) unnamed_addr #0 !dbg !178 { start:
  %c.dbg.spill = alloca [8 x i8], align 8
  %b.dbg.spill = alloca [8 x i8], align 8
  %a.dbg.spill = alloca [8 x i8], align 8
  %x.dbg.spill = alloca [4 x i8], align 4
  store i32 0, ptr %x.dbg.spill, align 4, !dbg !192            ; LLVM places breakpoint here.
    #dbg_declare(ptr %x.dbg.spill, !190, !DIExpression(), !192)
  store i64 %a, ptr %a.dbg.spill, align 8
    #dbg_declare(ptr %a.dbg.spill, !187, !DIExpression(), !193)
  store i64 %b, ptr %b.dbg.spill, align 8
    #dbg_declare(ptr %b.dbg.spill, !188, !DIExpression(), !194)
  store double %c, ptr %c.dbg.spill, align 8
    #dbg_declare(ptr %c.dbg.spill, !189, !DIExpression(), !195)
  ret void, !dbg !196
}
```
After:
```
define internal void `@_ZN11rust_1289457binding17h2c78f956ba4bd2c3E(i64` %a, i64 %b, double %c) unnamed_addr #0 !dbg !178 { start:
  %x.dbg.spill = alloca [4 x i8], align 4
  %c.dbg.spill = alloca [8 x i8], align 8
  %b.dbg.spill = alloca [8 x i8], align 8
  %a.dbg.spill = alloca [8 x i8], align 8
  store i64 %a, ptr %a.dbg.spill, align 8
    #dbg_declare(ptr %a.dbg.spill, !187, !DIExpression(), !192)
  store i64 %b, ptr %b.dbg.spill, align 8
    #dbg_declare(ptr %b.dbg.spill, !188, !DIExpression(), !193)
  store double %c, ptr %c.dbg.spill, align 8
    #dbg_declare(ptr %c.dbg.spill, !189, !DIExpression(), !194)
  store i32 0, ptr %x.dbg.spill, align 4, !dbg !195            ; LLVM places breakpoint here.
    #dbg_declare(ptr %x.dbg.spill, !190, !DIExpression(), !195)
  ret void, !dbg !196
}
```
Note in particular the position of the "LLVM places breakpoint here" comment relative to the stack spills for the function arguments. LLVM assumes that the first instruction with with a debug location is the end of the prologue. As LLVM does not currently offer front ends any direct control over the placement of the prologue end reordering the IR is the only mechanism available to fix argument values at function entry in the presence of MIR optimizations like SingleUseConsts. Fixes #128945

r? `@michaelwoerister`
2024-09-26 02:37:52 +00:00
makai410
58921874cb Fix the misleading diagnostic for let_underscore_drop on type without Drop implementation 2024-09-26 10:18:18 +08:00
Scott McMurray
ddfd0c701a Remove feature(control_flow_enum) in tests 2024-09-25 19:00:19 -07:00
Scott McMurray
c89b873172 Remove the control_flow_enum feature from clippy 2024-09-25 19:00:19 -07:00
Scott McMurray
fd5aa07f4f Stabilize the map/value methods on ControlFlow
And fix the stability attribute on the `pub use` in `core::ops`.
2024-09-25 19:00:17 -07:00
Josh Stone
f4d9d1a0ea Use &raw in the standard library
Since the stabilization in #127679 has reached stage0, 1.82-beta, we can
start using `&raw` freely, and even the soft-deprecated `ptr::addr_of!`
and `ptr::addr_of_mut!` can stop allowing the unstable feature.

I intentionally did not change any documentation or tests, but the rest
of those macro uses are all now using `&raw const` or `&raw mut` in the
standard library.
2024-09-25 17:03:20 -07:00
Josh Stone
a51b0a2adf Use mem::offset_of! for sockaddr_un.sun_path 2024-09-25 16:40:50 -07:00
Samuel Moelius
51b527266e Fix bug found during review
https://github.com/rust-lang/rust-clippy/pull/13286#issuecomment-2374245772
2024-09-25 17:56:51 -04:00
Lukas Markeffsky
345077af98 don't clone clean::Item in TypeImplCollector 2024-09-25 23:46:15 +02:00
Lukas Markeffsky
4facc1ce41 rm higher-ranked lifetimes from DocVisitor
This allows the visitor to borrow from the visitees.
2024-09-25 23:46:15 +02:00