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 16 pull requests #94784

Closed
wants to merge 44 commits into from
Closed

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 Feb 20, 2022

  1. Add collect_into

    frengor committed Feb 20, 2022
    Configuration menu
    Copy the full SHA
    04b3162 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2022

  1. Constify slice indexing

    fee1-dead committed Feb 22, 2022
    Configuration menu
    Copy the full SHA
    5941fef View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2022

  1. Configuration menu
    Copy the full SHA
    4654a91 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
    40e4bd2 View commit details
    Browse the repository at this point in the history
  2. bless tests

    b-naber committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    8a811a1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    26fe550 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5226395 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7a481ff View commit details
    Browse the repository at this point in the history
  6. Remove outdated comment.

    m-ou-se committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    1c06eb7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b97d875 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    491350c View commit details
    Browse the repository at this point in the history
  9. manually bless 32-bit stderr

    b-naber committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    18bb2dd View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e346920 View commit details
    Browse the repository at this point in the history
  11. keep ERROR in message

    b-naber committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    021c3b0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    e54d4ab View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    4d56c15 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    6781016 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    915f9a5 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    8073a88 View commit details
    Browse the repository at this point in the history
  17. Add tracking issue

    frengor committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    63eddb3 View commit details
    Browse the repository at this point in the history
  18. 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>
    ```
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    ed0ed70 View commit details
    Browse the repository at this point in the history
  19. 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.
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    0754c96 View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#93057 - frengor:iter_collect_into, r=m-ou-se

    Add Iterator::collect_into
    
    This PR adds `Iterator::collect_into` as proposed by `@cormacrelf` in rust-lang#48597 (see rust-lang#48597 (comment)).
    Followup of rust-lang#92982.
    
    This adds the following method to the Iterator trait:
    
    ```rust
    fn collect_into<E: Extend<Self::Item>>(self, collection: &mut E) -> &mut E
    ```
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    3f13f0b View commit details
    Browse the repository at this point in the history
  21. Rollup merge of rust-lang#94059 - b-naber:constantkind-val-transforma…

    …tion, r=lcnr
    
    Treat constant values as mir::ConstantKind::Val
    
    Another step that is necessary for the introduction of Valtrees: we don't want to treat `ty::Const` instances of kind `ty::ConstKind::Value` as `mir::ConstantKind::Ty` anymore.
    
    r? `@oli-obk`
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    de7a97c View commit details
    Browse the repository at this point in the history
  22. Rollup merge of rust-lang#94368 - c410-f3r:metaaaaaaaaaaaaaaaaaaaaaaa…

    …aaaa, r=petrochenkov
    
    [1/2] Implement macro meta-variable expressions
    
    See rust-lang#93545 (comment)
    
    The logic behind `length`, `index` and `count` was removed but the parsing code is still present, i.e., everything is simply ignored like `ignored`.
    
    r? `@petrochenkov`
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    753d931 View commit details
    Browse the repository at this point in the history
  23. 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 <[email protected]>
    
    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)
    ```
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    3440019 View commit details
    Browse the repository at this point in the history
  24. Rollup merge of rust-lang#94644 - m-ou-se:scoped-threads-drop-soundne…

    …ss, r=joshtriplett
    
    Fix soundness issue in scoped threads.
    
    This was discovered in rust-lang#94559 (comment)
    
    The `scope()` function returns when all threads are finished, but I accidentally considered a thread 'finished' before dropping their panic payload or ignored return value.
    
    So if a thread returned (or panics with) something that in its `Drop` implementation still uses borrowed stuff, it goes wrong.
    
    https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=2a1f19ac4676cdabe43e24e536ff9358
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    e3c33bb View commit details
    Browse the repository at this point in the history
  25. Rollup merge of rust-lang#94657 - fee1-dead:const_slice_index, r=oli-obk

    Constify `Index{,Mut}` for `[T]`, `str`, and `[T; N]`
    
    Several panic functions were rewired (via `const_eval_select`) to simpler implementations that do not require formatting for compile-time usage.
    
    r? ``@oli-obk``
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    30bb973 View commit details
    Browse the repository at this point in the history
  26. 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.
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    72d8cf1 View commit details
    Browse the repository at this point in the history
  27. 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````
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    fca8dba View commit details
    Browse the repository at this point in the history
  28. 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```
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    668c607 View commit details
    Browse the repository at this point in the history
  29. 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```
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    f2baf2f View commit details
    Browse the repository at this point in the history
  30. Rollup merge of rust-lang#94754 - c410-f3r:nice-error, r=lcnr

    Warn users about `||` in let chain expressions
    
    Or more specifically, warn that `||` operators are forbidden.
    
    This PR is simple so I guess anyone can review 🤷
    
    cc rust-lang#53667
    cc `@matthewjasper`
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    67fa033 View commit details
    Browse the repository at this point in the history
  31. 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````
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    1ccd44f View commit details
    Browse the repository at this point in the history
  32. Rollup merge of rust-lang#94768 - fortanix:raoul/fix_close_read_wakes…

    …_up_test_sgx_platform, r=dtolnay
    
    Ignore `close_read_wakes_up` test on SGX platform
    
    PR rust-lang#94714 enabled the `close_read_wakes_up` test for all platforms. This is incorrect. This test should be ignored at least for the SGX platform.
    
    cc: `@mzohreva` `@jethrogb`
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    f7b1fcf View commit details
    Browse the repository at this point in the history
  33. Rollup merge of rust-lang#94772 - Urgau:check-cfg-miri, r=petrochenkov

    Add miri to the well known conditional compilation names and values
    
    This pull request adds `miri` to the list of well known names and values of the conditional compilation checking (`--check-cfg`).
    
    This was brought up in [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/246057-t-cargo/topic/RFC.203013.3A.20Checking.20conditional.20compilation.20at.20compile.20time/near/274513827) when discussing about the future of `--check-cfg`.
    
    r? `@petrochenkov`
    Dylan-DPC authored Mar 9, 2022
    Configuration menu
    Copy the full SHA
    3257f81 View commit details
    Browse the repository at this point in the history