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

Closed
wants to merge 25 commits into from

Commits on Jul 27, 2022

  1. Update mentions to rustc_metadata::rmeta::Lazy

    Signed-off-by: Yuki Okushi <jtitor@2k36.org>
    JohnTitor committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    645a883 View commit details
    Browse the repository at this point in the history
  2. doc/rustc: describe the uefi target platforms

    Add a `platform-support` entry to the rustc-docs for the different
    `*-unknown-uefi` targets. This describes in detail how this platform
    works, a few basic examples, and how to compile for the platform.
    
    Red Hat is sponsoring my work on this platform, so I am putting myself
    down as target maintainer. Co-maintainers are more than welcome to join
    me in the effort. Communication is going on off-list to coordinate the
    different efforts.
    
    Note that the ultimate goal is to move the UEFI targets to Tier-2 so
    bootloaders can be more easily supported in commercial products. This
    documentation is the first step towards that goal, but should be a
    viable documentation even for the current Tier-3 status of the targets.
    
    I also want to point out that there is an ongoing GSoC-effort to port
    the rust standard library to UEFI (by Ayush Singh). While this work is
    not necessarily required to get to Tier-2, we definitely should
    coordinate the efforts and update the documentation as soon as any such
    ports are merged.
    
    Note that the targets are already used by multiple commercial and non
    commercial production systems, including, but not limited to:
    
     * Tianocore-EDK2 (Official UEFI SDK by Intel) comes with rust support
       in its staging repository (not part of any release, yet).
       (https://github.com/tianocore/edk2-staging/tree)
     * Intel's research program "Project Mu" uses the rust UEFI targets to
       show possible future replacements for Tianocore-EDK2.
     * The Rust OS "Redox" uses the UEFI targets for its bootloader.
       (https://www.redox-os.org/)
     * The hugely popular in-depth documentation of OS development in Rust
       by Philipp Oppermann uses the UEFI targets.
       (https://os.phil-opp.com/)
    
    Signed-off-by: David Rheinsberg <david.rheinsberg@gmail.com>
    dvdhrm committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    e849f9b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9d118c5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1564305 View commit details
    Browse the repository at this point in the history
  5. Allow using stable os::fd::raw items through unstable os::wasi module

    This fixes a regression from stable to nightly.
    
    Closes rust-lang#99502.
    bstrie committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    0eb28ab View commit details
    Browse the repository at this point in the history
  6. Initial (incomplete) implementation of transmutability trait.

    This initial implementation handles transmutations between types with specified layouts, except when references are involved.
    
    Co-authored-by: Igor null <m1el.2027@gmail.com>
    jswrenn and m1el committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    bc4a1de View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    18751a7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8c5c291 View commit details
    Browse the repository at this point in the history
  9. safe transmute: revise Hash, PartialEq impls on VariantDef, `Fi…

    …eldDef`
    
    Exhaustively destructure parameter(s) so that changes to type
    definitions will lead to compile errors, thus reminding contributors
    to re-assess the assumptions underpinning these impls.
    
    ref: rust-lang#92268
    ref: rust-lang#92268
    jswrenn committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    0fa70c3 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c0d0ce9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    4a15157 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    402644f View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    21d1ab4 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    b78c3da View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    2268603 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    aee5f31 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    8aca883 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    3ea9916 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    2f03cbd View commit details
    Browse the repository at this point in the history
  20. Rollup merge of rust-lang#92268 - jswrenn:transmute, r=oli-obk

    Initial implementation of transmutability trait.
    
    *T'was the night before Christmas and all through the codebase, not a miri was stirring — no hint of `unsafe`!*
    
    This PR provides an initial, **incomplete** implementation of *[MCP 411: Lang Item for Transmutability](rust-lang/compiler-team#411. The `core::mem::BikeshedIntrinsicFrom` trait provided by this PR is implemented on-the-fly by the compiler for types `Src` and `Dst` when the bits of all possible values of type `Src` are safely reinterpretable as a value of type `Dst`.
    
    What this PR provides is:
    - [x] [support for transmutations involving primitives](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/primitives)
    - [x] [support for transmutations involving arrays](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/arrays)
    - [x] [support for transmutations involving structs](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/structs)
    - [x] [support for transmutations involving enums](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/enums)
    - [x] [support for transmutations involving unions](https://github.com/jswrenn/rust/tree/transmute/src/test/ui/transmutability/unions)
    - [x] [support for weaker validity checks](https://github.com/jswrenn/rust/blob/transmute/src/test/ui/transmutability/unions/should_permit_intersecting_if_validity_is_assumed.rs) (i.e., `Assume::VALIDITY`)
    - [x] visibility checking
    
    What isn't yet implemented:
    - [ ] transmutability options passed using the `Assume` struct
    - [ ] [support for references](https://github.com/jswrenn/rust/blob/transmute/src/test/ui/transmutability/references.rs)
    - [ ] smarter error messages
    
    These features will be implemented in future PRs.
    GuillaumeGomez committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    fef95da View commit details
    Browse the repository at this point in the history
  21. Rollup merge of rust-lang#99723 - bstrie:wasifd, r=yaahc

    Allow using stable os::fd::raw items through unstable os::wasi module
    
    This fixes a regression from stable to nightly.
    
    Closes rust-lang#99502.
    GuillaumeGomez committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    46e21aa View commit details
    Browse the repository at this point in the history
  22. Rollup merge of rust-lang#99760 - dvdhrm:rw/uefiplat, r=ehuss

    doc/rustc: describe the uefi target platforms
    
    Add a `platform-support` entry to the rustc-docs for the different `*-unknown-uefi` targets. This describes in detail how this platform works, a few basic examples, and how to compile for the platform.
    
    Red Hat is sponsoring my work on this platform, so I am putting myself down as target maintainer. Co-maintainers are more than welcome to join me in the effort. Communication is going on off-list to coordinate the different efforts.
    
    Note that the ultimate goal is to move the UEFI targets to Tier-2 so bootloaders can be more easily supported in commercial products. This documentation is the first step towards that goal, but should be a viable documentation even for the current Tier-3 status of the targets.
    
    I also want to point out that there is an ongoing GSoC-effort to port the rust standard library to UEFI (by Ayush Singh). While this work is not necessarily required to get to Tier-2, we definitely should coordinate the efforts and update the documentation as soon as any such ports are merged.
    
    Note that the targets are already used by multiple commercial and non commercial production systems, including, but not limited to:
    
     * Tianocore-EDK2 (Official UEFI SDK by Intel) comes with rust support
       in its staging repository (not part of any release, yet).
       (https://github.com/tianocore/edk2-staging/tree)
     * Intel's research program "Project Mu" uses the rust UEFI targets to
       show possible future replacements for Tianocore-EDK2.
     * The Rust OS "Redox" uses the UEFI targets for its bootloader.
       (https://www.redox-os.org/)
     * The hugely popular in-depth documentation of OS development in Rust
       by Philipp Oppermann uses the UEFI targets.
       (https://os.phil-opp.com/)
    GuillaumeGomez committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    24f6d02 View commit details
    Browse the repository at this point in the history
  23. Rollup merge of rust-lang#99803 - JohnTitor:update-lazy-docs, r=compi…

    …ler-errors
    
    Update mentions to `rustc_metadata::rmeta::Lazy`
    
    While working on rust-lang/rustc-dev-guide#1411, I noticed there are still some mentions of `Lazy`. This updates them to `LazyValue`, `LazyArray`, or `LazyTable`.
    
    r? `@compiler-errors`
    
    Signed-off-by: Yuki Okushi <jtitor@2k36.org>
    GuillaumeGomez committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    e81f2f9 View commit details
    Browse the repository at this point in the history
  24. Rollup merge of rust-lang#99810 - GuillaumeGomez:fix-settings-slider-…

    …small-width, r=notriddle
    
    Fix settings slider on small width screens
    
    Fixes rust-lang#99794.
    
    Screenshot of the fix:
    
    ![Screenshot from 2022-07-27 14-17-08](https://user-images.githubusercontent.com/3050060/181250007-55f982d1-89db-45b7-a4f1-0d1729e6a3e3.png)
    
    cc `@jsha`
    r? `@notriddle`
    GuillaumeGomez committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    151ba52 View commit details
    Browse the repository at this point in the history
  25. Rollup merge of rust-lang#99817 - notriddle:notriddle/clean-trait-rem…

    …oval, r=GuillaumeGomez
    
    rustdoc: remove Clean trait impls for more items
    
    Follow up to rust-lang#99638 and rust-lang#99672
    GuillaumeGomez committed Jul 27, 2022
    Configuration menu
    Copy the full SHA
    6c23495 View commit details
    Browse the repository at this point in the history