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 5 pull requests #119777

Merged
merged 11 commits into from
Jan 9, 2024
Merged

Rollup of 5 pull requests #119777

merged 11 commits into from
Jan 9, 2024

Commits on Nov 26, 2023

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

Commits on Dec 5, 2023

  1. chore: Bump compiler_builtins

    Actually closes rust-lang#118079.
    Patryk27 committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    a2b79cd View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Configuration menu
    Copy the full SHA
    e44b11f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    760673e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    684aa2c View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. core: panic: fix broken link

    Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
    ojeda committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    18a1ca6 View commit details
    Browse the repository at this point in the history
  2. Rollup merge of rust-lang#118241 - fortanix:raoul/rust-langgh-530-mak…

    …e_userspace_types_send, r=Nilstrieb,dtolnay
    
    Making `User<T>` and `User<[T]>` `Send`
    
    All `User` types in SGX point to owned memory in userspace. Special care is always needed when accessing this memory as it must be assumed that an attacker is always able to change its content. Therefore, we can also easily transfer this memory between thread boundaries.
    
    cc: ``@mzohreva`` ``@vn971`` ``@belalH`` ``@jethrogb``
    GuillaumeGomez committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    5e75d46 View commit details
    Browse the repository at this point in the history
  3. Rollup merge of rust-lang#118645 - Patryk27:bump-compiler-builtins, r…

    …=Nilstrieb,dtolnay
    
    chore: Bump compiler_builtins
    
    Actually closes rust-lang#118079.
    GuillaumeGomez committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    87b0de6 View commit details
    Browse the repository at this point in the history
  4. Rollup merge of rust-lang#118680 - djkoloski:shell_argfiles, r=compil…

    …er-errors
    
    Add support for shell argfiles
    
    Closes rust-lang/compiler-team#684
    GuillaumeGomez committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    3da96ae View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#119721 - compiler-errors:constness-implicat…

    …ion, r=fee1-dead
    
    `~const` trait and projection bounds do not imply their non-const counterparts
    
    This PR removes the hack where we install a non-const trait and projection bound for every `const_trait` and `~const` projection bound we have in the AST. It ends up messing up more things than it fixes, see words below.
    
    Fixes rust-lang#119718
    
    cc `@fmease` `@fee1-dead` `@oli-obk`
    r? fee1-dead or one of y'all i don't care
    
    ---
    
    My understanding is that this hack was added to support the following code:
    
    ```rust
    pub trait Owo<X = <Self as Uwu>::T> {}
    
    #[const_trait]
    pub trait Uwu: Owo {}
    ```
    
    Which is concretely lifted from in the `FromResidual` and `Try` traits. Since within the param-env of `trait Uwu`, we only know that `Self: ~const Uwu` and not `Self: Uwu`, the projection `<Self as Uwu>::T` is not satsifyable.
    
    This causes problems such as rust-lang#119718, since instantiations of `FnDef` types coming from `const fn` really do **only** implement one of `FnOnce` or `const FnOnce`!
    
    ---
    
    In the long-term, I believe that such code should really look something more like:
    
    ```rust
    #[const_trait]
    pub trait Owo<X = <Self as ~const Uwu>::T> {}
    
    #[const_trait]
    pub trait Uwu: Owo {}
    ```
    
    ... and that we should introduce some sort of `<T as ~const Foo>::Bar` bound syntax, since due to the fact that `~const` bounds can be present in item bounds, e.g.
    
    ```rust
    #[const_trait] trait Foo { type Bar: ~const Destruct; }
    ```
    
    It's easy to see that `<T as Foo>::Bar` and `<T as ~const Foo>::Bar` (or `<T as const Foo>::Bar`) can be distinct types with distinct item bounds!
    
    **Admission**: I know I've said before that I don't like `~const` projection syntax, I do at this point believe they're necessary to fully express bounds and types in a maybe-const world.
    GuillaumeGomez committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    f4d0625 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#119768 - ojeda:panic-link, r=Nilstrieb

    core: panic: fix broken link
    GuillaumeGomez committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    d61b92f View commit details
    Browse the repository at this point in the history