...

Rust 1.90 Facilita a Vida de Desenvolvedores com Publicação Aprimorada de Workspaces no Cargo

A comunidade Rust acaba de receber a versão 1.90 da linguagem, trazendo consigo uma novidade que promete simplificar o fluxo de trabalho de muitos desenvolvedores: o suporte nativo para publicação de workspaces no Cargo, o gerenciador de pacotes do Rust. Essa atualização, anunciada em 18 de setembro, já está disponível para quem utiliza o rustup – basta rodar o comando rustup update stable.

Publicação Simplificada de Workspaces

A grande estrela desta versão é, sem dúvida, o novo comando cargo publish --workspace. Para quem não está familiarizado, workspaces no Rust são como grandes projetos que englobam múltiplos crates (as unidades de código Rust). Antes, publicar um workspace envolvia uma certa ginástica, exigindo ferramentas externas ou um processo manual para garantir que os crates fossem publicados na ordem correta, respeitando as dependências entre eles.

Com o novo comando, o Cargo se encarrega de orquestrar essa publicação de forma inteligente. Além de automatizar o processo, a integração nativa permite que o Cargo execute uma verificação completa antes da publicação, construindo todos os crates do workspace como se já estivessem publicados. Isso aumenta a confiança de que tudo funcionará como esperado após a publicação.

O que essa mudança significa?

Para equipes que trabalham em projetos Rust complexos e bem estruturados em workspaces, essa atualização é um presente. A automação da publicação não apenas economiza tempo, mas também reduz a probabilidade de erros humanos. Imagine a seguinte situação: você tem um workspace com dez crates, cada um dependendo de outros. Publicar manualmente exigiria um planejamento cuidadoso e a execução de múltiplos comandos. Agora, um simples cargo publish --workspace resolve a questão.

Outras Novidades e Mudanças

A versão 1.90 também traz outras mudanças importantes, como a despromoção do target x86_64-apple-darwin de Tier 1 para Tier 2. Isso significa que o suporte para macOS em arquitetura x86-64 será gradualmente reduzido, acompanhando a tendência da Apple de abandonar essa arquitetura. É importante notar que essa mudança não terá impacto imediato nos usuários, mas é um sinal de que o foco da comunidade Rust está se movendo para outras plataformas.

Além disso, o target x86_64-unknown-linux-gnu agora utiliza o LLD linker por padrão, o que deve resultar em um desempenho de linkedagem aprimorado em comparação com o BFD Linux linker. A expectativa é que os desenvolvedores percebam uma redução no tempo de compilação, sem outras alterações visíveis. Caso ocorram problemas, é possível reverter para o linker anterior através de uma flag no compilador.

Rust Continua a Evoluir

A linguagem Rust tem ganhado cada vez mais destaque no cenário da programação, especialmente em áreas como sistemas embarcados, desenvolvimento de jogos e aplicações de alta performance. Sua combinação de segurança de memória, concorrência sem data races e desempenho comparável ao C++ atrai um número crescente de desenvolvedores. A comunidade Rust é vibrante e ativa, contribuindo constantemente para a evolução da linguagem e de suas ferramentas.

A chegada do Rust 1.90 é mais um passo nessa jornada. A simplificação da publicação de workspaces é um exemplo de como a linguagem está se tornando cada vez mais amigável para desenvolvedores de todos os níveis. Se você ainda não experimentou Rust, talvez seja a hora de dar uma chance. Com certeza, você encontrará uma linguagem poderosa, versátil e com um futuro promissor.

Para saber mais sobre as novidades do Rust 1.90, você pode consultar o anúncio oficial no blog da linguagem [Link para o anúncio oficial] (caso exista) e a documentação do Cargo [Link para a documentação do Cargo]. Explore também a comunidade Rust no Reddit /r/rust e no Stack Overflow Rust no Stack Overflow para tirar suas dúvidas e compartilhar seu conhecimento.

Compartilhe:

Descubra mais sobre MicroGmx

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

Continue reading