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

Merged
merged 29 commits into from
Nov 19, 2022
Merged

Rollup of 8 pull requests #104591

merged 29 commits into from
Nov 19, 2022

Commits on Oct 12, 2022

  1. remove HRTB from [T]::is_sorted_by{,_key}

    Lukas Markeffsky committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    a02ec4c View commit details
    Browse the repository at this point in the history
  2. add regression test

    Lukas Markeffsky committed Oct 12, 2022
    Configuration menu
    Copy the full SHA
    f3d7b39 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2022

  1. Fix mod_inv termination for the last iteration

    On usize=u64 platforms, the 4th iteration would overflow the `mod_gate`
    back to 0. Similarly for usize=u32 platforms, the 3rd iteration would
    overflow much the same way.
    
    I tested various approaches to resolving this, including approaches with
    `saturating_mul` and `widening_mul` to a double usize. Turns out LLVM
    likes `mul_with_overflow` the best. In fact now, that LLVM can see the
    iteration count is limited, it will happily unroll the loop into a nice
    linear sequence.
    
    You will also notice that the code around the loop got simplified
    somewhat. Now that LLVM is handling the loop nicely, there isn’t any
    more reasons to manually unroll the first iteration out of the loop
    (though looking at the code today I’m not sure all that complexity was
    necessary in the first place).
    
    Fixes rust-lang#103361
    nagisa committed Oct 22, 2022
    Configuration menu
    Copy the full SHA
    a3c3f72 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2022

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

Commits on Oct 28, 2022

  1. Configuration menu
    Copy the full SHA
    6c54745 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d3b5192 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2022

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

Commits on Nov 17, 2022

  1. Edit docs for rustc_errors::Handler::stash_diagnostic

    Clarify that the diagnostic can be retrieved with `steal_diagnostic`.
    pierwill committed Nov 17, 2022
    Configuration menu
    Copy the full SHA
    19b63bc View commit details
    Browse the repository at this point in the history
  2. rustdoc: use code-header class to format enum variants

    The font size and weights should be exactly the same after this commit,
    but the spacing is changed to be exactly the same as methods.
    notriddle committed Nov 17, 2022
    Configuration menu
    Copy the full SHA
    4525eb1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    616f34e View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2022

  1. Configuration menu
    Copy the full SHA
    da3c539 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b3da04a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    39e076a View commit details
    Browse the repository at this point in the history
  4. Add rustc_baked_icu_data crate.

    crlf0710 authored and Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    42d3bda View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a775004 View commit details
    Browse the repository at this point in the history
  6. Import icu locale fallback data

    crlf0710 authored and Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    bde2f98 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d15b020 View commit details
    Browse the repository at this point in the history
  8. Include zh locale in icu data

    crlf0710 authored and Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    707c035 View commit details
    Browse the repository at this point in the history
  9. Fix compilation issue after rebase

    crlf0710 authored and Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    b21e0b8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b22cb90 View commit details
    Browse the repository at this point in the history
  11. Fix lockfile

    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    2721e40 View commit details
    Browse the repository at this point in the history
  12. Rollup merge of rust-lang#102977 - lukas-code:is-sorted-hrtb, r=m-ou-se

    remove HRTB from `[T]::is_sorted_by{,_key}`
    
    Changes the signature of `[T]::is_sorted_by{,_key}` to match `[T]::binary_search_by{,_key}` and make code like rust-lang#53485 (comment) compile.
    
    Tracking issue: rust-lang#53485
    
    ~~Do we need an ACP for something like this?~~ Edit: Filed ACP here: rust-lang/libs-team#121
    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    8aca6cc View commit details
    Browse the repository at this point in the history
  13. Rollup merge of rust-lang#103378 - nagisa:fix-infinite-offset, r=scot…

    …tmcm
    
    Fix mod_inv termination for the last iteration
    
    On usize=u64 platforms, the 4th iteration would overflow the `mod_gate` back to 0. Similarly for usize=u32 platforms, the 3rd iteration would overflow much the same way.
    
    I tested various approaches to resolving this, including approaches with `saturating_mul` and `widening_mul` to a double usize. Turns out LLVM likes `mul_with_overflow` the best. In fact now, that LLVM can see the iteration count is limited, it will happily unroll the loop into a nice linear sequence.
    
    You will also notice that the code around the loop got simplified somewhat. Now that LLVM is handling the loop nicely, there isn’t any more reasons to manually unroll the first iteration out of the loop (though looking at the code today I’m not sure all that complexity was necessary in the first place).
    
    Fixes rust-lang#103361
    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    6b09d60 View commit details
    Browse the repository at this point in the history
  14. Rollup merge of rust-lang#103456 - scottmcm:fix-unchecked-shifts, r=s…

    …cottmcm
    
    `unchecked_{shl|shr}` should use `u32` as the RHS
    
    The other shift methods, such as https://doc.rust-lang.org/nightly/std/primitive.u64.html#method.checked_shr and https://doc.rust-lang.org/nightly/std/primitive.i16.html#method.wrapping_shl, use `u32` for the shift amount.  That's consistent with other things, like `count_ones`, which also always use `u32` for a bit count, regardless of the size of the type.
    
    This PR changes `unchecked_shl` and `unchecked_shr` to also use `u32` for the shift amount (rather than Self).
    
    cc rust-lang#85122, the `unchecked_math` tracking issue
    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    e230115 View commit details
    Browse the repository at this point in the history
  15. Rollup merge of rust-lang#103701 - WaffleLapkin:__points-at-implement…

    …ation__--this-can-be-simplified, r=scottmcm
    
    Simplify some pointer method implementations
    
    - Make `pointer::with_metadata_of` const (+simplify implementation) (cc rust-lang#75091)
    - Simplify implementation of various pointer methods
    
    r? ```@scottmcm```
    
    ----
    
    `from_raw_parts::<T>(this, metadata(self))` was annoying me for a while and I've finally figured out how it should _actually_ be done.
    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    19efa25 View commit details
    Browse the repository at this point in the history
  16. Rollup merge of rust-lang#104047 - crlf0710:icu_based_list_formatting…

    …, r=davidtwco
    
    Diagnostics `icu4x` based list formatting.
    
    This adds a new kind of `DiagnosticArg` and add the ability to convert it to a `FluentValue::Custom`. When emitting fluent output, it makes use of `ListFormatter` from `icu4x` project to convert it to localized version of list following the fluent locale, as a kind of eager translation.
    
    Tested locally with locales like `en`, `ja`, etc, and they work fine. <del>Though neither `zh-CN` nor `zh-Hans` works correctly, it seems they fallback to `und` locale somehow, emitting only comma-based list. I believe this is an internal issue of `icu4x` itself.</del>(Works fine after rust-lang#104047 (comment))
    
    Would love to hear what others think.
    
    r? `@davidtwco`
    cc `@Manishearth`
    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    3181006 View commit details
    Browse the repository at this point in the history
  17. Rollup merge of rust-lang#104338 - compiler-errors:pointer-sized, r=e…

    …holk
    
    Enforce that `dyn*` coercions are actually pointer-sized
    
    Implement a perma-unstable, rudimentary `PointerSized` trait to enforce `dyn*` casts are `usize`-sized for now, at least to prevent ICEs and weird codegen issues from cropping up after monomorphization since currently we enforce *nothing*.
    
    This probably can/should be removed in favor of a more sophisticated trait for handling `dyn*` conversions when we decide on one, but I just want to get something up for discussion and experimentation for now.
    
    r? ```@eholk``` cc ```@tmandry``` (though feel free to claim/reassign)
    
    Fixes rust-lang#102141
    Fixes rust-lang#102173
    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    24ee599 View commit details
    Browse the repository at this point in the history
  18. Rollup merge of rust-lang#104498 - pierwill:stash-diag-docs, r=compil…

    …er-errors
    
    Edit docs for `rustc_errors::Handler::stash_diagnostic`
    
    Clarify that the diagnostic can be retrieved with `steal_diagnostic`.
    
    r? ```@compiler-errors```
    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    a065e97 View commit details
    Browse the repository at this point in the history
  19. Rollup merge of rust-lang#104556 - notriddle:notriddle/variant, r=Gui…

    …llaumeGomez
    
    rustdoc: use `code-header` class to format enum variants
    
    The font size and weights should be exactly the same after this PR, but the spacing is changed to be the same as methods.
    
    Preview: http://notriddle.com/notriddle-rustdoc-demos/variant/test_dingus_enum/enum.TestEnum.html
    Manishearth committed Nov 18, 2022
    Configuration menu
    Copy the full SHA
    9db23f8 View commit details
    Browse the repository at this point in the history