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 #131288

Merged
merged 35 commits into from
Oct 5, 2024
Merged

Rollup of 5 pull requests #131288

merged 35 commits into from
Oct 5, 2024

Commits on Sep 30, 2024

  1. Configuration menu
    Copy the full SHA
    df6c27d View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Auto merge of rust-lang#3923 - tiif:refactor, r=RalfJung

    Refactor ``return_read_bytes_and_count`` and ``return_written_byte_count_or_error``
    
    Fixes rust-lang#3904
    
    This PR
    - separate the error logic from ``return_read_bytes_and_count`` and ``return_written_byte_count_or_error`` into a helper function ``set_last_error_and_return``.
    bors committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    c37539d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    88c7452 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9c21fd4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4f4e1d4 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#3929 - RalfJung:io-error, r=RalfJung

    Make returning io errors more uniform and convenient
    bors committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    97510cd View commit details
    Browse the repository at this point in the history
  6. std: replace LazyBox with OnceBox

    This PR replaces the `LazyBox` wrapper used to allocate the pthread primitives with `OnceBox`, which has a more familiar API mirroring that of `OnceLock`. This cleans up the code in preparation for larger changes like rust-lang#128184 (from which this PR was split) and allows some neat optimizations, like avoid an acquire-load of the allocation pointer in `Mutex::unlock`, where the initialization of the allocation must have already been observed.
    
    Additionally, I've gotten rid of the TEEOS `Condvar` code, it's just a duplicate of the pthread one anyway and I didn't want to repeat myself.
    joboet committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    c1acccd View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2024

  1. epoll: add data_race test

    This test demonstrates the need to synchronize the clock
    of the thread waking up from an epoll_wait from the thread
    that issued the epoll awake event.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    3e089b0 View commit details
    Browse the repository at this point in the history
  2. epoll: remove unnecessary instructions

    A couple of instructions were left over from an earlier rebase
    it would seem. They don't impact the logic but the ready_list type
    is about to change in the next commit.
    
    Rather than modify one of these lines in the commit that changes
    ready_list, only to have these lines removed later on, remove them now.
    They don't impact the tests results.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    1b622f4 View commit details
    Browse the repository at this point in the history
  3. epoll: add vector clock to the epoll ready_list

    This adds a VClock to the epoll implementation's ready_list
    and has this VClock synced from the thread that updates
    an event in the ready_list and then has the VClocks of any
    threads being made runnable again, out of the calls to
    epoll_wait, synced from it.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    86bb137 View commit details
    Browse the repository at this point in the history
  4. epoll: remove extraneous clone of ready_list

    A simplification that doesn't impact the epoll implementation's logic.
    
    It is not necessary to clone the ready_list before reading its
    `is_empty` state.
    
    This avoids the clone step but more importantly avoids the invisible
    drop step of the clone.
    FrankReh authored and oli-obk committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    81202c8 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#3932 - rust-lang:epoll-with-vector-clock, r=o…

    …li-obk
    
    Add vector clock to epoll ready lists
    
    Replaces rust-lang#3928
    
    Fixes rust-lang#3911
    bors committed Oct 2, 2024
    Configuration menu
    Copy the full SHA
    52aa98a View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. Configuration menu
    Copy the full SHA
    be819d4 View commit details
    Browse the repository at this point in the history
  2. Merge from rustc

    RalfJung committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    6280e26 View commit details
    Browse the repository at this point in the history
  3. fmt

    RalfJung committed Oct 3, 2024
    Configuration menu
    Copy the full SHA
    32d4968 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9b35886 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bf71d65 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2024

  1. Preparing for merge from rustc

    The Miri Cronjob Bot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    d19bd66 View commit details
    Browse the repository at this point in the history
  2. Merge from rustc

    The Miri Cronjob Bot committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    7014ae8 View commit details
    Browse the repository at this point in the history
  3. clippy

    RalfJung committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    dc88a6a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6602a23 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d00b754 View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#3895 - TDecking:gfni, r=RalfJung

    Implement LLVM x86 gfni intrinsics
    bors committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    f7400c3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f46e162 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2024

  1. remove outdated contribution direction

    Signed-off-by: onur-ozkan <[email protected]>
    onur-ozkan committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    05f7b09 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d0e6758 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0cd0f7c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1553805 View commit details
    Browse the repository at this point in the history
  5. Auto merge of rust-lang#3943 - RalfJung:pthread-mutex-reentrant, r=Ra…

    …lfJung
    
    pthread mutex: better error in reentrant-locking-UB
    
    Also test reentrant locking of PTHREAD_MUTEX_INITIALIZER
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    eb97047 View commit details
    Browse the repository at this point in the history
  6. Auto merge of rust-lang#3940 - rust-lang:refutable_slice, r=RalfJung

    Prefer refutable slice patterns over len check + index op
    
    Just something I noticed while reviewing other PRs
    
    We do it for shim arguments almost everywhere, but when the size is not statically known, we didn't use the helpers as they rely on array ops. But we can avoid a len check followed by several index ops by just using a refutable slice pattern with `let else`.
    
    The pattern is so common, it seems almost worth a dedicated macro
    bors committed Oct 5, 2024
    Configuration menu
    Copy the full SHA
    3b418b1 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#130428 - ink-feather-org:stabilize-const-sp…

    …lit-at-mut, r=RalfJung
    
    Stabilize `const_slice_split_at_mut` and `const_slice_first_last_chunk`
    
    Stabilizes rust-lang#101804 and the remainder of rust-lang#111774.
    
    FCP proposed in the tracking issue.
    
    Requires rust-lang#130403 (or it would need a rustc_allow_const_fn_unstable for it)
    
    Stabilized const API:
    ```rust
    // slice
    impl [T] {
        pub const fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T]);
        pub const fn split_at_mut_unchecked(&mut self, mid: usize) -> (&mut [T], &mut [T]);
        pub const fn split_at_mut_checked(&mut self, mid: usize) -> Option<(&mut [T], &mut [T])>;
    
        pub const fn first_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>;
        pub const fn last_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>;
        pub const fn split_first_chunk_mut<const N: usize>(&mut self) -> Option<(&mut [T; N], &mut [T])>;
        pub const fn split_last_chunk_mut<const N: usize>(&mut self) -> Option<(&mut [T; N], &mut [T])>;
    }
    ```
    
    Closes rust-lang#101804
    Closes rust-lang#111774
    
    cc `@RalfJung`
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    386a0ba View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#131094 - joboet:lazy_once_box, r=ibraheemdev

    std: replace `LazyBox` with `OnceBox`
    
    This PR replaces the `LazyBox` wrapper used to allocate the pthread primitives with `OnceBox`, which has a more familiar API mirroring that of `OnceLock`. This cleans up the code in preparation for larger changes like rust-lang#128184 (from which this PR was split) and allows some neat optimizations, like avoid an acquire-load of the allocation pointer in `Mutex::unlock`, where the initialization of the allocation must have already been observed.
    
    Additionally, I've gotten rid of the TEEOS `Condvar` code, it's just a duplicate of the pthread one anyway and I didn't want to repeat myself.
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    92beb42 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#131256 - RalfJung:f16-f128-const, r=ibrahee…

    …mdev
    
    move f16/f128 const fn under f16/f128 feature gate
    
    The `*_const` features were added to work around rust-lang#129656, which should not be needed any more.
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    cb5bb13 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#131278 - onur-ozkan:update-outdated-doc, r=…

    …Kobzol
    
    remove outdated contribution direction
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    1bd61bb View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#131286 - RalfJung:miri-sync, r=RalfJung

    Miri subtree update
    
    r? `@ghost`
    matthiaskrgr authored Oct 5, 2024
    Configuration menu
    Copy the full SHA
    72acacf View commit details
    Browse the repository at this point in the history