
A equipa de desenvolvimento do Rust disponibilizou oficialmente a versão 1.99 da linguagem de programação de sistemas, introduzindo o suporte estabilizado a funções variádicas da C-ABI e novas ferramentas para a gestão de memória e código não seguro.
Segundo a publicação no blog oficial da linguagem Rust, a nova versão passa a permitir escrever funções variádicas diretamente em Rust com as ABI "C" e "C-unwind", sem necessidade de recorrer apenas a chamadas de funções externas como as da biblioteca libc. Esta funcionalidade preenche uma lacuna antiga em aplicações com utilização intensiva de FFI (Foreign Function Interface) que exigem compatibilidade com listas de argumentos variáveis ao estilo C.
Avanços na gestão de memória e novas APIs
Além do suporte a funções variádicas, a versão traz melhorias práticas para a gestão de memória. Três novas funções, especificamente Layout::for_value_raw, mem::size_of_val_raw e mem::align_of_val_raw, passam a permitir a obtenção de informações sobre o tamanho e o alinhamento a partir de ponteiros brutos (raw pointers) para tipos de dimensão fixa ou dinâmica.
A documentação da linguagem foi igualmente atualizada para recomendar que se evitem padrões de recuperação de memória após a utilização de Box::leak, apontando para interações problemáticas com as otimizações do compilador e a futura estabilização de alocadores personalizados. Diversas outras APIs alcançaram o estado estável, tais como as implementações de IntoIterator para arrays dentro de boxes, VecDeque::retain_back e String::from_utf8_lossy_owned.
Atualização e evolução da linguagem
Os programadores com a ferramenta rustup instalada podem efetuar a atualização imediata através do comando rustup update stable. À medida que o Rust se aproxima do marco simbólico da versão 2.0, esta disponibilização mantém o ritmo metódico de estabilização de recursos maturados nas compilações nightly, contando com os contributos de dezenas de membros da comunidade que participaram no desenvolvimento.







Nenhum comentário
Seja o primeiro!