A cobertura de tradução é parcial. Consulte a fonte em inglês para a referência técnica completa. Ver versão em inglês →

Guia da Linguagem

Sintaxe e semântica centrais, alinhadas ao compilador atual.

Guia da Linguagem

A superfície da linguagem que você deve ensinar hoje é o subconjunto conservador que aparece repetidamente em exemplos, testes e no artefato verificado atual. Esta página é um mapa dessa superfície de ensino estável, não uma promessa de que toda forma sintática histórica ou DSL de pesquisa presente no repositório está igualmente disponível.

O que pertence à superfície de ensino estável

  • Bindings locais com let e var.
  • Funções, blocos, tipos de retorno e anotações explícitas de efeito with ....
  • Controle de fluxo como if, while, for e match.
  • Ideias algébricas e epistêmicas centrais que podem ser demonstradas com fixtures verificadas, em vez de apenas com documentos de design.

Onde a implementação vive hoje

  • O trabalho de parsing e gramática está concentrado em self-hosted/lexer/ e self-hosted/parser/.
  • A resolução de nomes vive em self-hosted/resolve/.
  • A verificação de tipos e as verificações semânticas vivem em self-hosted/check/, incluindo módulos dedicados para efeitos, verificações epistêmicas, unidades, ownership, traits e refinamentos.
  • Os documentos mais antigos do compilador do lado Rust continuam úteis como referências históricas de arquitetura, mas não são mais o melhor mapa primário da árvore de código-fonte ativa.

Sintaxe representativa

let value = 5
var count = 0

fn add(a: i32, b: i32) -> i32 {
    a + b
}

fn main() -> i32 with IO {
    if value > 0 {
        println(add(value, count))
    }
    return 0
}

Como manter a precisão ao documentar sintaxe

  • Prefira exemplos que possam ser validados imediatamente com souc check.
  • Verifique afirmações mais avançadas contra tests/run-pass/, tests/compile-fail/ e o snapshot de features na documentação.
  • Se um recurso da linguagem é descrito apenas em uma nota de arquitetura extensa ou em um guia antigo, documente-o como intenção de design, a menos que você tenha uma fixture atual ou prova respaldada por artefato.