Trago a sua atenção uma seleção subjetiva de notícias enferrujadas para janeiro. Nesta seleção: Rust 1.32, Steve Klabnik e Nick Cameron saindo, quiche Cloudflare, analisador de ferrugem e dispositivo de memória de páginas, pesquisas de GUI e assíncronas, conferência Oxydyze para engenheiros internos.

O Rust 1.32 foi lançado. Comparado ao lançamento anterior em larga escala, no qual muitos esforços de toda a comunidade estavam concentrados, não há muitas inovações importantes:
Detalhes na tradução das notícias .
Steve Klabnik e Nick Cameron deixam a Mozilla

Triste notícia: Steve Klabnik e Nick "nrc" Cameron deixam a Mozilla.
A publicação de Steve "thank you, next" ( debate ) afirma que as principais razões são gratificações com a parte "externa" do Mozilla to Rust e com todos os tipos de questões financeiras simples. Steve quer encontrar trabalho relacionado ao Rust e tentará continuar participando da vida e do desenvolvimento da linguagem, embora certamente não esteja no volume antigo.
Em "Deixando a Mozilla e (a maior parte) o projeto Rust" ( discussão ), Nick diz que estava cansado deste projeto por sete anos e quer uma mudança de cenário. Ele já foi trabalhar no PingCAP :
"Iniciando no PingCAP" ( discussão ).
Guia para o analisador de ferrugem e Salsa

Alex @matklad postou um guia / tour da estrutura analisador de ferrugem (o que é isso ?, Discussão ):
O analisador de ferrugem usa a biblioteca de recompilação incremental Salsa, um post e alguns vídeos também foram publicados recentemente sobre seu dispositivo:
Rust OS: memória da página

A série de artigos Criando um SO no Rust foi reabastecida com dois artigos sobre a memória da página:

humbug traduziu seu artigo em inglês, "The Bot for Starcraft, in Rust, C, and Any Other Language" .
Escrevendo uma biblioteca dinâmica para Windows, que pode ser carregada no espaço de endereço do jogo StarCraft: Brood War e gerenciar unidades.
Se alguém não leu, aqui está um motivo para se familiarizar. :)
Ainda estamos assíncronos?
Ultimamente, tem havido tanta atividade para arrastar sintaxe assíncrona para o idioma ( por exemplo ) que eles criaram uma página atualizada separada com o status das principais RFC / discussões: areweasyncyet.rs ( discussão ).
Ainda somos GUI?
areweguiyet.com ( debate ) é uma tentativa semelhante de reunir em um só lugar todas as informações sobre o status de tentativas sempre atualizadas de dar à luz uma GUI confiável e idiomática do Rust.
Uma excelente visão geral da biblioteca de viga cruzada , que fornece estruturas eficazes de dados sem bloqueio e sua evolução nos últimos anos ( discussão ).
Implementações Rusty do protocolo QUIC: Quiche do Cloudflare e Quinn

O protocolo QUIC experimental (alternativa ao TCP, programa educacional ) está lentamente ganhando popularidade. Este mês:
O Quinn v0.2 ( código , discussão ) foi lançado, agora é uma das implementações mais precisas do protocolo. Esta biblioteca é focada principalmente na API idiomática da Rust, incluindo suporte para futuros;
O Cloudflare lançou sua implementação - Quiche ( discussão ) - mais focada na API C bem desenvolvida para integração em aplicativos em outros idiomas.

Uma tradução do artigo da Mozilla, "Segurança sem medo: segurança da memória", descrevendo o básico de como o Rust fornece memória segura.
Incorporado




Em uma linha
- As atualizações do IntelliJ-Rust de janeiro ( # 90 , # 91 ) incluem: suporte para renomear dependências no Cargo.toml , suporte inicial para macro 2.0 , correção rápida "Make mutable" ( GIF ), refatoração "Introduce Parameter" ( GIF ) e inferência de tipo para experimentar blocos e geradores ;
- O WebRender foi publicado em crates.io ( discussão ) - agora será mais fácil fazer outros projetos com ele;
- dtolnay / solicitação de implementação ( discussão ) - uma lista de "pacotes que não existem, mas deveriam", com uma descrição bastante detalhada de idéias e informações sobre onde procurar ajuda e orientação;
- Rust agora é a 13a linguagem mais popular no GitHub ( discussão );
- John Carmack ensina Rust ( discussão );
- Minha experiência em converter uma biblioteca Python para Rust ( discussão ) - um relatório sobre a reescrita de toda a biblioteca Python em Rust (o tempo de desenvolvimento é significativamente maior, mas não há muitos problemas com otimizações);
- Folha de dicas sobre tela oxidada para iniciantes ( discussão ) - LMB para arrastar e soltar;
- É hora de reescrever o sistema operacional em Rust? ( discussão ) - uma apresentação com a QCon de que você não deve tentar reescrever algo em larga escala no Rust de cada vez; deve passar pela criação e implementação de blocos de construção enferrujados pequenos, úteis e de alta qualidade;
- A montagem do ripgrep 0.10 (e suas dependências) no Debian agora é reproduzível ( discussão ) - isso é importante para pacotes de ferrugem penetrarem em outros ecossistemas;
- / r / rust: "Seus truques de ferrugem favoritos?" - discussão com todos os tipos de truques de ferrugem e truques não óbvios;
- / r / rust: A ferrugem no jogo de benchmarks é em média 3% mais rápida que C ++ e 4% mais lenta que C " - aumenta lentamente, mas com benchmarks tudo é sempre complicado e ambíguo;
- relatório "Rust at speed - construindo um banco de dados simultâneo rápido" ( discussão ) - sobre a construção de um banco de dados rápido e multiencadeado no Rust;
- librsvg dvizhuha: um gráfico do librsvg "enferrujado" , um relatório mais detalhado sobre o status do processo e um relatório separado sobre a simplificação do trabalho com o GObject da Rust ;
- Red Hat Developer: Acelere seu Python usando Rust ( discussão ) - como e por que expandir o código Python com Rust, comparação com a solução de um problema usando numpy, uma seleção de links para imersão adicional na questão;
- QtCreator e seu uso como um IDE para Rust ;
- / r / rust: Criando ferramentas de desenvolvimento JavaScript com Rust - apresenta três pacotes "Rusty ECMAScript" - Scanner (RESS) , Syntax Analyzer (RESSA) , Writer (RESW) - que permitem o desenvolvimento de ferramentas de desenvolvimento JavaScript para Rust;
- Quando Rust é mais seguro que Haskell ( discussão ) - Comparação de segurança de Rust e Haskell;
- / r / discussão sobre ferrugem sobre as perspectivas de ferrugem versus go no contexto da web ;
- / r / rust: "Onde você acha que o Rust estará em três anos?" - Variando sobre o futuro do Rust, há opiniões interessantes nos comentários;
Pacotes novos e atualizados
- Ropey ( discussão ) é uma implementação eficiente e compatível com utf8 da estrutura de dados Rope / Cord , que é frequentemente usada em editores de texto;
- hexyl ( debate ) - um visualizador hexadecimal do console que usa cores ativamente para indicar grupos de valores hexadecimais;
- cargo-cache ( discussão ) - permite limpar seletivamente peças
~/.cargo/
; - typetag ( debate ) - um atributo de macro que permite a serialização indolor do
&dyn Trait
e a desserialização dos objetos do tipo Box<dyn Trait>
; - dness ( debate ) - cliente de DNS dinâmico;
- regex-autômatos ( discussão ) - fornece uma interface de baixo nível para trabalhar com expressões regulares (diferente do
regex
), o que é menos conveniente, mas permite um controle detalhado do consumo de memória e do tempo de pesquisa; usa o DFA e suporta serialização; - Stretch ( código , discussão ) - uma implementação enferrujada do flexbox, usado no Shard (como ele está amontoado no android e ios );
- arbalest ( discussão ) é uma alternativa ao arco regular, mas links fracos não proíbem a modificação do acesso a dados;
- Toshi ( discussão ) - um mecanismo de pesquisa em texto completo semelhante ao Elasticsearch (uma alternativa ao que Tantivy , que se concentra no Lucene);
- porta enferrujada do inferno de um visualizador de barra de pérolas com resultados de perfil de flamegraph, o processo de desenvolvimento é apresentado na forma de fluxos ( vídeo 1 , vídeo 2 );
- DataFusion v0.6 ( discussão , código ) - a primeira versão do mecanismo de consulta na memória usando a implementação Rust oficial do Apache Arrow ;
- cargo-expand v0.4 ( discussão ) - o expansor de macros agora suporta o trabalho com módulos / tipos / funções específicos;
- fluent-rs v0.5 ( discussão ) - uma implementação enferrujada do moderno sistema de localização Fluent atualizou a abordagem para alocação de recursos, recebeu um analisador de cópia zero e melhorou a documentação;
- Tokei v9.0 ( código , discussão ) - o programa para contar linhas no código-fonte recebeu suporte para arquivos de configuração; o número de PLs compreensíveis aumentou para 170;
- cargo-crev v0.4 ( discussão ) - O sistema UX de revisões de pacotes distribuídos foi redesenhado para simplificar bastante ;
- Smithay v0.2 ( código , discussão ) - Exemplo de bigorna foi adicionado à biblioteca para desenvolver gerenciadores de janelas para Wayland , suporte aprimorado para cores e XWayland, reescrita DRM;
- oxide-auth v0.4 ( discussão ) - A biblioteca OAuth2 foi completamente reescrita e agora é compatível com actix, rocket e rouille;
Habr recentemente soltou nozes e agora permite se referir a recursos externos da comunidade, por isso convido todos a se familiarizarem com o Rust para procurar ajuda e aconselhamento em recursos de idioma russo sobre o Rust:
Isso é tudo, obrigado por assistir!
Se eu não adicionei nenhum link ou evento importante, sinta-se à vontade para incluí-lo nos comentários. :)
KDPV tirado daqui , as fotos restantes dos sites dos respectivos projetos.