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 8 pull requests #92927

Merged
merged 18 commits into from
Jan 15, 2022
Merged

Rollup of 8 pull requests #92927

merged 18 commits into from
Jan 15, 2022

Commits on Jan 10, 2022

  1. Simplification of BigNum::bit_length

    As indicated in the comment, the BigNum::bit_length function could be
    optimized by using CLZ, which is often a single instruction instead a
    loop.
    
    I think the code is also simpler now without the loop.
    
    I added some additional tests for Big8x3 and Big32x40 to ensure that
    there were no regressions.
    swenson committed Jan 10, 2022
    Configuration menu
    Copy the full SHA
    424f38f View commit details
    Browse the repository at this point in the history
  2. Simplify BigNum::bit_length() with log2()

    Thank you to @scottmcm for suggesting the handy `log2()` function.
    swenson committed Jan 10, 2022
    Configuration menu
    Copy the full SHA
    0589cac View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2022

  1. Use the new language identifier for Rust in the PDB debug format

    Rust currently identifies as MASM (Microsoft Assembler) in the PDB
    debug info format on Windows because no identifier was available.
    
    This change pulls in a cherry-pick to Rust's LLVM that includes the
    change to use the new identifier for Rust.
    
    https://docs.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang
    arlosi committed Jan 11, 2022
    Configuration menu
    Copy the full SHA
    b03fc76 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7e6d97b View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2022

  1. Remove &mut from io::read_to_string signature

    `@m-ou-se` [realized][1] that because `Read` is implemented for `&mut impl
    Read`, there's no need to take `&mut` in `io::read_to_string`.
    
    Removing the `&mut` from the signature allows users to remove the `&mut`
    from their calls (and thus pass an owned reader) if they don't use the
    reader later.
    
    [1]: rust-lang#80218 (comment)
    camelid committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    aa0ce4a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e8e32e4 View commit details
    Browse the repository at this point in the history
  3. Generate more precise generator names

    Currently all generators are named with a `generator$N` suffix,
    regardless of where they come from. This means an `async fn` shows up as
    a generator in stack traces, which can be surprising to async
    programmers since they should not need to know that async functions are
    implementated using generators.
    
    This change generators a different name depending on the generator kind,
    allowing us to tell whether the generator is the result of an async
    block, an async closure, an async fn, or a plain generator.
    eholk committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    05e1f0d View commit details
    Browse the repository at this point in the history
  4. Fix non-MSVC test

    eholk committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    a1173cf View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2022

  1. Configuration menu
    Copy the full SHA
    7debb5c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b9a3c32 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2022

  1. Rollup merge of rust-lang#92747 - swenson:bignum-bit-length-optimizat…

    …ion, r=scottmcm
    
    Simplification of BigNum::bit_length
    
    As indicated in the comment, the BigNum::bit_length function could be
    optimized by using CLZ, which is often a single instruction instead a
    loop.
    
    I think the code is also simpler now without the loop.
    
    I added some additional tests for Big8x3 and Big32x40 to ensure that
    there were no regressions.
    matthiaskrgr committed Jan 15, 2022
    Configuration menu
    Copy the full SHA
    f511360 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#92767 - arlosi:pdbenum, r=cuviper

    Use the new language identifier for Rust in the PDB debug format
    
    Rust currently identifies as MASM (Microsoft Assembler) in the PDB
    debug info format on Windows because no identifier was available.
    
    This change pulls in a cherry-pick to Rust's LLVM that includes the
    change to use the new identifier for Rust.
    
    https://docs.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang
    matthiaskrgr committed Jan 15, 2022
    Configuration menu
    Copy the full SHA
    ff1db43 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#92775 - xfix:osstringext-inline, r=m-ou-se

    Inline std::os::unix::ffi::OsStringExt methods
    
    Those methods essentially do nothing at assembly level. On Unix systems, `OsString` is represented as a `Vec` without performing any transformations.
    matthiaskrgr committed Jan 15, 2022
    Configuration menu
    Copy the full SHA
    1b241bb View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#92863 - camelid:read_to_string-rm-mut, r=m-…

    …ou-se
    
    Remove `&mut` from `io::read_to_string` signature
    
    ``@m-ou-se`` [realized][1] that because `Read` is implemented for `&mut impl
    Read`, there's no need to take `&mut` in `io::read_to_string`.
    
    Removing the `&mut` from the signature allows users to remove the `&mut`
    from their calls (and thus pass an owned reader) if they don't use the
    reader later.
    
    r? `@m-ou-se`
    
    [1]: rust-lang#80218 (comment)
    matthiaskrgr committed Jan 15, 2022
    Configuration menu
    Copy the full SHA
    d878ad0 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#92865 - jackh726:gats-outlives-no-static, r…

    …=nikomatsakis
    
    Ignore static lifetimes for GATs outlives lint
    
    cc rust-lang#87479 (comment)
    
    Also included a bit of cleanup of `ty_known_to_outlive` and `region_known_to_outlive`
    
    r? `@nikomatsakis`
    matthiaskrgr committed Jan 15, 2022
    Configuration menu
    Copy the full SHA
    cd93be0 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#92873 - eholk:async-symbol-names, r=tmandry

    Generate more precise generator names
    
    Currently all generators are named with a `generator$N` suffix, regardless of where they come from. This means an `async fn` shows up as a generator in stack traces, which can be surprising to async programmers since they should not need to know that async functions are implementated using generators.
    
    This change generators a different name depending on the generator kind, allowing us to tell whether the generator is the result of an async block, an async closure, an async fn, or a plain generator.
    
    r? `@tmandry`
    cc `@michaelwoerister` `@wesleywiser` `@dpaoliello`
    matthiaskrgr committed Jan 15, 2022
    Configuration menu
    Copy the full SHA
    85c119c View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#92879 - compiler-errors:into_iter_unsound, …

    …r=dtolnay
    
    Add Sync bound to allocator parameter in vec::IntoIter
    
    The `A: Sync` bound was forgotten in rust-lang@8725e4c#diff-b78c3ab6d37f4ede32195707528f8a76c49d4557cc9d3a7a09417b5157729b9fR3132
    
    Similar `unsafe impl Sync` in that commit _do_ include the `A: Sync` bound (and around the alloc lib), so I think this was just an honest mistake.
    
    Here's an example of the unsoundness:  https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=16cbfeff7c934ae72ab632c1476fdd8b
    
    `@steffahn` found this, I'm just putting up the fix cause nobody else did :^)
    
    Fixes rust-lang#92633
    matthiaskrgr committed Jan 15, 2022
    Configuration menu
    Copy the full SHA
    784e4ba View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#92892 - compiler-errors:const-param-env-for…

    …-const-block, r=fee1-dead
    
    Do not fail evaluation in const blocks
    
    Evaluate const blocks with a const param-env, so we properly check `~const` trait bounds.
    
    Fixes rust-lang#92713
    (I will fix the poor diagnostics in rust-lang#92713 and rust-lang#92712 in a separate PR)
    
    cc `@nbdd0121` who wrote the code this PR touches in rust-lang#89561
    matthiaskrgr committed Jan 15, 2022
    Configuration menu
    Copy the full SHA
    539175c View commit details
    Browse the repository at this point in the history