Rust 1.60.0 Estável Lançado, Compilação Incremental Restaurada por Padrão

A versão estável do Rust 1.60.0 foi lançada oficialmente .

Principais novas mudanças

A compilação incremental restaura o padrão habilitado

A versão 1.60 reativou a compilação incremental. A equipe Rust continua trabalhando na correção de bugs na compilação incremental, e nenhum problema que causa quebra generalizada foi identificado, então a compilação incremental foi reativada. Além disso, a equipe do compilador continua trabalhando em estratégias de longo prazo para evitar esses problemas no futuro.

cobertura de código baseado em fonte

O suporte para análise de cobertura baseada em LLVM no rustc atingiu um estado estável e agora pode ser usado -Cinstrument-coveragepara reconstruir o código, por exemplo:

RUSTFLAGS="-C instrument-coverage" cargo build

Depois disso, o desenvolvedor pode executar o binário gerado e ele irá gerar um default.profrawarquivo no diretório atual (caminho e nome do arquivo podem ser substituídos por variáveis ​​de ambiente, veja a documentação para detalhes ).

rustup component add llvm-tools-preview
$(rustc --print sysroot)/lib/rustlib/x86_64-unknown-linux-gnu/bin/llvm-profdata merge -sparse default.profraw -o default.profdata
$(rustc --print sysroot)/lib/rustlib/x86_64-unknown-linux-gnu/bin/llvm-cov show -Xdemangler=rustfilt target/debug/coverage-testing \
    -instr-profile=default.profdata \
    -show-line-counts-or-regions \
    -show-instantiations

cargo --timings

A capacidade do Cargo de coletar informações de construção  usando --timings sinalizadores atingiu um estado estável.

$ cargo build --timings
   Compiling hello-world v0.1.0 (hello-world)
      Timing report saved to target/cargo-timings/cargo-timing-20220318T174818Z.html
    Finished dev [unoptimized + debuginfo] target(s) in 0.98s

Nova sintaxe para Cargo

Esta versão apresenta duas novas alterações para melhorar o suporte ao Cargo e como eles interagem com dependências opcionais:

  • Dependências com namespace
  • Dependência fraca (dependência fraca )

Lista de API estável

Alguns métodos e  implementações de traits  foram estabilizados, clique aqui para detalhes .

Endereço de download: https://github.com/rust-lang/rust/releases/tag/1.60.0

Acho que você gosta

Origin www.oschina.net/news/190169/rust-1-60-0-released
Recomendado
Clasificación