Versão da linguagem de programação Rust 1.35

aconteceu liberação da linguagem de programação do sistema Ferrugem 1.35, desenvolvido pelo projeto Mozilla. A linguagem se concentra na segurança da memória, fornece gerenciamento automático de memória e fornece um meio de alcançar alto paralelismo de tarefas sem usar um coletor de lixo ou tempo de execução.

O gerenciamento automático de memória do Rust libera o desenvolvedor da manipulação de ponteiros e protege contra problemas decorrentes da manipulação de memória de baixo nível, como acessos de memória pós-liberação, desreferências de ponteiro nulo, saturação de buffer e assim por diante. Está sendo desenvolvido um gerenciador de pacotes para distribuir bibliotecas, garantir a montagem e gerenciar dependências pelo projeto. Carga, permitindo que você obtenha as bibliotecas necessárias para o programa com um clique. Um repositório é suportado para hospedar bibliotecas caixas.io.

O principal inovações:

  • Características FnOnce, FnMut и Fn implementado para alocado em heap tipos em caixa Box‹dyn FnOnce›, Box‹dyn FnMut› e Box‹dyn Fn›;
  • Adicionado por oportunidade lançando encerramentos para ponteiros de função inseguros (unsafe fn);
  • Implementada a capacidade de chamar a macro “dbg!” sem argumentos para exibir o nome do arquivo e o número da linha em stderr sem inspecionar a variável, o que é conveniente para depurar a operação de expressões condicionais;
  • Adicionado método " aos tipos de ponto flutuante f32 e f64cópia» copiar um caractere de um número para outro;
  • Método adicionado "contém“, que permite verificar se o valor especificado está dentro do intervalo;
  • Método adicionado Ref:Célula:map_split, permitindo refletir e separar o valor RefCell emprestado para diferentes componentes dos dados emprestados;
  • Método adicionado RefCell::substituir_com para substituir o valor RefCell atual e retornar o valor antigo como resultado;
  • Método adicionado ptr::hash fazer hash de um ponteiro ou referência por um endereço em vez do valor endereçado;
  • Método adicionado Opção::copiado para copiar o conteúdo das opções Option‹&T› ou Option‹&mut T›;
  • Uma nova parcela de APIs foi transferida para a categoria estável, incluindo métodos que foram estabilizados
    f32::sinal de cópia,
    f64::sinal de cópia,
    RefCell::substituir_com,
    RefCell::map_split,
    ptr::hash,
    Faixa::contém,
    RangeFrom::contém,
    RangeTo::contém,
    GamaInclusive::contém,
    RangeToInclusive::contém e
    Opção::copiado;

  • Adicionada verificação drop_bounds ao clippy (linter), que é acionada ao adicionar uma ligação “T: Drop” à função;
  • O compilador adicionou suporte para uma nova plataforma de destino
    wasm32-desconhecido-wasi (interface WASI usar WebAssembly fora do navegador);

  • O kit de ferramentas Rust é adaptado para distribuições baseadas na biblioteca C padrão Musl.

Fonte: opennet.ru

Adicionar um comentário