A Linguagem de Programação Rust

por Steve Klabnik e Carol Nichols, com contribuições da Comunidade Rust

Esta versão do texto assume que você está utilizando Rust 1.37.0 ou superior com edition="2018" no arquivo Cargo.toml de todos os projetos que utilizarem recursos de edição 2018 de Rust. Veja a [seção "Instalação" do capítulo 1][install] para instalar ou atualizar Rust, e veja a o novo [apêndice E][editions] para informações sobre as edições.

A edição 2018 da linguagem Rust inclui várias melhorias que fazem Rust mais ergonômica e fácil de aprender. Esta iteração do livro contém várias mudanças que refletem essas melhorias:

  • O capítulo 7, "Administrando Projetos em Expansão com Pacotes, Crates, e Módulos", foi quase todo reescrito. O sistema de módulos e a forma como os caminhos funcionam na edição 2018 foram feitos mais consistentes.
  • O capítulo 10 tem novas seções intituladas "Traits como Parâmetros" e "Retornando Tipos que Implementam Traits" que explicam a nova sintaxe impl Trait.
  • O capítulo 11 tem uma nova seção intitulada "Usando Result<T, E> em Testes" que mostra como escrever testes que utilizem o operador ?.
  • A seção "Ciclos de Vida Avançados" no capítulo 19 foi removida porque melhorias no compilador tornaram os construtos daquela seção ainda mais raros.
  • O apêndice D anterior, "Macros", foi expandido para incluir macros procedurais e foi movido para a seção "Macros" no capítulo 19.
  • O apêndice A, "Palavras Chave", também explica a nova feature de identificadores brutos (raw identifiers) que permitem que códigos escritos nas edições 2015 e 2018 interoperem.
  • O apêndice D agora é intitulado "Ferramentas de Desenvolvimento Úteis" e cobre as ferramentas recentemente lançadas que o ajudam a escrever código Rust.
  • Nós corrigimos vários pequenos erros e palavras imprecisas ao longo do livro. Muito obrigado aos leitores que os reportaram!

Note que qualquer código em iterações anteriores de A Linguagem de Programação Rust que compilavam irão continuar a compilar sem edition="2018" no Cargo.toml do projeto, mesmo que você atualize o compilador Rust que você utiliza. Estas são as garantias de compatibilidade retroativa de Rust trabalhando!

O livro no formato HTML está disponível online em https://doc.rust-lang.org/stable/book/ e offline em instalações de Rust feitas com rustup. Rode rustup docs --book para abrir.

Este texto está disponível nos [formatos brochura e ebook pela No Starch Press][nsprust].