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 7 pull requests #68225

Closed
wants to merge 30 commits into from

Commits on Jan 1, 2020

  1. Reset Formatter flags on exit from pad_integral

    This fixes a bug where after calling pad_integral with appropriate flags, the
    fill and alignment flags would be set to '0' and 'Right' and left as such even
    after exiting pad_integral, which meant that future calls on the same Formatter
    would get incorrect flags reported.
    
    This is quite difficult to observe in practice, as almost all formatting
    implementations in practice don't call `Display::fmt` directly, but rather use
    `write!` or a similar macro, which means that they cannot observe the effects of
    the wrong flags (as `write!` creates a fresh Formatter instance). However, we
    include a test case.
    Mark-Simulacrum committed Jan 1, 2020
    Configuration menu
    Copy the full SHA
    73996df View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2020

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

Commits on Jan 12, 2020

  1. Address review comments.

    crlf0710 committed Jan 12, 2020
    Configuration menu
    Copy the full SHA
    091ba6d View commit details
    Browse the repository at this point in the history
  2. Address review comments.

    crlf0710 committed Jan 12, 2020
    Configuration menu
    Copy the full SHA
    d2c509a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0810210 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8461fa5 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e842489 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3de9b8a View commit details
    Browse the repository at this point in the history
  7. Appease tidy

    varkor committed Jan 12, 2020
    Configuration menu
    Copy the full SHA
    117443e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1faa05d View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2020

  1. Don't run const propagation on items with inconsistent bounds

    Using `#![feature(trivial_bounds)]`, it's possible to write functions
    with unsatisfiable 'where' clauses, making them uncallable. However, the
    user can act as if these 'where' clauses are true inside the body of the
    function, leading to code that would normally be impossible to write.
    
    Since const propgation can run even without any user-written calls to a
    function, we need to explcitly check for these uncallable functions.
    Aaron1011 committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    5896998 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e1fc22c View commit details
    Browse the repository at this point in the history
  3. Fix typo

    Aaron1011 committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    92d86cc View commit details
    Browse the repository at this point in the history
  4. Convert test to check-pass

    Aaron1011 committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    7df8ca2 View commit details
    Browse the repository at this point in the history
  5. Add "--emit=link"

    This avoids a strange linker error that we get with only "--emit=mir"
    and "check-pass"
    Aaron1011 committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    6a0bb18 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e390b91 View commit details
    Browse the repository at this point in the history
  7. perf: eagerly convert literals to consts, this avoids creating loads …

    …on unevaluated consts
    
    which requires a lot of unnecessary work to evaluate them further down the line.
    skinnyBat committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    a6c4025 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    02fffc1 View commit details
    Browse the repository at this point in the history
  9. Update some of Cargo's dependencies

    This is primarily updating the `curl` dependency, but also went ahead
    and applied a few updates for other packages that Cargo depends on.
    alexcrichton committed Jan 13, 2020
    Configuration menu
    Copy the full SHA
    2e052ee View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2020

  1. Configuration menu
    Copy the full SHA
    72710d6 View commit details
    Browse the repository at this point in the history
  2. Normalize symbol hash in ui test for legacy symbol mangling, as it's …

    …dependent on the
    
    number of bits within consts.
    skinnyBat committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    30dba97 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    06b9a73 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    583a4fc View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#66329 - ktrianta:mir-opt-unreachable-propag…

    …ation, r=oli-obk
    
    Add unreachable propagation mir optimization pass
    
    @oli-obk suggested we create a MIR pass that optimizes away basic blocks that lead only to basic blocks with terminator kind **unreachable**. This is a first take on this, which we started with @gilescope at RustFest Impl Days.
    
    The test currently fails when the compiled program runs (undefined behaviour). Is there a way to avoid running the compiled program?
    Dylan-DPC committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    d0d3245 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#67784 - Mark-Simulacrum:residual-pad-integr…

    …al, r=dtolnay
    
    Reset Formatter flags on exit from pad_integral
    
    This fixes a bug where after calling pad_integral with appropriate flags, the
    fill and alignment flags would be set to '0' and 'Right' and left as such even
    after exiting pad_integral, which meant that future calls on the same Formatter
    would get incorrect flags reported.
    
    This is quite difficult to observe in practice, as almost all formatting
    implementations in practice don't call `Display::fmt` directly, but rather use
    `write!` or a similar macro, which means that they cannot observe the effects of
    the wrong flags (as `write!` creates a fresh Formatter instance). However, we
    include a test case.
    
    A manual check leads me to believe this is the only case where we failed to reset the flags appropriately, but I could have missed something.
    Dylan-DPC committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    07408bb View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#67914 - Aaron1011:fix/const-prop-impossible…

    …, r=matthewjasper,oli-obk
    
    Don't run const propagation on items with inconsistent bounds
    
    Fixes rust-lang#67696
    
    Using `#![feature(trivial_bounds)]`, it's possible to write functions
    with unsatisfiable 'where' clauses, making them uncallable. However, the
    user can act as if these 'where' clauses are true inside the body of the
    function, leading to code that would normally be impossible to write.
    
    Since const propgation can run even without any user-written calls to a
    function, we need to explcitly check for these uncallable functions.
    Dylan-DPC committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    124a884 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#68012 - alexcrichton:update-some-deps, r=Ma…

    …rk-Simulacrum
    
    Update some of Cargo's dependencies
    
    This is primarily updating the `curl` dependency, but also went ahead
    and applied a few updates for other packages that Cargo depends on.
    Dylan-DPC committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    9b84f0d View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#68096 - varkor:diagnostic-cleanup, r=Centril

    Clean up some diagnostics by making them more consistent
    
    In general:
    
    - Diagnostic should start with a lowercase letter.
    - Diagnostics should not end with a full stop.
    - Ellipses contain three dots.
    - Backticks should encode Rust code.
    
    I also reworded a couple of messages to make them read more clearly.
    
    It might be sensible to create a style guide for diagnostics, so these informal conventions are written down somewhere, after which we could audit the existing diagnostics.
    
    r? @Centril
    Dylan-DPC committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    df00d40 View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#68118 - skinny121:eager_lit_eval, r=varkor

    perf: Eagerly convert literals to consts
    
    Previousely even literal constants were being converted to an `Unevaluted` constant for evaluation later. This seems unecessary as no more information is needed to be able to convert the literal to a mir constant.
    
    Hopefully this will also minimise the performance impact of rust-lang#67717, as far less constant evaluations are needed.
    Dylan-DPC committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    3681428 View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#68123 - crlf0710:linked_list_cursor, r=Amanieu

    Implement Cursor for linked lists. (RFC 2570).
    
    cc. rust-lang#58533 cc. @Gankra
    
    r? @Amanieu
    Dylan-DPC committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    e083990 View commit details
    Browse the repository at this point in the history