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 15 pull requests #78870

Closed
wants to merge 49 commits into from

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 6, 2020

  1. Configuration menu
    Copy the full SHA
    c027844 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    83d294f View commit details
    Browse the repository at this point in the history
  3. Remove incorrect plural

    eopb committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    8eaf0de View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1e7e2e4 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2020

  1. Add comment to helper function

    eopb committed Oct 7, 2020
    Configuration menu
    Copy the full SHA
    f233abb 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 26, 2020

  1. Fix spelling eror

    Co-authored-by: Ashley Mannix <kodraus@hey.com>
    eopb and KodrAus committed Oct 26, 2020
    Configuration menu
    Copy the full SHA
    199c361 View commit details
    Browse the repository at this point in the history
  2. Small reword

    Co-authored-by: Ashley Mannix <kodraus@hey.com>
    eopb and KodrAus committed Oct 26, 2020
    Configuration menu
    Copy the full SHA
    69c301f View commit details
    Browse the repository at this point in the history
  3. asci -> ASCII

    Co-authored-by: Ashley Mannix <kodraus@hey.com>
    eopb and KodrAus committed Oct 26, 2020
    Configuration menu
    Copy the full SHA
    75e6dee View commit details
    Browse the repository at this point in the history
  4. Apply suggested changes

    eopb committed Oct 26, 2020
    Configuration menu
    Copy the full SHA
    ad2d93d View commit details
    Browse the repository at this point in the history
  5. Fix typo

    eopb committed Oct 26, 2020
    Configuration menu
    Copy the full SHA
    e750238 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 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

Commits on Nov 5, 2020

  1. Configuration menu
    Copy the full SHA
    54a0a98 View commit details
    Browse the repository at this point in the history
  2. doc/rustc: promote aarch64-unknown-linux-gnu to tier 1

    This also adds a note about missing stack probes support, per the
    discussion on RFC 2959.
    pietroalbini committed Nov 5, 2020
    Configuration menu
    Copy the full SHA
    1274fae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    874cbb8 View commit details
    Browse the repository at this point in the history
  4. 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
  5. 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
  6. Configuration menu
    Copy the full SHA
    dd68d0b View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2020

  1. 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

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. Fix handling of item names for HIR

    - Handle variants, fields, macros in `Node::ident()`
    - Handle the crate root in `opt_item_name`
    - Factor out `item_name_from_def_id` to reduce duplication
    - Look at HIR before the DefId for `opt_item_name`
    
      This gives accurate spans, which are not available from serialized
      metadata.
    
    - Don't panic on the crate root in `opt_item_name`
    - Add comments
    jyn514 committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    67d0db6 View commit details
    Browse the repository at this point in the history
  4. Remove unused from_hir call

    jyn514 committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    f60fd49 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2020

  1. 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`````
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    548e1b9 View commit details
    Browse the repository at this point in the history
  2. 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.
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    e22a27f View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#77640 - ethanboxx:int_error_matching_attemp…

    …t_2, r=KodrAus
    
    Refactor IntErrorKind to avoid "underflow" terminology
    
    This PR is a continuation of rust-lang#76455
    
    # Changes
    
    - `Overflow` renamed to `PosOverflow` and `Underflow` renamed to `NegOverflow` after discussion in rust-lang#76455
    - Changed some of the parsing code to return `InvalidDigit` rather than `Empty` for strings "+" and "-". https://users.rust-lang.org/t/misleading-error-in-str-parse-for-int-types/49178
    - Carry the problem `char` with the `InvalidDigit` variant.
    - Necessary changes were made to the compiler as it depends on `int_error_matching`.
    - Redid tests to match on specific errors.
    
    r? `@KodrAus`
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    a4d5d39 View commit details
    Browse the repository at this point in the history
  4. 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
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    3187ff7 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#78065 - tshepang:nits, r=dtolnay

    make concurrency helper more pleasant to read
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    74ff00d View commit details
    Browse the repository at this point in the history
  6. 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.
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    e06e5c2 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#78228 - pietroalbini:finally, r=Mark-Simula…

    …crum
    
    Promote aarch64-unknown-linux-gnu to Tier 1
    
    This PR promotes the `aarch64-unknown-linux-gnu` target to Tier 1, as proposed by [RFC 2959]:
    
    * The `aarch64-gnu` CI job is moved from `auto-fallible` to `auto`.
    * The platform support documentation is updated, uplifting the target to Tiert 1 with a note about missing stack probes support.
    * Building the documentation is enabled for the target, as we produce the `rust-docs` component for all Tier 1 platforms.
    
    [RFC 2959]: rust-lang/rfcs#2959
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    5238cca View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#78345 - jyn514:proper-names, r=varkor

    Fix handling of item names for HIR
    
    - Handle variants, fields, macros in `Node::ident()`
    - Handle the crate root in `opt_item_name`
    - Rewrite `item_name` in terms of `opt_item_name`
    
    I need this for both rust-lang#77820 and rust-lang#78082, so splitting it out into a separate PR so it can land early.
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    fabf1d7 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``````
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    ed10eba 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``````
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    f53b71c 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.
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    e53a521 View commit details
    Browse the repository at this point in the history
  12. 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.
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    c02d52b View commit details
    Browse the repository at this point in the history
  13. 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.
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    4dbbc3c View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#78790 - Gankra:rust-src-vendor, r=Mark-Simu…

    …lacrum
    
    Vendor libtest's dependencies in the rust-src component
    
    This is the Rust side of rust-lang/wg-cargo-std-aware#23
    
    Note that this won't produce a useful result for `cargo -Zbuild-std` if there are multiple versions of a crate vendored, but will otherwise produce a valid vendor dir.
    
    See rust-lang/cargo#8834 for the other half of this change.
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    c713b73 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#78828 - matthiaskrgr:sing_chr, r=lcnr

    use single char patterns for split() (clippy::single_char_pattern)
    Dylan-DPC committed Nov 8, 2020
    Configuration menu
    Copy the full SHA
    2959ceb View commit details
    Browse the repository at this point in the history