More Rust Code Sent In For Linux 6.2 To Implement More Functionality
Miguel Ojeda has already sent out the pull request of new Rust code for Linux 6.2. The Rust code for Linux 6.2 continues building up more functionality in this programming language so it can be more useful to kernel developers. This pull is just infrastructure work and not yet introducing any new Rust-written hardware drivers or the like.
The Rust changes summed up by Ojeda for Linux 6.2 include:
- String and formatting: new types `CString`, `CStr`, `BStr` and `Formatter`; new macros `c_str!`, `b_str!` and `fmt!`.
- Errors: the rest of the error codes from `errno-base.h`, as well as some `From` trait implementations for the `Error` type.
- Printing: the rest of the `pr_*!` levels and the continuation one `pr_cont!`, as well as a new sample.
- `alloc` crate: new constructors `try_with_capacity()` and `try_with_capacity_in()` for `RawVec` and `Vec`.
- Procedural macros: new macros `#[vtable]` and `concat_idents!`, as well as better ergonomics for `module!` users.
- Asserting: new macros `static_assert!`, `build_error!` and `build_assert!`, as well as a new crate `build_error` to support them.
- Vocabulary types: new types `Opaque` and `Either`.
- Debugging: new macro `dbg!`.
See the Rust pull request for the full list of Rust patches targeting the Linux 6.2 merge window.