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 6 pull requests #63043

Merged
merged 27 commits into from
Jul 27, 2019
Merged

Rollup of 6 pull requests #63043

merged 27 commits into from
Jul 27, 2019

Commits on Jul 7, 2019

  1. Fix cycle error with existential types

    Fixes rust-lang#61863
    
    We now allow uses of 'existential type's that aren't defining uses -
    that is, uses which don't constrain the underlying concrete type.
    
    To make this work correctly, we also modify eq_opaque_type_and_type to
    not try to apply additional constraints to an opaque type. If we have
    code like this:
    
    ```
    existential type Foo;
    fn foo1() -> Foo { ... }
    fn foo2() -> Foo { foo1() }
    ```
    
    then 'foo2' doesn't end up constraining 'Foo', which means that
    'foo2' will end up using the type 'Foo' internally - that is, an actual
    'TyKind::Opaque'. We don't want to equate this to the underlying
    concrete type - we just need to enforce the basic equality constraint
    between the two types (here, the return type of 'foo1' and the return
    type of 'foo2')
    Aaron1011 committed Jul 7, 2019
    Configuration menu
    Copy the full SHA
    8ba9b10 View commit details
    Browse the repository at this point in the history
  2. Fix bug when opaque type was nested in another type.

    Previously, types like (Foo, u8) would not be handled correctly
    (where Foo is an 'existential type')
    Aaron1011 committed Jul 7, 2019
    Configuration menu
    Copy the full SHA
    ec62699 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2f05160 View commit details
    Browse the repository at this point in the history
  4. s/consts/const items/

    Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
    Aaron1011 and Centril committed Jul 7, 2019
    Configuration menu
    Copy the full SHA
    2ab8d61 View commit details
    Browse the repository at this point in the history
  5. Address review comments

    Aaron1011 committed Jul 7, 2019
    Configuration menu
    Copy the full SHA
    3600832 View commit details
    Browse the repository at this point in the history
  6. Fix test stderr

    Aaron1011 committed Jul 7, 2019
    Configuration menu
    Copy the full SHA
    66b2b97 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2f41962 View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2019

  1. tests: Add minimal reproduction of rust-lang#61963.

    This commit adds a reproduction of the error reported in servo which
    demonstrates the current, incorrect behaviour.
    
    Co-authored-by: Rémy Rakić <remy.rakic@gmail.com>
    davidtwco and lqd committed Jul 20, 2019
    Configuration menu
    Copy the full SHA
    44bf6b6 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2019

  1. Configuration menu
    Copy the full SHA
    eb4fbda View commit details
    Browse the repository at this point in the history
  2. Rename JsonDumper to Dumper

    The Dumper no longer has anything to do specifically with JSON, it
    merely represents processing into an `Analysis` output.
    Mark-Simulacrum committed Jul 25, 2019
    Configuration menu
    Copy the full SHA
    68c0ba2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b75dfa8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d9ac0c6 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2019

  1. Fix tidy

    oli-obk committed Jul 26, 2019
    Configuration menu
    Copy the full SHA
    34e7a3c View commit details
    Browse the repository at this point in the history
  2. Clear up get_size_and_align

    oli-obk committed Jul 26, 2019
    Configuration menu
    Copy the full SHA
    3bc1d01 View commit details
    Browse the repository at this point in the history
  3. Address review comments

    oli-obk committed Jul 26, 2019
    Configuration menu
    Copy the full SHA
    796e7a8 View commit details
    Browse the repository at this point in the history
  4. Update src/librustc_mir/interpret/memory.rs

    Co-Authored-By: Ralf Jung <post@ralfj.de>
    oli-obk and RalfJung authored Jul 26, 2019
    Configuration menu
    Copy the full SHA
    6e04ca7 View commit details
    Browse the repository at this point in the history
  5. Update src/librustc_mir/interpret/memory.rs

    Co-Authored-By: Ralf Jung <post@ralfj.de>
    oli-obk and RalfJung authored Jul 26, 2019
    Configuration menu
    Copy the full SHA
    0cd7167 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d7b2110 View commit details
    Browse the repository at this point in the history
  7. lowering: Omit bare trait lint on macro call sites

    This commit implements a hacky fix for detecting when a span is pointing
    at a macro call site so that bare trait lints are not made incorrectly.
    davidtwco committed Jul 26, 2019
    Configuration menu
    Copy the full SHA
    cae8680 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2019

  1. Configuration menu
    Copy the full SHA
    13b4100 View commit details
    Browse the repository at this point in the history
  2. Add comment

    topecongiro committed Jul 27, 2019
    Configuration menu
    Copy the full SHA
    98f29f5 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#62423 - Aaron1011:fix/existential-cycle, r=…

    …oli-obk
    
    Fix cycle error with existential types
    
    Fixes rust-lang#61863
    
    We now allow uses of `existential type`'s that aren't defining uses - that is, uses which don't constrain the underlying concrete type.
    
    To make this work correctly, we also modify `eq_opaque_type_and_type` to not try to apply additional constraints to an opaque type. If we have code like this:
    
    ```rust
    existential type Foo;
    fn foo1() -> Foo { ... }
    fn foo2() -> Foo { foo1() }
    ```
    
    then `foo2` doesn't end up constraining `Foo`, which means that `foo2` will end up using the type `Foo` internally - that is, an actual `TyKind::Opaque`. We don't want to equate this to the underlying concrete type - we just need to enforce the basic equality constraint between the two types (here, the return type of `foo1` and the return type of `foo2`)
    Centril authored Jul 27, 2019
    Configuration menu
    Copy the full SHA
    4b8031c View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#62979 - Mark-Simulacrum:json-dumper-pretty,…

    … r=Xanewok
    
    Cleanup save-analysis JsonDumper
    Centril authored Jul 27, 2019
    Configuration menu
    Copy the full SHA
    a13f1f8 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#62982 - oli-obk:static_cycle, r=RalfJung

    Don't access a static just for its size and alignment
    
    cc @RalfJung
    
    fixes rust-lang#62189
    Centril authored Jul 27, 2019
    Configuration menu
    Copy the full SHA
    b25d74f View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#63013 - nivkner:ffi-safe-slice, r=sfackler

    add `repr(transparent)` to `IoSliceMut` where missing
    
    tried using `IoSliceMut` in FFI, got `improper_ctypes` warning.
    
    according to the docs: `IoSliceMut` is  "guaranteed to be ABI compatible with the `iovec` type" so it should be usable in FFI.
    `IoSlice` is also `repr(transparent)` for every platform where these types contain `iovec`-like types.
    vxworks also has `IoSliceMut` as transparent so its not even consistently one or the other.
    
    no comment about this next to the types or in the PR that introduced the types, so assuming this was just missed.
    
    r? @sfackler
    Centril authored Jul 27, 2019
    Configuration menu
    Copy the full SHA
    4ad743c View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#63014 - davidtwco:rustfix-incorrect-dyn-sug…

    …gestion, r=estebank
    
    Stop bare trait lint applying to macro call sites
    
    Fixes rust-lang#61963. Apologies for the delay with in fixing this. If anyone has a better idea how to detect this macro call site case, I'd be happy to fix this in a more robust, less hacky way.
    
    r? @estebank
    Centril authored Jul 27, 2019
    Configuration menu
    Copy the full SHA
    513ab54 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#63036 - topecongiro:add-lib-section, r=matklad

    Add lib section to rustc_lexer's Cargo.toml
    
    This is required to fix the rustc-ap-syntax build error in the recent version. The error could also be fixed on the [rustc-auto-publish](https://github.com/alexcrichton/rustc-auto-publish) side by manually adding `[lib]` section if one does not exist. The latter approach, however, may have a surprising side effect, so I am opting for a simpler solution for now.
    
    r? @alexcrichton
    Centril authored Jul 27, 2019
    Configuration menu
    Copy the full SHA
    51769b3 View commit details
    Browse the repository at this point in the history