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 8 pull requests #94771

Closed
wants to merge 19 commits into from

Commits on Dec 11, 2021

  1. Make some Clone impls const

    lilasta committed Dec 11, 2021
    Configuration menu
    Copy the full SHA
    6620244 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2022

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

Commits on Mar 8, 2022

  1. Statically compile libstdc++ everywhere if asked

    PR rust-lang#93918 made it so that `-static-libstdc++` was only set in one place,
    and was only set during linking, but accidentally also made it so that
    it is no longer passed when building LLD or sanitizers, only when
    building LLVM itself. This moves the logic for setting
    `-static-libstdc++` in the linker flags back to `configure_cmake` so
    that it takes effect for all CMake invocations in `native.rs`.
    
    As a side-effect, this also causes libstdc++ to be statically compiled
    into sanitizers and LLD if `llvm-tools-enabled` is set but
    `llvm-static-stdcpp` is not, even though previously it was only linked
    statically if `llvm-static-stdcpp` was set explicitly. But that seems
    more like the expected behavior anyway.
    Jon Gjengset committed Mar 8, 2022
    Configuration menu
    Copy the full SHA
    b328688 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0d92752 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c3a998e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a5216cf View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    fbd9c28 View commit details
    Browse the repository at this point in the history
  6. Improve rustdoc book

    Urgau committed Mar 8, 2022
    Configuration menu
    Copy the full SHA
    4e067e8 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2022

  1. Configuration menu
    Copy the full SHA
    e346920 View commit details
    Browse the repository at this point in the history
  2. Use MaybeUninit in VecDeque to remove the undefined behavior of slice

    Signed-off-by: JmPotato <ghzpotato@gmail.com>
    JmPotato committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    e54d4ab View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4d56c15 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#91804 - woppopo:const_clone, r=oli-obk

    Make some `Clone` impls `const`
    
    Tracking issue: rust-lang#91805
    `Clone::clone_from` and some impls (Option, Result) bounded on `~const Drop`.
    
    ```rust
    // core::clone
    impl const Clone for INTEGER
    impl const Clone for FLOAT
    impl const Clone for bool
    impl const Clone for char
    impl const Clone for !
    impl<T: ?Sized> const Clone for *const T
    impl<T: ?Sized> const Clone for *mut T
    impl<T: ?Sized> const Clone for &T
    
    // core::option
    impl<T> const Clone for Option<T>
    where
        T: ~const Clone + ~const Drop
    
    // core::result
    impl<T, E> const Clone for Result<T, E>
    where
        T: ~const Clone + ~const Drop,
        E: ~const Clone + ~const Drop,
    
    // core::convert
    impl const Clone for Infallible
    
    // core::ptr
    impl<T: ?Sized> const Clone for NonNull<T>
    impl<T: ?Sized> const Clone for Unique<T>
    ```
    matthiaskrgr authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    0301ee8 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#92541 - asquared31415:from-docs, r=m-ou-se

    Mention intent of `From` trait in its docs
    
    This pr is a docs modification to add to the documentation of the `From` trait a note about its intent as a perfect conversion.  This is already stated in the `TryFrom` docs so this is simply adding that information in a more visible way.
    matthiaskrgr authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    7dc73df View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#94472 - JmPotato:use_maybeuninit_for_vecdeq…

    …ue, r=m-ou-se
    
    Use MaybeUninit in VecDeque to remove the undefined behavior of slice
    
    Signed-off-by: JmPotato <ghzpotato@gmail.com>
    
    Ref rust-lang#74189. Adjust the code to follow the [doc.rust-lang.org/reference/behavior-considered-undefined.html](https://doc.rust-lang.org/reference/behavior-considered-undefined.html).
    
    * Change the return type of `buffer_as_slice` from `&[T]` to `&[MaybeUninit<T>]`.
    * Add some corresponding safety comments.
    
    Benchmark results:
    
    master 8d6f527
    
    ```rust
    test collections::vec_deque::tests::bench_pop_back_100       ... bench:          47 ns/iter (+/- 1)
    test collections::vec_deque::tests::bench_pop_front_100      ... bench:          50 ns/iter (+/- 4)
    test collections::vec_deque::tests::bench_push_back_100      ... bench:          69 ns/iter (+/- 10)
    test collections::vec_deque::tests::bench_push_front_100     ... bench:          72 ns/iter (+/- 6)
    test collections::vec_deque::tests::bench_retain_half_10000  ... bench:     145,891 ns/iter (+/- 7,975)
    test collections::vec_deque::tests::bench_retain_odd_10000   ... bench:     141,647 ns/iter (+/- 3,711)
    test collections::vec_deque::tests::bench_retain_whole_10000 ... bench:     120,132 ns/iter (+/- 4,078)
    ```
    
    This PR
    
    ```rust
    test collections::vec_deque::tests::bench_pop_back_100       ... bench:          48 ns/iter (+/- 2)
    test collections::vec_deque::tests::bench_pop_front_100      ... bench:          51 ns/iter (+/- 3)
    test collections::vec_deque::tests::bench_push_back_100      ... bench:          73 ns/iter (+/- 2)
    test collections::vec_deque::tests::bench_push_front_100     ... bench:          73 ns/iter (+/- 2)
    test collections::vec_deque::tests::bench_retain_half_10000  ... bench:     131,796 ns/iter (+/- 5,440)
    test collections::vec_deque::tests::bench_retain_odd_10000   ... bench:     137,563 ns/iter (+/- 3,349)
    test collections::vec_deque::tests::bench_retain_whole_10000 ... bench:     128,815 ns/iter (+/- 3,289)
    ```
    matthiaskrgr authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    4da4226 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#94719 - jonhoo:enable-static-lld, r=Mark-Si…

    …mulacrum
    
    Statically compile libstdc++ everywhere if asked
    
    PR rust-lang#93918 made it so that `-static-libstdc++` was only set in one place,
    and was only set during linking, but accidentally also made it so that
    it is no longer passed when building LLD, only when building LLVM
    itself. This moves the logic for setting `-static-libstdc++` in the
    linker flags to `configure_cmake` so that it takes effect for all CMake
    invocations in `native.rs`.
    
    As a side-effect, this also causes libstdc++ to be statically compiled
    into sanitizers, whereas previously the `llvm-static-stdcpp` flag had no
    effect on sanitizers. It also makes it so that LLD will be compiled
    statically if `llvm-tools-enabled` is set, even though previously it was
    only linked statically if `llvm-static-stdcpp` was set explicitly. Both
    of these seem like they match expected behavior than what was there
    prior to rust-lang#93918.
    matthiaskrgr authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    51667c3 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#94739 - estebank:suggest-let-else, r=oli-obk

    Suggest `if let`/`let_else` for refutable pat in `let`
    
    r? ``@oli-obk``
    matthiaskrgr authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    3bc11de View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#94740 - GuillaumeGomez:unify-impl-blocks, r…

    …=notriddle
    
    Unify impl blocks by wrapping them into a div
    
    The blanket and "auto traits" sections are wrapped into a `div` with an ID. This PR fixes this incoherence by wrapping each impl section (the "deref impl" and the "inherent impl" sections were missing it). It'll also make some tests simpler to write.
    
    r? ``@notriddle``
    matthiaskrgr authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    1bacb44 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#94753 - Urgau:rustdoc-book-improvements, r=…

    …GuillaumeGomez
    
    Improve rustdoc book
    
    This pull-request improves the `rustdoc` book by doing some (light) cleanup, by merging some stuff, by adding some missing stuff (like tracking issues links, for those who had one) and also by moving some chapter's into sub-chapter's to improve the flow of the book.
    
    ~~Note that I locally tested with `mdbook-lintcheck` that no links became accidentally broken.~~ (Not enough, ;-))
    
    r? ``@GuillaumeGomez``
    matthiaskrgr authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    2f7bbef View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#94763 - m-ou-se:scoped-threads-lifetime-doc…

    …s, r=Mark-Simulacrum
    
    Add documentation about lifetimes to thread::scope.
    
    This resolves the last unresolved question of rust-lang#93203
    
    This was brought up in rust-lang#94559 (comment)
    
    r? ``@Mark-Simulacrum``
    matthiaskrgr authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    5bb9687 View commit details
    Browse the repository at this point in the history