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 9 pull requests #72747

Merged
merged 35 commits into from
May 29, 2020
Merged

Rollup of 9 pull requests #72747

merged 35 commits into from
May 29, 2020

Commits on May 21, 2020

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

Commits on May 22, 2020

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

Commits on May 25, 2020

  1. Configuration menu
    Copy the full SHA
    68bab3e View commit details
    Browse the repository at this point in the history
  2. Fix typo in src/libcore/num/f32.rs

    Co-authored-by: bluss <bluss@users.noreply.github.com>
    golddranks and bluss authored May 25, 2020
    Configuration menu
    Copy the full SHA
    b6eec22 View commit details
    Browse the repository at this point in the history
  3. Fix typo in src/libcore/num/f32.rs

    Co-authored-by: bluss <bluss@users.noreply.github.com>
    golddranks and bluss authored May 25, 2020
    Configuration menu
    Copy the full SHA
    d6650e0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bd68de8 View commit details
    Browse the repository at this point in the history
  5. Add bit twiddling

    golddranks committed May 25, 2020
    Configuration menu
    Copy the full SHA
    6973fd7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8bc31ff View commit details
    Browse the repository at this point in the history
  7. Rename upvar_list to closure_captures

    As part of supporting RFC 2229, we will be capturing all the places that
    are mentioned in a closure. Currently the upvar_list field gives access
    to a FxIndexMap<HirId, Upvar> map. Eventually this will change, with the
    upvar_list having a more general structure that expresses captured
    paths, not just the mentioned upvars. We will make those changes in
    subsequent PRs.
    
    This commit modifies the name of the upvar_list map to closure_captures
    in TypeckTables.
    
    Co-authored-by: Dhruv Jauhar <dhruvjhr@gmail.com>
    Co-authored-by: Aman Arora <me@aman-arora.com>
    3 people committed May 25, 2020
    Configuration menu
    Copy the full SHA
    c3dc8c4 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2020

  1. Configuration menu
    Copy the full SHA
    66da735 View commit details
    Browse the repository at this point in the history
  2. Add test for rust-lang#56445

    JohnTitor committed May 26, 2020
    Configuration menu
    Copy the full SHA
    ca722b9 View commit details
    Browse the repository at this point in the history
  3. Add test for rust-lang#68532

    JohnTitor committed May 26, 2020
    Configuration menu
    Copy the full SHA
    125f0ab View commit details
    Browse the repository at this point in the history
  4. Add test for rust-lang#70121

    JohnTitor committed May 26, 2020
    Configuration menu
    Copy the full SHA
    4b87f97 View commit details
    Browse the repository at this point in the history
  5. Add test for rust-lang#71042

    JohnTitor committed May 26, 2020
    Configuration menu
    Copy the full SHA
    6315d0c View commit details
    Browse the repository at this point in the history
  6. Simplify suggestion

    stanislav-tkach committed May 26, 2020
    Configuration menu
    Copy the full SHA
    6ddbef1 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2020

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

Commits on May 28, 2020

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

Commits on May 29, 2020

  1. SocketAddr(V4|V6)?::Display now correctly pads its content

    IpAddr and friends pad when displaying; SocketAddr now does this as well
    Lucretiel committed May 29, 2020
    Configuration menu
    Copy the full SHA
    813ce7a View commit details
    Browse the repository at this point in the history
  2. Added fast-path, tests

    Lucretiel committed May 29, 2020
    Configuration menu
    Copy the full SHA
    defbd84 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    06a97a0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    12c03db View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3f13d97 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b3342b4 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7c63014 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    74fcbfb View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4dc5661 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#72310 - jyn514:peekable-next-if, r=dtolnay

    Add Peekable::next_if
    
    Prior art:
    
    `rust_analyzer` uses [`Parser::eat`](https://github.com/rust-analyzer/rust-analyzer/blob/50f4ae798b7c54d417ee88455b87fd0477473150/crates/ra_parser/src/parser.rs#L94), which is `next_if` specialized to `|y| self.next_if(|x| x == y)`.
    
    Basically every other parser I've run into in Rust has an equivalent of `Parser::eat`; see for example
    
    - [cranelift](https://github.com/bytecodealliance/wasmtime/blob/94190d57244b26baf36629c88104b0ba516510cf/cranelift/reader/src/parser.rs#L498)
    - [rcc](https://github.com/jyn514/rcc/blob/a8159c3904a0c950fbba817bf9109023fad69033/src/parse/mod.rs#L231)
    - [crunch](https://github.com/Kixiron/crunch-lang/blob/8521874fab8a7d62bfa7dea8bd1da94b63e31be8/crates/crunch-parser/src/parser/mod.rs#L213-L241)
    
    Possible extensions: A specialization of `next_if` to using `Eq::eq`. The only difficulty here is the naming - maybe `next_if_eq`?
    
    Alternatives:
    - Instead of `func: impl FnOnce(&I::Item) -> bool`, use `func: impl FnOnce(I::Item) -> Option<I::Item>`. This has the advantage that `func` can move the value if necessary, but means that there is no guarantee `func` will return the same value it was given.
    - Instead of `fn next_if(...) -> Option<I::Item>`, use `fn next_if(...) -> bool`. This makes the common case of `iter.next_if(f).is_some()` easier, but makes the unusual case impossible.
    
    Bikeshedding on naming:
    - `next_if` could be renamed to `consume_if` (to match `eat`, but a little more formally)
    - `next_if_eq` could be renamed to `consume`. This is more concise but less self-explanatory if you haven't written a lot of parsers.
    - Both of the above, but with `consume` replaced by `eat`.
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    cbcc4c4 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#72383 - DarkEld3r:issue-72322, r=matthewjasper

    Suggest using std::mem::drop function instead of explicit destructor call
    
    I would prefer to give a better suggestion that includes code example, but I'm currently stuck on getting the correct span for that.
    
    Closes rust-lang#72322.
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    9c1f203 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#72398 - Lucretiel:ip-socket-display, r=Mark…

    …-Simulacrum
    
    SocketAddr and friends now correctly pad its content
    
    Currently, `IpAddr` and friends correctly respect formatting parameters when printing via `Display`. This PR makes SocketAddr and friends do the same thing.
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    8bce240 View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#72465 - tmiasko:liveness-upvars, r=nikomats…

    …akis
    
    Warn about unused captured variables
    
    Include captured variables in liveness analysis. Warn when captured variables
    are unused (but possibly read or written to). Warn about dead assignments to
    captured variables.
    
    Fixes rust-lang#37707.
    Fixes rust-lang#47128.
    Fixes rust-lang#63220.
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    9ef6227 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#72568 - golddranks:add_total_cmp_to_floats,…

    … r=sfackler
    
    Implement total_cmp for f32, f64
    
    # Overview
    * Implements method `total_cmp` on `f32` and `f64`. This method implements a float comparison that, unlike the standard `partial_cmp`, is total (defined on all values) in accordance to the IEEE 754 (rev 2008) §5.10 `totalOrder` predicate.
    * The method has an API similar to `cmp`: `pub fn total_cmp(&self, other: &Self) -> crate::cmp::Ordering { ... }`.
    * Implements tests.
    * Has documentation.
    
    # Justification for the API
    * Total ordering for `f32` and `f64` has been discussed many time before:
      * https://internals.rust-lang.org/t/pre-pre-rfc-range-restricting-wrappers-for-floating-point-types/6701
      * rust-lang/rfcs#1249
      * rust-lang#53938
      * rust-lang#5585
    * The lack of total ordering leads to frequent complaints, especially from people new to Rust.
      * This is an ergonomics issue that needs to be addressed.
      * However, the default behaviour of implementing only `PartialOrd` is intentional, as relaxing it might lead to correctness issues.
    * Most earlier implementations and discussions have been focusing on a wrapper type that implements trait `Ord`. Such a wrapper type is, however not easy to add because of the large API surface added.
    * As a minimal step that hopefully proves uncontroversial, we can implement a stand-alone method `total_cmp` on floating point types.
      * I expect adding such methods should be uncontroversial because...
        * Similar methods on `f32` and `f64` would be warranted even in case stdlib would provide a wrapper type that implements `Ord` some day.
        * It implements functionality that is standardised. (IEEE 754, 2008 rev. §5.10 Note, that the 2019 revision relaxes the ordering. The way we do ordering in this method conforms to the stricter 2008 standard.)
    * With stdlib APIs such as `slice::sort_by` and `slice::binary_search_by` that allow users to provide a custom ordering criterion, providing additional helper methods is a minimal way of adding ordering functionality.
      * Not also does it allow easily using aforementioned APIs, it also provides an easy and well-tested primitive for the users and library authors to implement an `Ord`-implementing wrapper, if needed.
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    c09f0eb View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#72572 - JohnTitor:add-tests, r=matthewjasper

    Add some regression tests
    
    Closes rust-lang#68532
    Closes rust-lang#70121
    Closes rust-lang#71042
    CC rust-lang#56445
    
    r? @matthewjasper since they (except for rust-lang#71042) are related to rust-lang#72362.
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    89cb4d7 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#72591 - sexxi-goose:rename_upvar_list-to-cl…

    …osure_captures, r=matthewjasper
    
    librustc_middle: Rename upvar_list to closure_captures
    
    As part of supporting RFC 2229, we will be capturing all the places that
    are mentioned in a closure. Currently the `upvar_list` field gives access to a `FxIndexMap<HirId, Upvar>` map. Eventually this will change, with the `upvar_list` having a more general structure that expresses captured paths, not just the mentioned `upvars`. We will make those changes in subsequent PRs.
    
    This commit modifies the name of the `upvar_list` map to `closure_captures` in `TypeckTables`.
    
    r? @matthewjasper
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    ed80e8e View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#72701 - pickfire:patch-1, r=Mark-Simulacrum

    Fix grammar in liballoc raw_vec
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    510793b View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#72731 - GuillaumeGomez:cleanup-e0619, r=Dyl…

    …an-DPC
    
    Add missing empty line in E0619 explanation
    
    r? @Dylan-DPC
    Dylan-DPC authored May 29, 2020
    Configuration menu
    Copy the full SHA
    180a92c View commit details
    Browse the repository at this point in the history