Commit graph

10938 commits

Author SHA1 Message Date
Oneirical
f2de5fb2ae rewrite issue-14500 to rmake 2024-05-12 14:00:09 -04:00
bors
100b123a0d Auto merge of #124213 - rust-lang:cargo_update, r=Mark-Simulacrum
Weekly `cargo update`

Automation to keep dependencies in `Cargo.lock` current.

The following is the output from `cargo update`:

```txt
Locking 77 packages to latest compatible versions
    Updating allocator-api2 v0.2.16 -> v0.2.18
    Updating anstream v0.6.13 -> v0.6.14
    Updating anstyle v1.0.6 -> v1.0.7
    Updating anstyle-lossy v1.1.0 -> v1.1.1
    Updating anstyle-parse v0.2.3 -> v0.2.4
    Updating anstyle-query v1.0.2 -> v1.0.3
    Updating anstyle-svg v0.1.3 -> v0.1.4
    Updating anstyle-wincon v3.0.2 -> v3.0.3
    Updating anyhow v1.0.81 -> v1.0.83
    Updating autocfg v1.2.0 -> v1.3.0
    Updating bumpalo v3.15.4 -> v3.16.0
    Updating bytecount v0.6.7 -> v0.6.8
    Updating clap_complete v4.5.1 -> v4.5.2
    Updating color-print v0.3.5 -> v0.3.6
    Updating color-print-proc-macro v0.3.5 -> v0.3.6
    Updating colorchoice v1.0.0 -> v1.0.1
    Updating dissimilar v1.0.7 -> v1.0.9
    Updating either v1.10.0 -> v1.11.0
    Updating encoding_rs v0.8.33 -> v0.8.34
    Updating errno v0.3.8 -> v0.3.9
    Updating fastrand v2.0.2 -> v2.1.0
    Updating flate2 v1.0.28 -> v1.0.30
    Updating fluent-bundle v0.15.2 -> v0.15.3
    Updating fluent-syntax v0.11.0 -> v0.11.1
    Updating getrandom v0.2.13 -> v0.2.14 (latest: v0.2.15)
    Updating hashbrown v0.14.3 -> v0.14.5
    Updating intl-memoizer v0.5.1 -> v0.5.2
      Adding is_terminal_polyfill v1.70.0
    Updating jobserver v0.1.28 -> v0.1.31
    Updating lock_api v0.4.11 -> v0.4.12
    Updating num-traits v0.2.18 -> v0.2.19
    Removing packed_simd v0.3.9
    Updating parking_lot v0.12.1 -> v0.12.2
    Updating parking_lot_core v0.9.9 -> v0.9.10
    Updating pest v2.7.9 -> v2.7.10
    Updating pest_derive v2.7.9 -> v2.7.10
    Updating pest_generator v2.7.9 -> v2.7.10
    Updating pest_meta v2.7.9 -> v2.7.10
    Updating proc-macro2 v1.0.79 -> v1.0.82
    Updating pulldown-cmark v0.10.2 -> v0.10.3
    Updating pulldown-cmark-escape v0.10.0 -> v0.10.1
    Updating quote v1.0.35 -> v1.0.36
      Adding redox_syscall v0.5.1
    Updating rustc-demangle v0.1.23 -> v0.1.24
    Updating rustix v0.38.32 -> v0.38.34
    Updating rustversion v1.0.15 -> v1.0.16
    Updating ryu v1.0.17 -> v1.0.18
    Updating security-framework v2.10.0 -> v2.11.0
    Updating security-framework-sys v2.10.0 -> v2.11.0
    Updating self_cell v1.0.3 -> v1.0.4
    Updating semver v1.0.22 -> v1.0.23
    Updating serde v1.0.197 -> v1.0.201
    Updating serde_derive v1.0.197 -> v1.0.201
    Updating serde_json v1.0.115 -> v1.0.117
    Updating socket2 v0.5.6 -> v0.5.7
    Updating syn v2.0.58 -> v2.0.62
    Updating sysinfo v0.30.8 -> v0.30.12
    Updating thiserror v1.0.58 -> v1.0.60
    Updating thiserror-impl v1.0.58 -> v1.0.60
    Updating tokio-util v0.7.10 -> v0.7.11
    Updating type-map v0.4.0 -> v0.5.0
    Updating unic-langid v0.9.4 -> v0.9.5
    Updating unic-langid-impl v0.9.4 -> v0.9.5
    Updating unic-langid-macros v0.9.4 -> v0.9.5
    Updating unic-langid-macros-impl v0.9.4 -> v0.9.5
    Updating unicode-width v0.1.11 -> v0.1.12
    Updating winapi-util v0.1.6 -> v0.1.8
    Updating windows-targets v0.52.4 -> v0.52.5
    Updating windows_aarch64_gnullvm v0.52.4 -> v0.52.5
    Updating windows_aarch64_msvc v0.52.4 -> v0.52.5
    Updating windows_i686_gnu v0.52.4 -> v0.52.5
      Adding windows_i686_gnullvm v0.52.5
    Updating windows_i686_msvc v0.52.4 -> v0.52.5
    Updating windows_x86_64_gnu v0.52.4 -> v0.52.5
    Updating windows_x86_64_gnullvm v0.52.4 -> v0.52.5
    Updating windows_x86_64_msvc v0.52.4 -> v0.52.5
    Updating zerocopy v0.7.32 -> v0.7.34
    Updating zerocopy-derive v0.7.32 -> v0.7.34
note: pass `--verbose` to see 94 unchanged dependencies behind latest
```
2024-05-11 14:53:07 +00:00
Mark Rousskov
e068e004d7 Add windows_i686_gnullvm to the list 2024-05-11 10:25:37 -04:00
bors
79a85d4e99 Auto merge of #3598 - RalfJung:heap, r=RalfJung
alloc: update comments around malloc() alignment

Also separate the C heap shims form the Windows heap shims; their guarantees aren't quite the same.
2024-05-11 08:53:42 +00:00
Ralf Jung
01b151ebd4 separate windows heap functions from C heap shims 2024-05-11 10:52:08 +02:00
Ralf Jung
7a0ee91ba5 alloc: update comments around malloc() alignment 2024-05-11 10:52:02 +02:00
The Miri Cronjob Bot
ce3daac283 Merge from rustc 2024-05-11 05:03:34 +00:00
The Miri Cronjob Bot
4d63d0af4d Preparing for merge from rustc 2024-05-11 04:56:14 +00:00
Weihang Lo
27197ef94f
Update cargo 2024-05-10 22:27:58 -04:00
Michael Goulet
1e5ec0a12c Lift TraitRef into rustc_type_ir 2024-05-10 15:44:03 -04:00
Ralf Jung
25a3b6687e rename 'extern-so' to 'native-lib' 2024-05-10 18:30:48 +02:00
Matthias Krüger
9a9ec90567
Rollup merge of #124957 - compiler-errors:builtin-deref, r=michaelwoerister
Make `Ty::builtin_deref` just return a `Ty`

Nowhere in the compiler are we using the mutability part of the `TyAndMut` that we used to return.
2024-05-10 16:10:47 +02:00
Matthias Krüger
aa68901e36
Rollup merge of #124888 - GuillaumeGomez:migrate-rustdoc-output-path, r=jieyouxu
Migrate `run-make/rustdoc-output-path` to rmake

Part of https://github.com/rust-lang/rust/issues/121876.

r? ``@jieyouxu``
2024-05-10 16:10:46 +02:00
Matthias Krüger
1ae0d90b72
Rollup merge of #124797 - beetrees:primitive-float, r=davidtwco
Refactor float `Primitive`s to a separate `Float` type

Now there are 4 of them, it makes sense to refactor `F16`, `F32`, `F64` and `F128` out of `Primitive` and into a separate `Float` type (like integers already are). This allows patterns like `F16 | F32 | F64 | F128` to be simplified into `Float(_)`, and is consistent with `ty::FloatTy`.

As a side effect, this PR also makes the `Ty::primitive_size` method work with `f16` and `f128`.

Tracking issue: #116909

`@rustbot` label +F-f16_and_f128
2024-05-10 16:10:46 +02:00
Guillaume Gomez
24d96fa523 Migrate run-make/rustdoc-output-path to rmake 2024-05-10 10:40:14 +02:00
bors
f7b1501ce7 Auto merge of #124961 - matthiaskrgr:rollup-1jj65p6, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #124551 (Add benchmarks for `impl Debug for str`)
 - #124915 (`rustc_target` cleanups)
 - #124918 (Eliminate some `FIXME(lcnr)` comments)
 - #124927 (opt-dist: use xz2 instead of xz crate)
 - #124936 (analyse visitor: build proof tree in probe)
 - #124943 (always use `GenericArgsRef`)
 - #124955 (Use fewer origins when creating type variables.)

r? `@ghost`
`@rustbot` modify labels: rollup
2024-05-10 06:50:46 +00:00
Matthias Krüger
0ee258009c
Rollup merge of #124955 - nnethercote:next_ty_var, r=lcnr
Use fewer origins when creating type variables.

To reduce lots of repetitive boilerplate code. Details in the individual commit messages.

r? ``@lcnr``
2024-05-10 07:30:22 +02:00
Matthias Krüger
30bd6cb726
Rollup merge of #124943 - lcnr:generic-args-ref, r=compiler-errors
always use `GenericArgsRef`

r? ```@compiler-errors```
2024-05-10 07:30:21 +02:00
Matthias Krüger
4313281914
Rollup merge of #124927 - klensy:xz3, r=Kobzol
opt-dist: use xz2 instead of xz crate

xz crate consist of simple reexport of xz2 crate. Why? Idk.

Totally not a backdoor.
2024-05-10 07:30:20 +02:00
bors
98dabb622a Auto merge of #124953 - compiler-errors:own-params, r=lcnr
Rename `Generics::params` to `Generics::own_params`

I hope this makes it slightly more obvious that `generics.own_params` is insufficient when considering nested items. I didn't actually audit any of the usages, for the record.

r? lcnr
2024-05-10 04:43:57 +00:00
Michael Goulet
d50c2b0a52 Make builtin_deref just return a Ty 2024-05-09 22:55:00 -04:00
Michael Goulet
1c19b6ad60 Rename Generics::params to Generics::own_params 2024-05-09 20:58:46 -04:00
Nicholas Nethercote
fe843feaab Use fewer origins when creating type variables.
`InferCtxt::next_{ty,const}_var*` all take an origin, but the
`param_def_id` is almost always `None`. This commit changes them to just
take a `Span` and build the origin within the method, and adds new
methods for the rare cases where `param_def_id` might not be `None`.
This avoids a lot of tedious origin building.

Specifically:
- next_ty_var{,_id_in_universe,_in_universe}: now take `Span` instead of
  `TypeVariableOrigin`
- next_ty_var_with_origin: added

- next_const_var{,_in_universe}: takes Span instead of ConstVariableOrigin
- next_const_var_with_origin: added

- next_region_var, next_region_var_in_universe: these are unchanged,
  still take RegionVariableOrigin

The API inconsistency (ty/const vs region) seems worth it for the
large conciseness improvements.
2024-05-10 09:47:46 +10:00
lcnr
8f9062530b always use GenericArgsRef 2024-05-09 19:52:02 +00:00
Matthias Krüger
024881a36b
Rollup merge of #124923 - RalfJung:offset-from-errors, r=compiler-errors
interpret/miri: better errors on failing offset_from

Fixes https://github.com/rust-lang/miri/issues/3104
2024-05-09 19:09:30 +02:00
klensy
39159a3629 opt-dist: use xz2 instead of xz crate
xz crate consist of simple reexport of xz2 crate. Why? Idk.
2024-05-09 16:43:14 +03:00
bors
8c7c151a7a Auto merge of #124706 - Zalathar:revision-checker, r=jieyouxu
Tidy check for test revisions that are mentioned but not declared

If a `[revision]` name appears in a test header directive or error annotation, but isn't declared in the `//@ revisions:` header, that is almost always a mistake.

In cases where a revision needs to be temporarily disabled, adding it to an `//@ unused-revision-names:` header will suppress these checks for that name.

Adding the wildcard name `*` to the unused list will suppress these checks for the entire file.

(None of the tests actually use `*`; it's just there because it was easy to add and could be handy as an escape hatch when dealing with other problems.)

---

Most of the existing problems discovered by this check were fairly straightforward to fix (or ignore); the trickiest cases are in `borrowck` tests.
2024-05-09 13:06:40 +00:00
Ralf Jung
41d36a0951 interpret/miri: better errors on failing offset_from 2024-05-09 13:09:47 +02:00
bors
d3f4d06c15 Auto merge of #3591 - RalfJung:win-symlink-trouble, r=RalfJung
do not run symlink tests on Windows hosts

Fixes https://github.com/rust-lang/miri/issues/3587
2024-05-09 10:30:11 +00:00
Ralf Jung
1edd3d59b0 do not run symlink tests on Windows hosts 2024-05-09 12:28:53 +02:00
Ralf Jung
cb44843900 make RUSTC_BLESS entirely an internal thing 2024-05-09 11:27:22 +02:00
Ralf Jung
e16f46cdab make MIRI_TEST_TARGET entirely an internal thing 2024-05-09 11:27:22 +02:00
bors
42d9b6890e Auto merge of #3588 - RossSmyth:CliTarget, r=RalfJung
Allow test targets to be set via CLI args

Fixes #3584

I'm not a pro shell script reader as I am a Windows user, but we shall see if the CI script broke.
2024-05-09 07:41:43 +00:00
Ralf Jung
d43cb7121e minor tweaks 2024-05-09 09:40:13 +02:00
Zalathar
be590d3887 Tidy check for test revisions that are mentioned but not declared
If a `[revision]` name appears in a test header directive or error annotation,
but isn't declared in the `//@ revisions:` header, that is almost always a
mistake.

In cases where a revision needs to be temporarily disabled, adding it to an
`//@ unused-revision-names:` header will suppress these checks for that name.

Adding the wildcard name `*` to the unused list will suppress these checks for
the entire file.
2024-05-09 14:47:09 +10:00
Zalathar
1fbabc622f Include the line number in tidy's iter_header 2024-05-09 14:38:25 +10:00
Matthias Krüger
4510ee3af3
Rollup merge of #124837 - GuillaumeGomez:migrate-rustdoc-map-file, r=jieyouxu
Migrate `run-make/rustdoc-map-file` to rmake

Part of https://github.com/rust-lang/rust/issues/121876.

r? `@jieyouxu`
2024-05-09 06:04:39 +02:00
Ross Smyth
620bf348e1 Update documentation for miri-script test changes 2024-05-08 18:05:28 -04:00
Ross Smyth
6e564ed9fd Update CI script for the miri-script test changes 2024-05-08 18:05:28 -04:00
Ross Smyth
6580a22726 Allow test targets to be set via CLI args 2024-05-08 18:05:26 -04:00
Matthias Krüger
3e22ea9e2f
Rollup merge of #124876 - nnethercote:rm-use-crate-rustc_foo, r=compiler-errors
Simplify `use crate::rustc_foo::bar` occurrences.

They can just be written as `use rustc_foo::bar`, which is far more standard. (I didn't even know that a `crate::` prefix was valid.)

r? ``@eholk``
2024-05-08 23:33:26 +02:00
Matthias Krüger
d8a3a69ad1
Rollup merge of #124587 - reitermarkus:use-generic-nonzero, r=dtolnay
Generic `NonZero` post-stabilization changes.

Tracking issue: https://github.com/rust-lang/rust/issues/120257

r? ``@dtolnay``
2024-05-08 23:33:25 +02:00
Matthias Krüger
d30af5e168
Rollup merge of #123344 - pietroalbini:pa-unused-imports, r=Nilstrieb
Remove braces when fixing a nested use tree into a single item

[Back in 2019](https://github.com/rust-lang/rust/pull/56645) I added rustfix support for the `unused_imports` lint, to automatically remove them when running `cargo fix`. For the most part this worked great, but when removing all but one childs of a nested use tree it turned `use foo::{Unused, Used}` into `use foo::{Used}`. This is slightly annoying, because it then requires you to run `rustfmt` to get `use foo::Used`.

This PR automatically removes braces and the surrouding whitespace when all but one child of a nested use tree are unused. To get it done I had to add the span of the nested use tree to the AST, and refactor a bit the code I wrote back then.

A thing I noticed is, there doesn't seem to be any `//@ run-rustfix` test for fixing the `unused_imports` lint. I created a test in `tests/suggestions` (is that the right directory?) that for now tests just what I added in the PR. I can followup in a separate PR to add more tests for fixing `unused_lints`.

This PR is best reviewed commit-by-commit.
2024-05-08 23:33:24 +02:00
bors
2e1d417e70 Auto merge of #3580 - tiif:feat/malloc0-non-null-pointer, r=RalfJung
Implement non-null pointer for malloc(0)

Use non-null pointer for malloc(0) as mentioned in  #3576 to detect leaks and double free of ``malloc(0)`` addresses.
2024-05-08 20:50:38 +00:00
tiif
4ab79e5622 Implement non-null pointer for malloc(0) 2024-05-09 04:34:32 +08:00
Markus Reiter
bd8e565e16
Use generic NonZero. 2024-05-08 21:37:55 +02:00
Markus Reiter
3fe0be9e38
Simplify clippy lint. 2024-05-08 21:37:54 +02:00
bors
15305a764d Auto merge of #3589 - RalfJung:io-error, r=RalfJung
io::Error handling: keep around the full io::Error for longer so we can give better errors

This should help with the error message in https://github.com/rust-lang/miri/issues/3587.
2024-05-08 16:23:17 +00:00
Ralf Jung
1601b27d1c io::Error handling: keep around the full io::Error for longer so we can give better errors 2024-05-08 18:03:29 +02:00
Guillaume Gomez
c078a44247 Migrate run-make/rustdoc-map-file to rmake 2024-05-08 16:58:12 +02:00