Skip to content
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

Rollup of 5 pull requests #125010

Merged
merged 50 commits into from
May 11, 2024
Merged

Rollup of 5 pull requests #125010

merged 50 commits into from
May 11, 2024

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

RalfJung and others added 30 commits May 5, 2024 18:49
unix/fs: a bit of cleanup around host-specific code
the actual target-specific things we want to test are all in getrandom,
and rand already tests miri itself
also add some comments for why we keep certain old obscure APIs supported
reduce test_dependencies

Also add comments for why we need all these 3 random functions for Windows, and the old Linux syscall interface.
avoid code duplication between realloc and malloc
organize libc tests into a proper folder, and run some of them on Windows
README: update introduction

For some time now, we have (to my knowledge) been able to detect all the UB that rustc actually exploits. I think it's time to advertise that.

We also haven't had the problem of "not every nightly has Miri" for a while.

`@rust-lang/miri` what do you think?
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 rust-lang/miri#3587.
…RalfJung

Implement non-null pointer for malloc(0)

Use non-null pointer for malloc(0) as mentioned in  rust-lang#3576 to detect leaks and double free of ``malloc(0)`` addresses.
Allow test targets to be set via CLI args

Fixes rust-lang#3584

I'm not a pro shell script reader as I am a Windows user, but we shall see if the CI script broke.
make MIRI_TEST_TARGET and RUSTC_BLESS entirely an internal thing

They are just used to communicate between `./miri test`/`./x.py test miri` and the test harness, but should not be used by users.
bors and others added 13 commits May 10, 2024 16:33
rename 'extern-so' to 'native-lib'

Calling "extern" functions is not super clear IMO (extern to what), but saying that we are calling "native" functions from inside the interpreter makes it very clear I think.
Remove feature from documentation examples
Add rustc_const_stable attribute to stabilized functions
Update intra-doc link for `u8::is_ascii_whitespace` on `&[u8]` functions
alloc: update comments around malloc() alignment

Also separate the C heap shims form the Windows heap shims; their guarantees aren't quite the same.
Stabilize `byte_slice_trim_ascii` for `&[u8]`/`&str`

Remove feature from documentation examples
Update intra-doc link for `u8::is_ascii_whitespace` on `&[u8]` functions

Closes rust-lang#94035

FCP has successfully completed rust-lang#94035 (comment)
Document proper usage of `fmt::Error` and `fmt()`'s `Result`.

I've seen several newcomers wonder why `fmt::Error` doesn't have any error detail information, or propose to return it in response to an error condition found inside a `impl fmt::Display for MyType`.

That is incorrect, per [a lone paragraph of the `fmt` module's documentation](https://doc.rust-lang.org/1.78.0/std/fmt/index.html#formatting-traits). However, users looking to implement a formatting trait won't necessarily look there. Therefore, let's add the critical information (that formatting per se is infallible) to all the involved items: every `fmt()` method, and `fmt::Error`.

This PR is not intended to make any novel claims about `fmt`; only to repeat an existing one in places where it will be more visible.
…k-Simulacrum

check if `x test tests` missing any test directory

Add a unit test to ensure we don't skip any test directories for `x test tests` in the future.
…au,Nilstrieb

Handle Deref expressions in invalid_reference_casting

Similar to rust-lang#124908

See rust-lang#124951 for context; this PR fixes the last of the known false postiive cases with this lint that we encounter in Crater.
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels May 11, 2024
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented May 11, 2024

📌 Commit 8f03405 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 11, 2024
@bors
Copy link
Contributor

bors commented May 11, 2024

⌛ Testing commit 8f03405 with merge 686bfc4...

@bors
Copy link
Contributor

bors commented May 11, 2024

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 686bfc4 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 11, 2024
@bors bors merged commit 686bfc4 into rust-lang:master May 11, 2024
7 checks passed
@rustbot rustbot added this to the 1.80.0 milestone May 11, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#124928 Stabilize byte_slice_trim_ascii for &[u8]/&str 2b512c4e1713646fe8abc83193a8ebc8a4f72bce (link)
#124954 Document proper usage of fmt::Error and fmt()'s `Result… a658edebe6238d4799b56d1caefd911de8210266 (link)
#124969 check if x test tests missing any test directory 823a653ce6f0982ea7a11f3515d40edc0462ed93 (link)
#124978 Handle Deref expressions in invalid_reference_casting fd756ac7e4b43756e513fd5422dd1f7c61582c72 (link)
#125005 Miri subtree update 1cb8a1829efea6866bce1c08e64aeef070e7ff84 (link)

previous master: 35c5e67c69

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (686bfc4): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.4% [-1.7%, -1.2%] 3
Improvements ✅
(secondary)
-3.2% [-3.5%, -2.9%] 2
All ❌✅ (primary) -1.4% [-1.7%, -1.2%] 3

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 674.634s -> 673.271s (-0.20%)
Artifact size: 315.86 MiB -> 315.86 MiB (-0.00%)

@matthiaskrgr matthiaskrgr deleted the rollup-270pck3 branch September 1, 2024 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.