Também no Rust 1.82, aarch64-apple-darwin para macOS em CPUs Arm de 64 bits agora é um alvo Rust de nível 1, apoiado pela mais alta garantia de funcionamento adequado. Cada mudança no repositório Rust deve passar por testes completos em cada alvo de nível 1 antes de poder ser mesclada. Este alvo foi introduzido como nível 2 no Rust 1.49, disponibilizando-o em rustup. O novo marco coloca o alvo aarch64-apple-darwin no mesmo nível dos alvos Arm Linux de 64 bits e x86 macOS, Linux e Windows. Além disso, os alvos para Mac Catalyst, uma tecnologia da Apple para executar aplicativos iOS nativamente no Mac, agora são de nível 2.

Rust 1.82 segue o lançamento de 5 de setembro do Rust 1.81, que estabilizou o Error trait na biblioteca principal do Rust. Em outras partes do Rust 1.82:

  • Rust agora suporta o use<..> sintaxe dentro de certo impl Trait limites para controlar quais parâmetros genéricos de tempo de vida são capturados. Posição de retorno impl Trait Os tipos (RPIT) no Rust capturam certos parâmetros genéricos. A captura de um parâmetro genérico permite que o parâmetro seja usado no tipo oculto. Isso, por sua vez, afeta a verificação de empréstimos.
  • A sintaxe nativa para criar um ponteiro bruto é apresentada.
  • É responsabilidade das pessoas que escrevem o extern bloco para garantir que todas as assinaturas contidas nele estão corretas; assim, os desenvolvedores agora podem escrever extern. Um benefício disso é que os itens dentro de um ambiente inseguro extern bloco pode ser marcado como seguro para uso.
  • Alguns atributos do Rust, como no-manglepode ser usado para causar comportamento indefinido sem nenhum bloqueio inseguro. Se este fosse um código normal, seria necessário que estes fossem colocados em um unsafe {} bloco, mas até agora, os atributos não tiveram sintaxe comparável. Para refletir que estes atributos podem minar as garantias de segurança contra ferrugem, estes agora são considerados “inseguros” e devem ser escritos da seguinte forma: #unsafe(no_mangle)) pub fn my global_function (){}
  • Os padrões que correspondem a tipos vazios agora podem ser omitidos.
  • Rust 1.82 padroniza um conjunto de regras sobre como NaN (não um número) os valores se comportam.
  • O const O operando assembly agora oferece uma maneira de usar números inteiros como imediatos sem primeiro armazená-los em um registro.