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 12 pull requests #78904

Merged
merged 31 commits into from
Nov 10, 2020
Merged

Rollup of 12 pull requests #78904

merged 31 commits into from
Nov 10, 2020

Commits on Oct 5, 2020

  1. don't refer to async as 'generators'

    and give return of async fn a better span
    SNCPlay42 committed Oct 5, 2020
    Configuration menu
    Copy the full SHA
    34ff352 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5042dbd View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2020

  1. Configuration menu
    Copy the full SHA
    301bb12 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1f5c655 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    299a65f View commit details
    Browse the repository at this point in the history
  4. Fix various Chalk lowering bugs

    - Add more well-known traits
    - Use the correct binders when lowering trait objects
    - Use correct substs when lowering trait objects
    - Use the correct binders for opaque_ty_data
    - Lower negative impls with the correct polarity
    - Supply associated type values
    - Use `predicates_defined_on` for where clauses
    matthewjasper committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    acb6a06 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4d60a80 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2020

  1. Configuration menu
    Copy the full SHA
    3237b38 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    90fafc8 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2020

  1. ci: demote i686-unknown-freebsd to tier 2 compiler target

    While technically the i686-unknown-freebsd target has been a tier 2
    development platform for a long time, with full toolchain tarballs
    available on static.rust-lang.org, due to a bug in the manifest
    generation the target was never available for download through rustup.
    
    The infrastructure team privately inquired the FreeBSD package
    maintainers, and they weren't relying on those tarballs either, so it's
    a fair assumption to say practically nobody is using those tarballs.
    
    This PR then removes the CI builder that produces full tarballs for the
    target, and moves the compilation of rust-std for the target in
    dist-various-2.
    
    The x86_64-unknown-freebsd target is *not* affected.
    pietroalbini committed Nov 4, 2020
    Configuration menu
    Copy the full SHA
    53c1eb7 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2020

  1. Infer the default host target from the host toolchain if possible

    This fixes ongoing issues where x.py will detect the wrong host triple
    between MSVC and GNU.
    
    - Add line to changelog
    jyn514 committed Nov 5, 2020
    Configuration menu
    Copy the full SHA
    3863dee View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2020

  1. Monomorphize a type argument of size-of operation during codegen

    This wasn't necessary until MIR inliner started to consider drop glue as
    a candidate for inlining; introducing for the first time a generic use
    of size-of operation.
    
    No test at this point since this only happens with a custom inlining
    threshold.
    tmiasko committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    f78f36c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    103f7a4 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2020

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

Commits on Nov 9, 2020

  1. Configuration menu
    Copy the full SHA
    7ca6e8f View commit details
    Browse the repository at this point in the history
  2. inliner: Make inline_call infallible

    The inliner does not support inlining of divering calls. Reject them
    early on and turn `inline_call` into an infallible operation.
    tmiasko committed Nov 9, 2020
    Configuration menu
    Copy the full SHA
    b7f16c5 View commit details
    Browse the repository at this point in the history
  3. inliner: Break inlining cycles

    When examining candidates for inlining, reject those that are determined
    to be recursive either because of self-recursive calls or calls to any
    instances already inlined.
    tmiasko committed Nov 9, 2020
    Configuration menu
    Copy the full SHA
    dc4d74d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8d43b3c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    61b52a3 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#74754 - davidhewitt:cfg-panic, r=ecstatic-m…

    …orse
    
    Add `#[cfg(panic = '...')]`
    
    This PR adds conditional compilation according to the panic strategy.
    
    I've come across a need for a flag like this a couple of times while writing tests: rust-lang#74301 , rust-lang#73670 (comment)
    
    I'm not sure if I need to add a feature gate for this flag?
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    46bce9f View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#76468 - SNCPlay42:lifetime-names, r=Mark-Si…

    …mulacrum
    
    Improve lifetime name annotations for closures & async functions
    
    * Don't refer to async functions as "generators" in error output
    * Where possible, emit annotations pointing exactly at the `&` in the return type of closures (when they have explicit return types) and async functions, like we do for arguments.
    Addresses rust-lang#74072, but I wouldn't call that *closed* until annotations are identical for async and non-async functions.
    * Emit a better annotation when the lifetime doesn't appear in the full name type, which currently happens for opaque types like `impl Future`. Addresses rust-lang#74497, but further improves could probably be made (why *doesn't* it appear in the type as `impl Future + '1`?)
    This is included in the same PR because the changes to `give_name_if_anonymous_region_appears_in_output` would introduce ICE otherwise (it would return `None` in cases where it didn't previously, which then gets `unwrap`ped)
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    99f16e6 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#77016 - Mark-Simulacrum:clippy-tests, r=pie…

    …troalbini
    
    Test clippy on PR CI on changes
    
    This runs the tools builder (which builds and tests tools, including clippy) when the clippy submodule changes. This essentially returns us to the prior state when clippy was a submodule; it makes sense for us to test it on CI when it changes. It might make sense for it to be tested regardless of changing but it is somewhat rare for it to fail and we don't want to add to CI time for the majority of PRs which don't affect it.
    
    Fixes rust-lang#76999.
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    391136e View commit details
    Browse the repository at this point in the history
  9. Rollup merge of rust-lang#78480 - ssomers:btree-alias, r=Mark-Simulacrum

    BTreeMap: fix pointer provenance rules
    
    Fixes rust-lang#78477 and includes rust-lang#78476
    
    r? `@Mark-Simulacrum`
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    2187f3c View commit details
    Browse the repository at this point in the history
  10. Rollup merge of rust-lang#78502 - matthewjasper:chalkup, r=nikomatsakis

    Update Chalk to 0.36.0
    
    This PR updates Chalk and fixes a number of bugs in the chalk integration code.
    
    cc `@rust-lang/wg-traits`
    r? `@nikomatsakis`
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    0aed74a View commit details
    Browse the repository at this point in the history
  11. Rollup merge of rust-lang#78513 - jyn514:rustup-toolchain, r=Mark-Sim…

    …ulacrum
    
    Infer the default host target from the host toolchain if possible
    
    - `beta-x86_64-unknown-linux-gnu` has beta stripped
    - `rustc2` is ignored
    
    This fixes ongoing issues where x.py will detect the wrong host triple
    between MSVC and GNU.
    
    I don't think this will break anyone's workflow - I'd be very surprised if you a) had no `[build]` section in `config.toml`, b) had rustc installed, and c) expected the default target to be something other than the default target used by `rustc`. But I could be wrong - I'm happy to hear user stories :)
    
    Fixes rust-lang#78150.
    
    r? ``@Mark-Simulacrum``
    cc ``@Lokathor``
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    62d3a4f View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#78566 - JRF63:polly, r=Mark-Simulacrum

    Enable LLVM Polly via llvm-args.
    
    I think doing it this way is better than in rust-lang#51061. Polly has other useful options and we probably don't want to create a `-Z` flag for each one of them.
    
    ![results](https://user-images.githubusercontent.com/7283601/97695555-338f7180-1adf-11eb-82bd-5130e0e6fa89.png)
    
    [Benchmark](https://gist.github.com/JRF63/9a6268b91720958e90dbe7abffe20298)
    
    I noticed that `-lto` seems to interfere with polly in this specific microbenchmark, as enabling it causes the perf to drop to that of non-polly builds.
    
    Other related PRs: rust-lang#75615
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    7ac079f View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#78580 - tmiasko:inline-loop, r=oli-obk

    inliner: Break inlining cycles
    
    Keep track of all instances inlined so far. When examining a new call
    sites from an inlined body, skip those where callee had been inlined
    already to avoid potential inlining cycles.
    
    Fixes rust-lang#78573.
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    ee1fedf View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#78710 - petrochenkov:macvisit, r=davidtwco

    rustc_ast: Do not panic by default when visiting macro calls
    
    Panicking by default made sense when we didn't have HIR or MIR and everything worked on AST, but now all AST visitors run early and majority of them have to deal with macro calls, often by ignoring them.
    
    The second commit renames `visit_mac` to `visit_mac_call`, the corresponding structures were renamed earlier in rust-lang#69589.
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    8ebca24 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#78746 - pietroalbini:i686-freebsd, r=Mark-S…

    …imulacrum
    
    Demote i686-unknown-freebsd to tier 2 compiler target
    
    While technically the `i686-unknown-freebsd` target has been a tier 2 development platform for a long time, with full toolchain tarballs available on static.rust-lang.org, due to a bug in the manifest generation the target was never available for download through rustup.
    
    The infrastructure team privately inquired the FreeBSD package maintainers, and they weren't relying on those tarballs either, so it's a fair assumption to say practically nobody is using those tarballs.
    
    This PR then removes the CI builder that produces full tarballs for the target, and moves the compilation of `rust-std` for the target in `dist-various-2`. The `x86_64-unknown-freebsd` target is *not* affected.
    
    cc `@rust-lang/infra` `@rust-lang/compiler` `@rust-lang/release`
    r? `@Mark-Simulacrum`
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    4e0695b View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#78830 - lcnr:mir-folder, r=oli-obk

    fix `super_visit_with` for `Terminator`
    
    fixes rust-lang#78182 (comment)
    
    r? `@oli-obk`
    
    cc `@LeSeulArtichaut`
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    7924ecc View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#78844 - tmiasko:monomorphize-sizeof, r=oli-obk

    Monomorphize a type argument of size-of operation during codegen
    
    This wasn't necessary until MIR inliner started to consider drop glue as
    a candidate for inlining; introducing for the first time a generic use
    of size-of operation.
    
    No test at this point since this only happens with a custom inlining
    threshold.
    Dylan-DPC authored Nov 9, 2020
    Configuration menu
    Copy the full SHA
    c150b93 View commit details
    Browse the repository at this point in the history