• Linus Torvalds's avatar
    Merge tag 'rust-6.9' of https://github.com/Rust-for-Linux/linux · 8ede842f
    Linus Torvalds authored
    Pull Rust updates from Miguel Ojeda:
     "Another routine one in terms of features. We got two version upgrades
      this time, but in terms of lines, 'alloc' changes are not very large.
    
      Toolchain and infrastructure:
    
       - Upgrade to Rust 1.76.0
    
         This time around, due to how the kernel and Rust schedules have
         aligned, there are two upgrades in fact. These allow us to remove
         two more unstable features ('const_maybe_uninit_zeroed' and
         'ptr_metadata') from the list, among other improvements
    
       - Mark 'rustc' (and others) invocations as recursive, which fixes a
         new warning and prepares us for the future in case we eventually
         take advantage of the Make jobserver
    
      'kernel' crate:
    
       - Add the 'container_of!' macro
    
       - Stop using the unstable 'ptr_metadata' feature by employing the now
         stable 'byte_sub' method to implement 'Arc::from_raw()'
    
       - Add the 'time' module with a 'msecs_to_jiffies()' conversion
         function to begin with, to be used by Rust Binder
    
       - Add 'notify_sync()' and 'wait_interruptible_timeout()' methods to
         'CondVar', to be used by Rust Binder
    
       - Update integer types for 'CondVar'
    
       - Rename 'wait_list' field to 'wait_queue_head' in 'CondVar'
    
       - Implement 'Display' and 'Debug' for 'BStr'
    
       - Add the 'try_from_foreign()' method to the 'ForeignOwnable' trait
    
       - Add reexports for macros so that they can be used from the right
         module (in addition to the root)
    
       - A series of code documentation improvements, including adding
         intra-doc links, consistency improvements, typo fixes...
    
      'macros' crate:
    
       - Place generated 'init_module()' function in '.init.text'
    
      Documentation:
    
       - Add documentation on Rust doctests and how they work"
    
    * tag 'rust-6.9' of https://github.com/Rust-for-Linux/linux: (29 commits)
      rust: upgrade to Rust 1.76.0
      kbuild: mark `rustc` (and others) invocations as recursive
      rust: add `container_of!` macro
      rust: str: implement `Display` and `Debug` for `BStr`
      rust: module: place generated init_module() function in .init.text
      rust: types: add `try_from_foreign()` method
      docs: rust: Add description of Rust documentation test as KUnit ones
      docs: rust: Move testing to a separate page
      rust: kernel: stop using ptr_metadata feature
      rust: kernel: add reexports for macros
      rust: locked_by: shorten doclink preview
      rust: kernel: remove unneeded doclink targets
      rust: kernel: add doclinks
      rust: kernel: add blank lines in front of code blocks
      rust: kernel: mark code fragments in docs with backticks
      rust: kernel: unify spelling of refcount in docs
      rust: str: move SAFETY comment in front of unsafe block
      rust: str: use `NUL` instead of 0 in doc comments
      rust: kernel: add srctree-relative doclinks
      rust: ioctl: end top-level module docs with full stop
      ...
    8ede842f
Makefile 66.1 KB