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 4 pull requests #90424

Merged
merged 9 commits into from
Oct 31, 2021
Merged

Rollup of 4 pull requests #90424

merged 9 commits into from
Oct 31, 2021

Commits on Oct 11, 2021

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

Commits on Oct 12, 2021

  1. Update library/std/src/thread/mod.rs

    Co-authored-by: Josh Triplett <josh@joshtriplett.org>
    jkugelman and joshtriplett committed Oct 12, 2021
    Configuration menu
    Copy the full SHA
    6a8311c View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2021

  1. Add #[must_use] to remaining alloc functions

    jkugelman authored and Kugelman, John R committed Oct 15, 2021
    Configuration menu
    Copy the full SHA
    fb2d0f5 View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2021

  1. Configuration menu
    Copy the full SHA
    42cab43 View commit details
    Browse the repository at this point in the history
  2. hermitkernel-target: Set OS to "none"

    For our kernel targets, we should not set OS, as the kernel runs bare
    metal without a circular dependency on std.
    
    This also prepares us for unifying with
    rust-lang#89062. This patch requires
    libhermit-rs to change a `cfg`s from `target_os = "hermit"` to `target_os
    = "none"`.
    
    I tested this patch locally.
    mkroening committed Oct 29, 2021
    Configuration menu
    Copy the full SHA
    311a249 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2021

  1. Rollup merge of rust-lang#89789 - jkugelman:must-use-thread-builder, …

    …r=joshtriplett
    
    Add #[must_use] to thread::Builder
    
    I copied the wording of the [`fmt::Debug` builders](https://doc.rust-lang.org/src/core/fmt/builders.rs.html#444).
    
    Affects:
    
    ```rust
    std/src/thread/mod.rs:289:5   std::thread::Builder   fn new() -> Builder;
    std/src/thread/mod.rs:318:5   std::thread::Builder   fn name(mut self, name: String) -> Builder;
    std/src/thread/mod.rs:341:5   std::thread::Builder   fn stack_size(mut self, size: usize) -> Builder;
    ```
    
    Parent issue: rust-lang#89692
    
    r? `@joshtriplett`
    matthiaskrgr committed Oct 30, 2021
    Configuration menu
    Copy the full SHA
    d872d7f View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#89899 - jkugelman:must-use-alloc, r=joshtri…

    …plett
    
    Add #[must_use] to remaining alloc functions
    
    I've run out of compelling reasons to group functions together across crates so I'm just going to go module-by-module. This is everything remaining from the `alloc` crate.
    
    I ignored these because they might be used to purposefully leak memory... or other allocator shenanigans? I dunno. I'll add them if y'all tell me to.
    
    ```rust
    alloc::alloc          unsafe fn alloc(layout: Layout) -> *mut u8;
    alloc::alloc          unsafe fn alloc_zeroed(layout: Layout) -> *mut u8;
    alloc::sync::Arc<T>   fn into_raw(this: Self) -> *const T;
    ```
    
    I don't know why clippy ignored these. I added them myself:
    
    ```rust
    alloc::collections::btree_map::BTreeMap<K, V>   fn range<T: ?Sized, R>(&self, range: R) -> Range<'_, K, V>;
    alloc::collections::btree_set::BTreeSet<T>      fn range<K: ?Sized, R>(&self, range: R) -> Range<'_, T>;
    ```
    
    I added these non-mutating `mut` functions:
    
    ```rust
    alloc::collections::btree_map::BTreeMap<K, V>     fn range_mut<T: ?Sized, R>(&mut self, range: R) -> RangeMut<'_, K, V>;
    alloc::collections::btree_map::BTreeMap<K, V>     fn iter_mut(&mut self) -> IterMut<'_, K, V>;
    alloc::collections::btree_map::BTreeMap<K, V>     fn values_mut(&mut self) -> ValuesMut<'_, K, V>;
    alloc::collections::linked_list::LinkedList<T>    fn iter_mut(&mut self) -> IterMut<'_, T>;
    alloc::collections::linked_list::LinkedList<T>    fn cursor_front_mut(&mut self) -> CursorMut<'_, T>;
    alloc::collections::linked_list::LinkedList<T>    fn cursor_back_mut(&mut self) -> CursorMut<'_, T>;
    alloc::collections::linked_list::LinkedList<T>    fn front_mut(&mut self) -> Option<&mut T>;
    alloc::collections::linked_list::LinkedList<T>    fn back_mut(&mut self) -> Option<&mut T>;
    alloc::collections::linked_list::CursorMut<'a, T> fn current(&mut self) -> Option<&mut T>;
    alloc::collections::linked_list::CursorMut<'a, T> fn peek_next(&mut self) -> Option<&mut T>;
    alloc::collections::linked_list::CursorMut<'a, T> fn peek_prev(&mut self) -> Option<&mut T>;
    alloc::collections::linked_list::CursorMut<'a, T> fn front_mut(&mut self) -> Option<&mut T>;
    alloc::collections::linked_list::CursorMut<'a, T> fn back_mut(&mut self) -> Option<&mut T>;
    ```
    
    I moved a few existing `#[must_use]`s from functions onto the iterator types they return: `IntoIterSorted`, `IntoKeys`, `IntoValues`.
    
    Parent issue: rust-lang#89692
    
    r? `@joshtriplett`
    matthiaskrgr committed Oct 30, 2021
    Configuration menu
    Copy the full SHA
    1adb664 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#90401 - mkroening:hermit-condvar, r=joshtri…

    …plett
    
    hermit: Implement Condvar::wait_timeout
    
    This implements `Condvar::wait_timeout` for the `hermit` target.
    
    See
    * hermit-os#2
    * hermit-os#5
    
    CC: `@stlankes`
    matthiaskrgr committed Oct 30, 2021
    Configuration menu
    Copy the full SHA
    0da75bc View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#90404 - mkroening:hermit-kernel-no-os, r=jo…

    …shtriplett
    
    hermitkernel-target: Set OS to "none"
    
    For our kernel targets, we should not set OS, as the kernel runs bare
    metal without a circular dependency on std.
    
    This also prepares us for unifying with
    rust-lang#89062. This patch requires
    libhermit-rs to change a `cfg`s from `target_os = "hermit"` to `target_os
    = "none"`.
    
    I tested this patch locally.
    
    CC: `@stlankes`
    matthiaskrgr committed Oct 30, 2021
    Configuration menu
    Copy the full SHA
    ce48803 View commit details
    Browse the repository at this point in the history