A versão mais recente da popular linguagem de programação Rust, a 1.82, traz uma série de novos recursos e melhorias significativas que atendem a solicitações de longa data da comunidade. Neste blog post, vamos explorar as principais novidades desta atualização e entender como elas impactam o desenvolvimento com Rust.
Exibição de Informações do Gerenciador de Pacotes Cargo
Uma das principais adições no Rust 1.82 é o novo subcomando cargo info
, que permite aos desenvolvedores visualizar informações sobre um pacote diretamente no registro do Cargo. Essa funcionalidade foi solicitada pela comunidade há quase 10 anos e finalmente se tornou realidade.
Anteriormente, os desenvolvedores precisavam recorrer a extensões de terceiros ou a outras ferramentas para obter essas informações. Agora, com o cargo info
, eles podem acessar detalhes como a descrição do pacote, suas dependências, metadados e muito mais, diretamente da linha de comando.
Essa melhoria simplifica o fluxo de trabalho dos desenvolvedores, permitindo que eles obtenham informações cruciais sobre os pacotes que estão usando sem sair do ambiente do Cargo.
Suporte Aprimorado para macOS em Arm
Outra novidade importante no Rust 1.82 é o suporte de nível 1 para o alvo aarch64-apple-darwin
, que representa o macOS em CPUs Arm de 64 bits. Isso significa que o Rust agora oferece a mais alta garantia de funcionalidade para esse ambiente, colocando-o no mesmo nível de suporte que os alvos Arm Linux de 64 bits e macOS x86, Linux e Windows.
Anteriormente, o suporte para macOS em Arm era classificado como nível 2, o que significava que, embora fosse possível usar o Rust nessa plataforma, não havia a mesma garantia de compatibilidade e estabilidade. Com a atualização para nível 1, os desenvolvedores podem confiar que suas aplicações Rust irão funcionar corretamente no macOS com CPUs Arm.
Além disso, os alvos para o Mac Catalyst, uma tecnologia da Apple que permite executar aplicativos iOS nativamente no Mac, também foram atualizados para o nível 2 de suporte.
Outras Melhorias e Recursos
Além das novidades mencionadas, o Rust 1.82 também traz outras melhorias e recursos interessantes:
Sintaxe use<..>
para Controlar Parâmetros de Tempo de Vida
O Rust agora suporta a sintaxe use<..>
dentro de certos limites de Trait
, permitindo que os desenvolvedores controlem quais parâmetros genéricos de tempo de vida são capturados.
Tipos de Posição de Retorno impl Trait
(RPIT)
Os tipos de posição de retorno impl Trait
(RPIT) em Rust agora capturam certos parâmetros genéricos. Isso afeta a verificação de empréstimo e permite que o parâmetro genérico seja usado no tipo oculto.
Sintaxe Nativa para Criar Ponteiros Brutos
O Rust 1.82 introduz uma nova sintaxe nativa para criar ponteiros brutos, simplificando o trabalho com esse tipo de ponteiro.
unsafe extern
e Atributos "Inseguros"
O Rust 1.82 permite que os desenvolvedores escrevam unsafe extern
, garantindo que todas as assinaturas contidas no bloco extern
estejam corretas. Além disso, alguns atributos Rust, como no-mangle
, agora são considerados "inseguros" e devem ser escritos com o prefixo #unsafe
.
Padrões para Tipos Vazios e Comportamento de NaN
O Rust 1.82 também padroniza um conjunto de regras sobre como valores NaN
(não numéricos) se comportam e permite que padrões que correspondem a tipos vazios sejam omitidos.
Uso de Inteiros como Imediatos no const
Assembly
O Rust 1.82 introduz o operando const
assembly, que oferece uma maneira de usar inteiros como imediatos sem primeiro armazená-los em um registrador.
Essas são apenas algumas das principais novidades trazidas pelo Rust 1.82. Com essa atualização, a linguagem continua evoluindo e atendendo às necessidades da comunidade de desenvolvedores, tornando o Rust ainda mais poderoso e acessível.
Se você já usa o Rust, certifique-se de atualizar para a versão 1.82 e aproveitar todos esses novos recursos e melhorias. E se você ainda não conhece o Rust, agora é um ótimo momento para explorar essa linguagem de programação inovadora e segura.