Skip to content
Permalink
Branch: try
Commits on Oct 19, 2019
  1. Auto merge of #65541 - eddyb:spanned-inferred-outlives, r=<try>

    bors committed Oct 19, 2019
    rustc: add `Span`s to `inferred_outlives_of` predicates.
    
    *Based on #65535.*
    
    This would simplify #59789, and I suspect it has some potential in diagnostics (although we don't seem to use the predicate `Span`s much atm).
  2. rustc_typeck: compute better spans for inferred_outlives.

    eddyb committed Oct 19, 2019
Commits on Oct 18, 2019
  1. Auto merge of #64925 - ehuss:document-json, r=Mark-Simulacrum

    bors committed Oct 18, 2019
    Document JSON message output.
    
    This documents the JSON messages in the rustc book.
  2. Auto merge of #65533 - Manishearth:clippyup, r=Manishearth

    bors committed Oct 18, 2019
    Update clippy
    
    None
  3. rustc: add `Span`s to `inferred_outlives_of` predicates.

    eddyb committed Oct 18, 2019
  4. rustc: arena-allocate the slice in `ty::GenericsPredicate`, not the w…

    eddyb committed Oct 18, 2019
    …hole struct.
Commits on Oct 17, 2019
  1. Update clippy

    Manishearth committed Oct 17, 2019
  2. Auto merge of #65495 - Centril:rollup-tguwjt5, r=Centril

    bors committed Oct 17, 2019
    Rollup of 8 pull requests
    
    Successful merges:
    
     - #65237 (Move debug_map assertions after check for err)
     - #65316 (make File::try_clone produce non-inheritable handles on Windows)
     - #65319 (InterpCx: make memory field public)
     - #65461 (Don't recommend ONCE_INIT in std::sync::Once)
     - #65465 (Move syntax::ext to a syntax_expand and refactor some attribute logic)
     - #65475 (add example for type_name)
     - #65478 (fmt::Write is about string slices, not byte slices)
     - #65486 (doc: fix typo in OsStrExt and OsStringExt)
    
    Failed merges:
    
    r? @ghost
  3. Auto merge of #64595 - Mark-Simulacrum:trivial-query, r=pnkfelix

    bors committed Oct 17, 2019
    Optimize dropck
    
    This does two things: caches the `trivial_dropck` check by making it a query, and shifts around the implementation of the primary dropck itself to avoid allocating many small vectors.
  4. Rollup merge of #65486 - mathstuf:osstr-doc-typo, r=TimNN

    Centril committed Oct 17, 2019
    doc: fix typo in OsStrExt and OsStringExt
  5. Rollup merge of #65478 - RalfJung:write, r=jonas-schievink

    Centril committed Oct 17, 2019
    fmt::Write is about string slices, not byte slices
    
    No idea why the docs talk about bytes, maybe a copy-paste error?
  6. Rollup merge of #65475 - lzutao:eg_type_name, r=Centril

    Centril committed Oct 17, 2019
    add example for type_name
    
    So users of this function could at least expect what its output for current compiler version.
  7. Rollup merge of #65465 - Centril:split-syntax-1, r=petrochenkov

    Centril committed Oct 17, 2019
    Move syntax::ext to a syntax_expand and refactor some attribute logic
    
    Part of #65324.
    
    r? @petrochenkov
  8. Rollup merge of #65461 - Kampfkarren:patch-1, r=Centril

    Centril committed Oct 17, 2019
    Don't recommend ONCE_INIT in std::sync::Once
    
    ONCE_INIT is deprecated, and so suggesting it as not only being on par with, but before `Once::new` is a bad idea.
  9. Rollup merge of #65319 - RalfJung:memory, r=Centril

    Centril committed Oct 17, 2019
    InterpCx: make memory field public
    
    I made this field private forever ago because I thought sealing things might be nice. But with the `memory_mut` getter it doesn't actually seal anything, and it's not like we need to invalidate caches on writes to memory or so. And moreover, having to use the getters leads to some annoying borrow checking interactions.
    
    So, let's just make it public (again).
    
    r? @oli-obk
  10. Rollup merge of #65316 - oconnor663:noninheritable, r=alexcrichton

    Centril committed Oct 17, 2019
    make File::try_clone produce non-inheritable handles on Windows
    
    ~**NOT READY FOR REVIEW.** This PR is currently mainly to trigger CI so that I can see what happens. (Is there a better way to trigger CI?) I don't know whether this change makes sense yet.~ (Edit: @Mark-Simulacrum clarified that CI doesn't currently run on Windows.)
    
    ---
    
    File handles shouldn't be inheritable in general.
    `std::process::Command` takes care of making them inheritable when child
    processes are spawned, and the `CREATE_PROCESS_LOCK` protects against
    races in that section on Windows. But `File::try_clone` has been
    creating inheritable file descriptors outside of that lock, which could
    be leaking into other child processes unintentionally.
    
    See also #31069 (comment).
  11. Rollup merge of #65237 - KodrAus:fix/map-entry-err, r=sfackler

    Centril committed Oct 17, 2019
    Move debug_map assertions after check for err
    
    Fixes #65231
    
    We have some assertions in `DebugMap` to catch broken implementations of `Debug` that produce malformed entries. These checks don't make sense if formatting fails partway through. This PR moves those assertions to within the `and_then` closures along with the other formatting logic, so they're only checked if the map hasn't failed to format an entry already.
  12. Auto merge of #59953 - eddyb:soa-metadata, r=michaelwoerister

    bors committed Oct 17, 2019
     rustc_metadata: replace Entry table with one table for each of its fields (AoS -> SoA).
    
    In #59789 (comment) I noticed that for many cross-crate queries (e.g. `predicates_of(def_id)`), we were deserializing the `rustc_metadata::schema::Entry` for `def_id` *only* to read one field (i.e. `predicates`).
    
    But there are several such queries, and `Entry` is not particularly small (in terms of number of fields, the encoding itself is quite compact), so there is a large (and unnecessary) constant factor.
    
    This PR replaces the (random-access) array¹ of `Entry` structures ("AoS"), with many separate arrays¹, one for each field that used to be in `Entry` ("SoA"), resulting in the ability to read individual fields separately, with negligible time overhead (in thoery), and some size overhead (as these arrays are not sparse).
    
    In a way, the new approach is closer to incremental on-disk caches, which store each query's cached results separately, but it would take significantly more work to unify the two.
    
    For stage1 `libcore`'s metadata blob, the size overhead is `8.44%`, and I have another commit (~~not initially included because I want to do perf runs with both~~ **EDIT**: added it now) that brings it down to `5.88%`.
    
    ¹(in the source, these arrays are called "tables", but perhaps they could use a better name)
  13. Auto merge of #65251 - tlively:emscripten-upstream-upgrade, r=tlively

    bors committed Oct 17, 2019
    Upgrade Emscripten targets to use upstream LLVM backend
    
     - Compatible with Emscripten 1.38.46-upstream or later upstream.
     - Refactors the Emscripten target spec to share code with other wasm
       targets.
     - Replaces the old incorrect wasm32 C call ABI with the correct one,
       preserving the old one as wasm32_bindgen_compat for wasm-bindgen
       compatibility.
     - Updates the varargs ABI used by Emscripten and deletes the old one.
     - Removes the obsolete wasm32-experimental-emscripten target.
     - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
    
    r? @alexcrichton
  14. Remove PR runs, enable wasm32 CI, and move asmjs to disabled

    tlively committed Oct 17, 2019
  15. doc: fix typo in OsStrExt and OsStringExt

    mathstuf committed Oct 17, 2019
  16. Auto merge of #65234 - GuillaumeGomez:long-err-explanation-E0573, r=k…

    bors committed Oct 17, 2019
    …innison
    
    Add long error explanation for E0573
    
    Part of #61137.
  17. User should not change between emcc install and use

    tlively committed Oct 17, 2019
  18. Update test expectations

    tlively committed Oct 14, 2019
  19. Upgrade Emscripten targets to use upstream LLVM backend

    tlively committed Aug 17, 2019
     - Compatible with Emscripten 1.38.46-upstream or later upstream.
     - Refactors the Emscripten target spec to share code with other wasm
       targets.
     - Replaces the old incorrect wasm32 C call ABI with the correct one,
       preserving the old one as wasm32_bindgen_compat for wasm-bindgen
       compatibility.
     - Updates the varargs ABI used by Emscripten and deletes the old one.
     - Removes the obsolete wasm32-experimental-emscripten target.
     - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
Commits on Oct 16, 2019
  1. fmt::Write is about string slices, not byte slices

    RalfJung committed Oct 16, 2019
  2. panictry!(..) -> .unwrap()

    Centril committed Oct 16, 2019
  3. Auto merge of #63756 - Zoxc:sharded-dep-graph-1, r=nikomatsakis

    bors committed Oct 16, 2019
    Use more fine grained locks for the dep graph
    
    Split out from #61845.
    
    r? @michaelwoerister cc @aturon
  4. add example for type_name

    lzutao committed Oct 16, 2019
  5. Auto merge of #65445 - ehuss:update-cargo-books, r=alexcrichton

    bors committed Oct 16, 2019
    Update cargo, books
    
    ## nomicon
    
    3 commits in 4374786f0b4bf0606b35d5c30a9681f342e5707b..5004ad30d69f93553ceef74439fea2159d1f769e
    2019-09-17 18:33:21 +0200 to 2019-10-12 19:52:40 +0200
    - further clarify C11 and C/C++11 terminology (rust-lang-nursery/nomicon#169)
    - atomics: C11 -&gt; C++20 (rust-lang-nursery/nomicon#168)
    - use sound/unsound terminology
    
    ## cargo
    
    12 commits in a429e8cc4614a46a86322a0777a477e2baa83f1c..3a9abe3f065554a7fbc59f440df2baba4a6e47ee
    2019-10-04 17:36:12 +0000 to 2019-10-15 15:55:35 +0000
    - Fix typo in git index initialization error path (rust-lang/cargo#7512)
    - Reject feature flags in a virtual workspace. (rust-lang/cargo#7507)
    - Rename `overrides` to `package` in profiles. (rust-lang/cargo#7504)
    - Allow publishing with dev-dependencies without a version. (rust-lang/cargo#7333)
    - Stabilize cache-messages (rust-lang/cargo#7450)
    - don't lock the package cache when cleaning target dir. (rust-lang/cargo#7502)
    - Document rustc wrapper (rust-lang/cargo#7499)
    - Migrate towards exclusively using serde for `Config` (rust-lang/cargo#7456)
    - Re-enable some MSVC tests. (rust-lang/cargo#7492)
    - when -Z unstable-options not specified, don't validate --profile (rust-lang/cargo#7489)
    - Improve error message for cyclic dependencies (rust-lang/cargo#7470)
    - Some minor clippy fixes. (rust-lang/cargo#7484)
    
    ## book
    
    7 commits in 04806c80be0f54b1290287e3f85e84bdfc0b6ec7..9bb8b161963fcebc9d9ccd732ba26f42108016d5
    2019-10-01 20:20:22 -0400 to 2019-10-14 18:42:55 -0500
    - Make a portion of text less ambiguous (rust-lang/book#2092)
    - fix heading level (rust-lang/book#2117)
    - Add missing "of" before `"duck typing"`. (rust-lang/book#1951)
    - ch18-03: no need to debug print destructured int (rust-lang/book#1991)
    - Subtle fix to introduce ? on Option in Chapter 9.2 (rust-lang/book#2047)
    - make wording clearer (rust-lang/book#1976)
    - Update the version of rand we use
    
    ## rust-by-example
    
    5 commits in a6288e7407a6c4c19ea29de6d43f40c803883f21..0b111eaae36cc4b4997684be853882a59e2c7ca7
    2019-10-01 10:09:14 -0300 to 2019-10-14 18:34:25 -0300
    - Some fix to three files (rust-lang/rust-by-example#1280)
    - Add reference to Generics (rust-lang/rust-by-example#1281)
    - Confusing and long sentence (rust-lang/rust-by-example#1282)
    - Explicit mention of slice range meaning (rust-lang/rust-by-example#1277)
    - Updated aliasing for nll (rust-lang/rust-by-example#1276)
  6. ui-fulldeps: make them pass again?

    Centril committed Oct 16, 2019
  7. Update cargo, books

    ehuss committed Oct 15, 2019
  8. Auto merge of #65172 - tanriol:explain_borrow-use-context-dominators,…

    bors committed Oct 16, 2019
    … r=nagisa
    
    use precalculated dominators in explain_borrow
    
    This looks like the only place calculating dominators from the MIR body every time instead of using the ones stored on the `MirBorrowckCtxt`. For example, in #65131 a big generated function with a number of borrowck errors takes a few hours(!) recalculating the dominators while explaining the errors.
    
    I don't know enough about this part of rustc codebase to know for sure that this change is correct, but no tests seem to fail as a result of this change in local testing.
Older
You can’t perform that action at this time.