...

Rust 1.90: Publicação Facilitada em Workspaces e Adaptações Estratégicas

A comunidade Rust acaba de receber a versão 1.90 da linguagem, trazendo consigo novidades significativas que prometem otimizar o fluxo de trabalho e preparar o terreno para futuras adaptações. O destaque principal é a incorporação nativa do suporte para publicação de workspaces no Cargo, o gerenciador de pacotes do Rust. Essa funcionalidade, há muito aguardada, simplifica a publicação de múltiplos crates (bibliotecas ou projetos Rust) que compartilham uma estrutura de workspace.

Publicação Simplificada de Workspaces

Anteriormente, para publicar um workspace, desenvolvedores recorriam a ferramentas externas ou a processos manuais complexos, garantindo a ordem correta de publicação para respeitar as dependências entre os crates. Agora, com o comando cargo publish --workspace, o Cargo automatiza esse processo, publicando todos os crates na ordem correta e verificando as dependências. Essa integração nativa permite que o Cargo execute uma verificação completa antes da publicação, assegurando que todos os crates sejam construídos como se já estivessem publicados.

A nova funcionalidade não apenas economiza tempo e esforço, mas também minimiza a possibilidade de erros humanos. Para equipes que trabalham em projetos modulares complexos, essa atualização representa um ganho considerável em eficiência.

Ajustes Estratégicos: x86-64-apple-darwin e LLD Linker

Além da melhoria na publicação de workspaces, o Rust 1.90 traz mudanças importantes relacionadas a alvos de compilação e linkagem. O alvo x86_64-apple-darwin (Macs com processadores Intel) foi rebaixado de Tier 1 para Tier 2. Essa decisão reflete a tendência de descontinuação do suporte à arquitetura x86-64 pela Apple e a iminente suspensão dos runners gratuitos x86-64 do GitHub para repositórios públicos.

É crucial entender que essa mudança não implica na interrupção imediata do suporte. O projeto Rust continuará distribuindo builds da biblioteca padrão e do compilador para uso via rustup ou outros métodos de instalação, enquanto o alvo permanecer em Tier 2. No entanto, a longo prazo, a redução de cobertura para esse alvo pode levar a incompatibilidades. Essa previsão alinha-se com o movimento da Apple em direção à arquitetura ARM com seus chips da série M (Apple Silicon), indicando um futuro onde o suporte para x86-64 será gradualmente descontinuado.

Outra novidade é a utilização do LLD linker como padrão para o alvo x86_64-unknown-linux-gnu. O LLD, um linker mais moderno, promete melhorar o desempenho da linkagem em comparação com o tradicional BFD Linux linker. A expectativa é que essa mudança resulte em tempos de compilação mais rápidos, sem afetar a experiência do desenvolvedor. Caso ocorram problemas, é possível reverter ao comportamento anterior através da flag -C linker-features=-lld.

Um Passo Adiante

O Rust 1.90 demonstra o compromisso contínuo da equipe de desenvolvimento em aprimorar a experiência do usuário e adaptar a linguagem às mudanças no cenário tecnológico. A facilitação da publicação de workspaces e a otimização do processo de linkagem são melhorias bem-vindas, enquanto a flexibilização em relação ao suporte de arquiteturas reflete uma postura proativa diante das transformações da indústria de computadores. Rust continua a evoluir, consolidando-se como uma linguagem de programação moderna e preparada para os desafios do futuro.

Compartilhe:

Descubra mais sobre MicroGmx

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading