Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • L linux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Smelkov
  • linux
  • Repository
  • linux
  • rust
  • kernel
  • alloc
  • box_ext.rs
Find file BlameHistoryPermalink
  • Jubilee Young's avatar
    rust: alloc: eschew `Box<MaybeUninit<T>>::write` · 0903b9e2
    Jubilee Young authored Aug 22, 2024
    Upstream Rust's libs-api team has consensus for stabilizing some of
    `feature(new_uninit)`, but not for `Box<MaybeUninit<T>>::write`. Instead,
    we can use `MaybeUninit<T>::write`, so Rust for Linux can drop the
    feature after stabilization. That will happen after merging, as the FCP
    has completed [1].
    
    This is required before stabilization because remaining-unstable API
    will be divided into new features. This code doesn't know about those
    yet. It can't: they haven't landed, as the relevant PR is blocked on
    rustc's CI testing Rust-for-Linux without this patch.
    
    [ The PR has landed [2] and will be released in Rust 1.82.0 (expected on
      2024-10-17), so we could conditionally enable the new unstable feature
      (`box_uninit_write` [3]) instead, but just for a single `unsafe` block
      it is probably not worth it. For the time being, I added it to the
      "nice to have" section of our unstable features list. - Miguel ]
    
    Link: https://github.com/rust-lang/rust/issues/63291#issuecomment-2183022955 [1]
    Link: https://github.com/rust-lang/rust/pull/129416 [2]
    Link: https://github.com/rust-lang/rust/issues/129397
    
     [3]
    Signed-off-by: default avatarJubilee Young <workingjubilee@gmail.com>
    Reviewed-by: default avatarAlice Ryhl <aliceryhl@google.com>
    Reviewed-by: default avatarTrevor Gross <tmgross@umich.edu>
    [ Reworded slightly. - Miguel ]
    Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
    0903b9e2
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7