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

Closed
wants to merge 42 commits into from
Closed

Commits on Sep 2, 2020

  1. Stabilize Poll::is_ready and is_pending as const

    Insta-stabilize the methods `is_ready` and `is_pending` of `Poll`.
    
    Possible because of the recent stabilization of const control flow.
    
    Also adds a test for these methods in a const context.
    CDirkx committed Sep 2, 2020
    Configuration menu
    Copy the full SHA
    9412a89 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2020

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

Commits on Oct 16, 2020

  1. Define fs::hard_link to not follow symlinks.

    POSIX leaves it implementation-defined whether `link` follows symlinks.
    In practice, for example, on Linux it does not and on FreeBSD it does.
    So, switch to `linkat`, so that we can pick a behavior rather than
    depending on OS defaults.
    
    Pick the option to not follow symlinks. This is somewhat arbitrary, but
    seems the less surprising choice because hard linking is a very
    low-level feature which requires the source and destination to be on
    the same mounted filesystem, and following a symbolic link could end
    up in a different mounted filesystem.
    sunfishcode committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    91a9f83 View commit details
    Browse the repository at this point in the history
  2. Bump version to 1.49.0

    Due to the recent release of 1.47.0, this PR will be stabilized in 1.49.0 instead of 1.48.0.
    CDirkx committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    5e80c65 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2020

  1. Fix a typo in a comment.

    sunfishcode committed Oct 18, 2020
    Configuration menu
    Copy the full SHA
    23a5c21 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce00b3e View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2020

  1. Configuration menu
    Copy the full SHA
    628fb9f View commit details
    Browse the repository at this point in the history
  2. Make it platform-specific whether hard_link follows symlinks.

    Also mention that where possible, `hard_link` does not follow symlinks.
    sunfishcode committed Oct 21, 2020
    Configuration menu
    Copy the full SHA
    d0178b4 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2020

  1. Disable use of linkat on Android as well.

    According to [the bionic status page], `linkat` has only been available
    since API level 21. Since Android is based on Linux and Linux's `link`
    doesn't follow symlinks, just use `link` on Android.
    
    [the bionic status page]: https://android.googlesource.com/platform/bionic/+/master/docs/status.md
    sunfishcode committed Oct 24, 2020
    Configuration menu
    Copy the full SHA
    6249cda View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2020

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

Commits on Oct 28, 2020

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

Commits on Oct 30, 2020

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

Commits on Nov 3, 2020

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

Commits on Nov 4, 2020

  1. Add a tool to run x.py from any subdirectory

    This adds a binary called `x` in `src/tools/x`. All it does is check the
    current directory and its ancestors for a file called `x.py`, and if it
    finds one, runs it.
    
    By installing x, you can easily `x.py` from any subdirectory.
    
    It can be installed globally with `cargo install --path src/tools/x`
    casey committed Nov 4, 2020
    3 Configuration menu
    Copy the full SHA
    5fc22f1 View commit details
    Browse the repository at this point in the history
  2. Constantify UnsafeCell::into_inner and related

    Also includes:
    - Cell::into_inner
    - RefCell::into_inner
    - Atomic*::into_inner
    a1phyr committed Nov 4, 2020
    Configuration menu
    Copy the full SHA
    9a12d72 View commit details
    Browse the repository at this point in the history
  3. Add tracking issue

    a1phyr committed Nov 4, 2020
    Configuration menu
    Copy the full SHA
    795bbfe View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2020

  1. Recognize private_intra_doc_links as a lint

    Previously, trying to allow this would give another error!
    
    ```
    warning: unknown lint: `private_intra_doc_links`
     --> private.rs:1:10
      |
    1 | #![allow(private_intra_doc_links)]
      |          ^^^^^^^^^^^^^^^^^^^^^^^ help: did you mean: `broken_intra_doc_links`
      |
      = note: `#[warn(unknown_lints)]` on by default
    
    warning: public documentation for `DocMe` links to private item `DontDocMe`
     --> private.rs:2:11
      |
    2 | /// docs [DontDocMe]
      |           ^^^^^^^^^ this item is private
      |
      = note: `#[warn(private_intra_doc_links)]` on by default
      = note: this link will resolve properly if you pass `--document-private-items`
    ```
    jyn514 committed Nov 5, 2020
    Configuration menu
    Copy the full SHA
    eed0ceb View commit details
    Browse the repository at this point in the history
  2. Add PRIVATE_INTRA_DOC_LINKS to rustdoc special-casing

    This is really starting to get out of hand. Rustdoc should instead allow
    all lints in the rustdoc lint group.
    jyn514 committed Nov 5, 2020
    Configuration menu
    Copy the full SHA
    47b21b8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8078474 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2020

  1. Configuration menu
    Copy the full SHA
    3bee37c View commit details
    Browse the repository at this point in the history
  2. Stabilize hint::spin_loop

    Partially fix rust-lang#55002, deprecate in another release
    
    Co-authored-by: Ashley Mannix <kodraus@hey.com>
    
    Update stable version for stabilize_spin_loop
    
    Co-authored-by: Joshua Nelson <joshua@yottadb.com>
    
    Use better example for spinlock
    
    As suggested by KodrAus
    
    Remove renamed_spin_loop already available in master
    
    Fix spin loop example
    pickfire committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    e8b5be5 View commit details
    Browse the repository at this point in the history
  3. Make some std::io functions const

    Includes:
    - io::Cursor::new
    - io::Cursor::get_ref
    - io::Cursor::position
    - io::empty
    - io::repeat
    - io::sink
    a1phyr committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    ae059b5 View commit details
    Browse the repository at this point in the history
  4. Add tracking issue

    a1phyr committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    001dd7e View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2020

  1. Configuration menu
    Copy the full SHA
    020ed65 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c8d25f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    087a934 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#76097 - pickfire:stabilize-spin-loop, r=Kod…

    …rAus
    
    Stabilize hint::spin_loop
    
    Partially fix rust-lang#55002, deprecate in another release
    
    r? ```@KodrAus```
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    ebe0a23 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#76227 - CDirkx:const-poll, r=KodrAus

    Stabilize `Poll::is_ready` and `is_pending` as const
    
    Insta-stabilize the methods `is_ready` and `is_pending` of `std::task::Poll` as const, in the same way as [PR#76198](rust-lang#76198).
    
    Possible because of the recent stabilization of const control flow.
    
    Part of rust-lang#76225.
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    7b2754e View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#78026 - sunfishcode:symlink-hard-link, r=dt…

    …olnay
    
    Define `fs::hard_link` to not follow symlinks.
    
    POSIX leaves it [implementation-defined] whether `link` follows symlinks.
    In practice, for example, on Linux it does not and on FreeBSD it does.
    So, switch to `linkat`, so that we can pick a behavior rather than
    depending on OS defaults.
    
    Pick the option to not follow symlinks. This is somewhat arbitrary, but
    seems the less surprising choice because hard linking is a very
    low-level feature which requires the source and destination to be on
    the same mounted filesystem, and following a symbolic link could end
    up in a different mounted filesystem.
    
    [implementation-defined]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    ee826d9 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#78065 - tshepang:nits, r=dtolnay

    make concurrency helper more pleasant to read
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    62209ee View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#78114 - jyn514:private, r=oli-obk

    Recognize `private_intra_doc_links` as a lint
    
    Previously, trying to allow this would give another error!
    
    ```
    warning: unknown lint: `private_intra_doc_links`
     --> private.rs:1:10
      |
    1 | #![allow(private_intra_doc_links)]
      |          ^^^^^^^^^^^^^^^^^^^^^^^ help: did you mean: `broken_intra_doc_links`
      |
      = note: `#[warn(unknown_lints)]` on by default
    
    warning: public documentation for `DocMe` links to private item `DontDocMe`
     --> private.rs:2:11
      |
    2 | /// docs [DontDocMe]
      |           ^^^^^^^^^ this item is private
      |
      = note: `#[warn(private_intra_doc_links)]` on by default
      = note: this link will resolve properly if you pass `--document-private-items`
    ```
    
    Fixes the issue found in rust-lang#77249 (comment).
    
    r? ````@Manishearth````
    
    Does anyone know why this additional step is necessary? It seems weird this has to be declared in 3 different places.
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    9dc4b34 View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#78437 - ssomers:btree_no_ord_at_node_level,…

    … r=Mark-Simulacrum
    
    BTreeMap: stop mistaking node for an orderly place
    
    A second mistake in rust-lang#77612 was to ignore the node module's rightful comment "this module doesn't care whether the entries are sorted". And there's a much simpler way to visit the keys in order, if you check this separately from a single pass checking everything.
    
    r? ````@Mark-Simulacrum````
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    51e92af View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#78476 - RalfJung:btree-alias, r=Mark-Simula…

    …crum
    
    fix some incorrect aliasing in the BTree
    
    This line is wrong:
    ```
    ptr::copy(slice.as_ptr().add(idx), slice.as_mut_ptr().add(idx + 1), slice.len() - idx);
    ```
    When `slice.as_mut_ptr()` is called, that creates a mutable reference to the entire slice, which invalidates the raw pointer previously returned by `slice.as_ptr()`. (Miri currently misses this because raw pointers are not tracked properly.)
    
    Cc ````@ssomers````
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    b30dff3 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#78570 - sasurau4:test/check-pass-print-type…

    …-size, r=jyn514
    
    Remove FIXME comment in print_type_sizes ui test suite
    
    ## Overview
    Helps with rust-lang#62277
    
    > The type sizes are likely only printed when the actual layout is computed. For generic types, this only happens during codegen.
    
    ref: https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Codegen.20process.20question/near/215836807
    
    Some tests like `multiple_types.rs` are passed even if using `check-pass`. But tests should be agnostic to when the actual layout is computed. The `build-pass` is intentionally used for them. I remove FIXME comments.
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    c78a951 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#78572 - de-vri-es:bsd-cloexec, r=m-ou-se

    Use SOCK_CLOEXEC and accept4() on more platforms.
    
    This PR enables the use of `SOCK_CLOEXEC` and `accept4` on more platforms.
    
    -----
    
    Android uses the linux kernel, so it should also support it.
    
    DragonflyBSD introduced them in 4.4 (December 2015):
    https://www.dragonflybsd.org/release44/
    
    FreeBSD introduced them in 10.0 (January 2014):
    https://wiki.freebsd.org/AtomicCloseOnExec
    
    Illumos introduced them in a commit in April 2013, not sure when it was released. It is quite possible that is has always been in Illumos:
    illumos/illumos-gate@5dbfd19
    https://illumos.org/man/3socket/socket
    https://illumos.org/man/3socket/accept4
    
    NetBSD introduced them in 6.0 (Oktober 2012) and 8.0 (July 2018):
    https://man.netbsd.org/NetBSD-6.0/socket.2
    https://man.netbsd.org/NetBSD-8.0/accept.2
    
    OpenBSD introduced them in 5.7 (May 2015):
    https://man.openbsd.org/socket https://man.openbsd.org/accept
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    f0e94f3 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#78658 - casey:x, r=Mark-Simulacrum

    Add a tool to run `x.py` from any subdirectory
    
    This adds a binary called `x` in `src/tools/x`. All it does is check the current directory and its ancestors for a file called `x.py`, and if it finds one, runs it.
    
    By installing x, you can easily run `x.py` from any subdirectory, and only need to type `x`.
    
    It can be installed with `cargo install --path src/tools/x`
    
    This is a copy of a [binary I've been using myself when working on rust](https://github.com/casey/bootstrap), currently published to crates.io as `bootstrap`.
    
    It could be changed to avoid indirecting through `x.py`, and instead call the bootstrap module directly. However, this seemed like the simplest thing possible, and won't break if the details of how the bootstrap module is invoked change.
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    40f45a2 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#78706 - bjorn3:fix_run_make_without_llvm, r…

    …=Mark-Simulacrum
    
    Fix run-make tests running when LLVM is disabled
    
    The `--cc`, `--cxx`, `--cflags` and `--ar` flags were only passed to compiletest when `builder.config.llvm_enabled()` returned true. This is preventing me from running the tests on cg_clif.
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    f8b2545 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#78728 - a1phyr:const_cell_into_inner, r=dto…

    …lnay
    
    Constantify `UnsafeCell::into_inner` and related
    
    Tracking issue: rust-lang#78729
    
    This PR constantifies:
    - `UnsafeCell::into_inner`
    - `Cell::into_inner`
    - `RefCell::into_inner`
    - `Atomic*::into_inner`
    
    r? ```@dtolnay```
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    331b7fb View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#78788 - jhpratt:isize-impl-fix, r=m-ou-se

    Correct unsigned equivalent of isize to be usize
    
    See [rust-lang#74913 (comment)](rust-lang#74913 (comment)) for why this matters. Apparently it hasn't been used anywhere else, though CI will tell for sure.
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    3bae91b View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#78811 - a1phyr:const_io_structs, r=dtolnay

    Make some std::io functions `const`
    
    Tracking issue: rust-lang#78812
    
    Make the following functions `const`:
    - `io::Cursor::new`
    - `io::Cursor::get_ref`
    - `io::Cursor::position`
    - `io::empty`
    - `io::repeat`
    - `io::sink`
    
    r? ```@dtolnay```
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    14fdc52 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#78828 - matthiaskrgr:sing_chr, r=lcnr

    use single char patterns for split() (clippy::single_char_pattern)
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    66253cd View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#78841 - LeSeulArtichaut:foldable-derive, r=…

    …lcnr
    
    Small cleanup in `TypeFoldable` derive macro
    
    r? `@lcnr`
    m-ou-se committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    33bc375 View commit details
    Browse the repository at this point in the history