O novo kernel Linux 6.1 fundiu a infraestrutura Rust inicial. Porém, a promessa nesta versão do kernel que acaba de sair neste final de semana, não há nenhuma funcionalidade baseada em Rust para usuários finais. Na v6.1 está apenas parte do código inicial para construir o suporte à linguagem de programação Rust e continua assim para Linux 6.2. A solicitação pull de mais habilitação do Rust já foi enviada para a janela de mesclagem do Linux 6.2. Portanto, o código Rust enviado para o Linux 6.2 implementa mais funcionalidades.
Miguel Ojeda já enviou o pull request do novo código Rust para Linux 6.2. O código Rust para Linux 6.2 continua construindo mais funcionalidades nesta linguagem de programação para que possa ser mais útil para desenvolvedores de kernel. Essa atração é apenas um trabalho de infraestrutura e ainda não apresenta nenhum novo driver de hardware escrito em Rust ou algo semelhante.
O Linux 6.1 atualmente possui cerca de 12,5 mil linhas iniciais de novo código fornecem apenas a infraestrutura básica e alguma integração muito básica. Assim, futuras solicitações pull adicionarão mais abstrações de subsistema, vários drivers escritos em Rust e muito mais. Construir o kernel Linux com o suporte Rust permanece opcional.
Código Rust enviado para o Linux 6.2 implementa mais funcionalidades
As mudanças Rust resumidas por Ojeda para Linux 6.2 incluem:
String e formatação: novos tipos `CString`, `CStr`, `BStr`e `Formatter`; novas macros `c_str!`, `b_str!` e `fmt!`.
Erros: o restante dos códigos de erro de `errno-base.h`, bem como algumas implementações de características `From` para o tipo `Error`.
Impressão: o restante dos níveis `pr_*!` e a continuação `pr_cont!`, bem como uma nova amostra.
`alloc` crate: novos construtores `try_with_capacity()` e `try_with_capacity_in()` para `RawVec` e `Vec`.
Macros processuais: novas macros `#[vtable]` e `concat_idents!`, bem como melhor ergonomia para os usuários do `module!`.
Asserting: novas macros `static_assert!`, `build_error!` e `build_assert!`, bem como uma nova caixa `build_error` para apoiá-los.- Tipos de vocabulário: novos tipos `Opaque` e `Either`.
Depuração: nova macro `dbg!`.
Consulte a solicitação pull do Rust para obter a lista completa de patches do Rust direcionados à janela de mesclagem do Linux 6.2.