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

Closed
wants to merge 51 commits into from
Closed

Commits on May 11, 2020

  1. borrowck DefId -> LocalDefId

    lcnr committed May 11, 2020
    Configuration menu
    Copy the full SHA
    3f661d2 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2020

  1. impl From<[T; N]> for Box<[T]>

    pickfire committed May 20, 2020
    Configuration menu
    Copy the full SHA
    a8ed9aa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eccaa01 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    96a466c View commit details
    Browse the repository at this point in the history

Commits on May 23, 2020

  1. Configuration menu
    Copy the full SHA
    4418145 View commit details
    Browse the repository at this point in the history
  2. Add ClashingExternDecl lint.

    This lint checks that all declarations for extern fns of the same name
    are declared with the same types.
    jumbatm committed May 23, 2020
    Configuration menu
    Copy the full SHA
    6224ba0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    eec2bcf View commit details
    Browse the repository at this point in the history
  4. Update existing test cases.

    - Allow ClashingExternDecl for lint-dead-code-3
    - Update test case for rust-lang#5791
    - Update test case for rust-lang#1866
    - Update extern-abi-from-macro test case
    jumbatm committed May 23, 2020
    Configuration menu
    Copy the full SHA
    763d38b View commit details
    Browse the repository at this point in the history

Commits on May 25, 2020

  1. librustc_mir: Add support for const fn offset/arith_offset

    Miri's pointer_offset_inbounds implementation has been moved into
    librustc_mir as ptr_offset_inbounds (to avoid breaking miri on a
    nightly update). The comments have been slightly reworked to better
    match `offset`'s external documentation about what causes UB.
    
    The intrinsic implementations are taken directly from miri.
    
    Signed-off-by: Joe Richey <joerichey@google.com>
    josephlr committed May 25, 2020
    Configuration menu
    Copy the full SHA
    08df311 View commit details
    Browse the repository at this point in the history
  2. core: Make pointer offset methods "const fn"

    Signed-off-by: Joe Richey <joerichey@google.com>
    josephlr committed May 25, 2020
    Configuration menu
    Copy the full SHA
    9b3dfd8 View commit details
    Browse the repository at this point in the history
  3. test/ui/consts: Add tests for const ptr offsets

    Signed-off-by: Joe Richey <joerichey@google.com>
    josephlr committed May 25, 2020
    Configuration menu
    Copy the full SHA
    88a37a2 View commit details
    Browse the repository at this point in the history
  4. miri_unleached: We now allow offset in const fn

    Signed-off-by: Joe Richey <joerichey@google.com>
    josephlr committed May 25, 2020
    Configuration menu
    Copy the full SHA
    6b20f58 View commit details
    Browse the repository at this point in the history
  5. librustc_mir: Add back use statement

    Signed-off-by: Joe Richey <joerichey@google.com>
    josephlr committed May 25, 2020
    Configuration menu
    Copy the full SHA
    55577b4 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2020

  1. librustc_middle: Add function for computing unsigned abs

    This is tricky to get right if we want to avoid panicking or wrapping.
    
    Signed-off-by: Joe Richey <joerichey@google.com>
    josephlr committed May 26, 2020
    Configuration menu
    Copy the full SHA
    6367b54 View commit details
    Browse the repository at this point in the history
  2. Add checks and tests for computing abs(offset_bytes)

    The previous code paniced if offset_bytes == i64::MIN. This commit:
      - Properly computes the absoulte value to avoid this panic
      - Adds a test for this edge case
    
    Signed-off-by: Joe Richey <joerichey@google.com>
    josephlr committed May 26, 2020
    Configuration menu
    Copy the full SHA
    71ef841 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2020

  1. Implement RFC 2585

    LeSeulArtichaut committed May 27, 2020
    Configuration menu
    Copy the full SHA
    a977df3 View commit details
    Browse the repository at this point in the history
  2. Add tests

    LeSeulArtichaut committed May 27, 2020
    Configuration menu
    Copy the full SHA
    594c499 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bb67915 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3ce9d5c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b3e012b View commit details
    Browse the repository at this point in the history
  6. Use the lowest of unsafe_op_in_unsafe_fn and safe_borrow_packed f…

    …or packed borrows in unsafe fns
    LeSeulArtichaut committed May 27, 2020
    Configuration menu
    Copy the full SHA
    a41f763 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a3bae5c View commit details
    Browse the repository at this point in the history
  8. Fix and bless tests

    LeSeulArtichaut committed May 27, 2020
    Configuration menu
    Copy the full SHA
    925d5ac View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9671b44 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3599ada View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    4a538d3 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    e3d27ec View commit details
    Browse the repository at this point in the history
  13. Fix import

    LeSeulArtichaut committed May 27, 2020
    Configuration menu
    Copy the full SHA
    1b08850 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    63066c0 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    db684be View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3fea832 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    5ba2220 View commit details
    Browse the repository at this point in the history
  18. Tweak output for mismatched impl item

    Detect type parameter that might require lifetime constraint.
    Do not name `ReVar`s in expected/found output.
    Reword text suggesting to check the lifetimes.
    estebank committed May 27, 2020
    Configuration menu
    Copy the full SHA
    eb0f4d5 View commit details
    Browse the repository at this point in the history
  19. review comments

    estebank committed May 27, 2020
    Configuration menu
    Copy the full SHA
    3811232 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    2e2f820 View commit details
    Browse the repository at this point in the history
  21. fix rebase

    estebank committed May 27, 2020
    Configuration menu
    Copy the full SHA
    d0d30b0 View commit details
    Browse the repository at this point in the history
  22. Modify wording

    estebank committed May 27, 2020
    Configuration menu
    Copy the full SHA
    2b35247 View commit details
    Browse the repository at this point in the history
  23. fix rebase

    estebank committed May 27, 2020
    Configuration menu
    Copy the full SHA
    500504c View commit details
    Browse the repository at this point in the history
  24. fix rebase

    estebank committed May 27, 2020
    Configuration menu
    Copy the full SHA
    c52dbbc View commit details
    Browse the repository at this point in the history

Commits on May 28, 2020

  1. Add additional checks for isize overflow

    We now perform the correct checks even if the pointer size differs
    between the host and target.
    
    Signed-off-by: Joe Richey <joerichey@google.com>
    josephlr committed May 28, 2020
    Configuration menu
    Copy the full SHA
    7d5415b View commit details
    Browse the repository at this point in the history
  2. Fix rebase

    estebank committed May 28, 2020
    Configuration menu
    Copy the full SHA
    cb6408a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f213acf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0e3b31c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1bd6970 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2020

  1. Rollup merge of rust-lang#67460 - estebank:named-lts, r=nikomatsakis

    Tweak impl signature mismatch errors involving `RegionKind::ReVar` lifetimes
    
    Fix rust-lang#66406, fix rust-lang#72106.
    
    ```
    error: `impl` item signature doesn't match `trait` item signature
      --> $DIR/trait-param-without-lifetime-constraint.rs:14:5
       |
    LL |     fn get_relation(&self) -> To;
       |     ----------------------------- expected `fn(&Article) -> &ProofReader`
    ...
    LL |     fn get_relation(&self) -> &ProofReader {
       |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found `fn(&Article) -> &ProofReader`
       |
       = note: expected `fn(&Article) -> &ProofReader`
                  found `fn(&Article) -> &ProofReader`
    help: the lifetime requirements from the `impl` do not correspond to the requirements in the `trait`
      --> $DIR/trait-param-without-lifetime-constraint.rs:10:31
       |
    LL |     fn get_relation(&self) -> To;
       |                               ^^ consider borrowing this type parameter in the trait
    ```
    
    r? @nikomatsakis
    RalfJung authored May 29, 2020
    Configuration menu
    Copy the full SHA
    240e6b9 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#70946 - jumbatm:clashing-extern-decl, r=nagisa

    Add a lint to catch clashing `extern` fn declarations.
    
    Closes rust-lang#69390.
    
    Adds lint `clashing_extern_decl` to detect when, within a single crate, an extern function of the same name is declared with different types. Because two symbols of the same name cannot be resolved to two different functions at link time, and one function cannot possibly have two types, a clashing extern declaration is almost certainly a mistake.
    
    This lint does not run between crates because a project may have dependencies which both rely on the same extern function, but declare it in a different (but valid) way. For example, they may both declare an opaque type for one or more of the arguments (which would end up distinct types), or use types that are valid conversions in the language the extern fn is defined in. In these cases, we can't say that the clashing declaration is incorrect.
    
    r? @eddyb
    RalfJung authored May 29, 2020
    Configuration menu
    Copy the full SHA
    d4bfcb1 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#71095 - pickfire:box-from-array, r=dtolnay

    impl From<[T; N]> for Box<[T]>
    
    Based on rust-lang#68692
    RalfJung authored May 29, 2020
    Configuration menu
    Copy the full SHA
    82ee546 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#71500 - josephlr:offset, r=oli-obk,RalfJung

    Make pointer offset methods/intrinsics const
    
    Implements rust-lang#71499 using [the implementations from miri](https://github.com/rust-lang/miri/blob/52f5d202bdcfe8986f0615845f8d1647ab8a2c6a/src/shims/intrinsics.rs#L96-L112).
    
    I added some tests what's allowed and what's UB. Let me know if any other cases should be added.
    
    CC: @RalfJung @oli-obk
    RalfJung authored May 29, 2020
    Configuration menu
    Copy the full SHA
    0e96f62 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#71804 - petrochenkov:static-pie, r=cuviper

    linker: Support `-static-pie` and `-static -shared`
    
    This PR adds support for passing linker arguments for creating statically linked position-independent executables and "statically linked" shared libraries.
    
    Therefore it incorporates the majority of rust-lang#70740 except for the linker rerun hack and actually flipping the "`static-pie` is supported" switch for musl targets.
    RalfJung authored May 29, 2020
    Configuration menu
    Copy the full SHA
    a7b4474 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#71862 - LeSeulArtichaut:unsafe-block-in-uns…

    …afe-fn, r=nikomatsakis
    
    Implement RFC 2585: unsafe blocks in unsafe fn
    
    Tracking issue: rust-lang#71668
    r? @RalfJung cc @nikomatsakis
    RalfJung authored May 29, 2020
    Configuration menu
    Copy the full SHA
    5b1490d View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#72103 - lcnr:borrowck-localdefid, r=jonas-s…

    …chievink
    
    borrowck `DefId` -> `LocalDefId`
    
    Replaces some `DefId`s which must always be local with `LocalDefId` in `librustc_mir/borrowck`.
    
    cc @marmeladema
    RalfJung authored May 29, 2020
    Configuration menu
    Copy the full SHA
    3185491 View commit details
    Browse the repository at this point in the history