O verificador de empréstimos do Valen opera de trás para frente nas funções, uma abordagem inovadora para a verificação de segurança de memória. Ao contrário dos verificadores de empréstimos tradicionais de passagem direta, como o do Rust, o Valen percorre as instruções da função da última para a primeira durante sua fase de verificação de segurança.
O compilador processa as funções em quatro fases: análise sintática para uma AST, tipagem estática, agrupamento estático e verificação de segurança. A verificação de segurança (nº 4) é a incomum passagem reversa, que examina primeiro a última instrução e retrocede até o início da função.
Essa abordagem reversa oferece vantagens em conveniência, tratamento de loops e velocidade. O Valen continua experimental, com arestas vivas esperadas até a versão v0.1, prevista para fevereiro, embora um grande esforço de refatoração já esteja em andamento.
A técnica difere da inferência de regiões por resolução de restrições do Rust, seguida de verificação de conflitos no sentido direto. Embora o rustc de fato varra para trás para encontrar o uso de variáveis, suas verificações reais de segurança de memória avançam para a frente.
Fonte: Hacker News · Resumido por HeadlinesBriefing