Rust 1.65 lançado com novos recursos, melhorias e correções

E foi lançada Rust 1.65 com novos recursos, melhorias e correções, e mais. Confira as novidades e veja como instalar no Linux.

Rust é uma linguagem de programação multiprocessal compilada, de propósito geral, desenvolvida pela Mozilla e apoiada pela LLVM. Ela foi concebida para ser “uma linguagem segura, concorrente e prática” e, acima de tudo, para substituir as linguagens C e C++.

Rust é uma linguagem de programação de código aberto que suporta programação funcional pura, processual, imperativa e orientada a objetos.

Essa linguagem de programação funciona de maneira extremamente rápida, evita os segfaults (falhas de segmentação) e garante a segurança dos subprocessos (threads).

Ela suporta abstrações de custo zero, semântica de movimento, segurança de memória garantida, encadeamentos genéricos baseados em recursos e não baseados em dados e correspondência de padrões, e também suporta inferência de tipos, tempo mínimo de execução, bem como links C eficientes.

Agora, a equipe Rust anunciou a disponibilidade da nova versão de sua linguagem de programação Rust 1.65.

Novidades do Rust 1.65

Rust 1.65 lançado com novos recursos, melhorias e correções

Dentre as novidades (adições, melhorias e correções) anunciadas entre seu site oficial e seu site no GitHub, vale destacar algumas importantes, como:

Mudanças GAT: Tipo e Const

Os genéricos de vida (GAT), “tipo” e “const”, agora podem ser definidos em tipos associados, o que torna sua funcionalidade mais versátil, facilitando o uso de uma série de padrões que atualmente não podem ser escritos.

Novo tipo de “declaração let”

Foi introduzido um novo tipo de “instrução let” que incorpora um padrão refutável e um “else” na forma de um bloco divergente que é executado quando esse padrão não corresponde.

As declarações normais de “let” só podem usar padrões irrefutáveis, estaticamente conhecidos por sempre corresponderem.

Considerando que, esta nova compilação emprega um padrão refutável, que pode combinar e vincular variáveis ​​no escopo circundante como um letb normal. Ou divergir quando o padrão não corresponder.

função break em blocos rotulados

Expressões de bloco simples agora podem ser marcadas como um destino de interrupção, o que agora permite que um bloco seja encerrado antecipadamente. Algo muito semelhante a usar uma instrução “goto”, sem ser um salto arbitrário. Somente de dentro de um bloco até o final.

Agora, esta nova função rotulada “break” também pode incluir um valor de expressão, assim como com loops. O que permite que um bloco de várias instruções tenha um valor de “retorno” antecipado.

Divisão de informações de depuração do Linux

Para saber mais sobre essa versão do Rust 1.65, acesse a nota de lançamento.

Como instalar ou atualizar o Rust 1.65

O suporte para dividir informações de depuração no macOS agora também é estável no Linux. Por exemplo:

  • Csplit-debuginfo=unpacked dividirá as informações de depuração em vários arquivos .dwo (arquivos de objeto DWARF).
  • Csplit-debuginfo=packed produzirá um único pacote .dwp (DWARF) junto com seu binário de saída com todas as informações de depuração compactadas.
  • Csplit-debuginfo=off ainda é o comportamento padrão, que inclui dados DWARF em .debug_*, as seções ELF de objetos e o binário final.

Outras novidades

  1. O push MIR agora está habilitado para compilações otimizadas. Isso fornece uma melhoria de 3 a 10% nos tempos de construção para caixas do mundo real.
  2. Ao agendar compilações, o Cargo agora classifica a fila de trabalhos pendentes para melhorar o desempenho.
  3. No nível do compilador, foi adicionado suporte para gerar arquivos profraw únicos por padrão ao usar “-C instrument-coverage”. Além disso, agora é permitido usar links dinâmicos para destinos iOS/tvOS, entre muitas outras coisas.

Para instalar a versão mais recente do Rust nas principais distribuições Linux, use esse tutorial:
Como instalar a linguagem de programação Rust no Linux

Se você possui uma versão anterior do Rust instalada via rustup, obter o Rust 1.62 é tão fácil quanto:

rustup update stable
Sair da versão mobile