Gerador de código Swift baseado no SwiftSyntax que usa templates para criar boilerplate, como mocks e código Equatable e Codable.
dtolnay/proc-macro-workshop
Workshop prático com cinco projetos de macros procedurais em Rust, cada um com um esqueleto e uma suíte de testes trybuild para implementar.
- Estrelas
- 4,873
- Forks
- 1,216
- Issues abertas
- 3
- Último commit
- há 3 meses
O que é?
Este repositório é um workshop para aprender a escrever macros procedurais em Rust, que são funções que geram código Rust durante a compilação. Ele contém cinco projetos: uma derive macro para o padrão builder, uma derive de Debug personalizável que aceita strings de formatação por campo, uma macro semelhante a função chamada seq! que gera cópias indexadas de código, uma macro de atributo #[sorted] que sinaliza variantes de enum fora de ordem como erros de compilação e um atributo #[bitfield] que agrupa campos de uma struct em um array de bytes e gera getters e setters.
Cada projeto vem com um esqueleto e uma suíte de testes no diretório tests. Os testes são executados com trybuild, que verifica tanto expansões bem-sucedidas quanto as mensagens exatas de erro do compilador para o código que deveria falhar na compilação. O workshop sugere uma sequência, começando por derive(Builder) e depois escolhendo entre os outros projetos conforme você queira se concentrar em limites de traits, análise personalizada de entrada ou diagnósticos.
O repositório também explica técnicas de depuração de macros, como usar cargo expand e imprimir fluxos de tokens gerados em stderr.
Recursos principais
- 01Cinco projetos com níveis de dificuldade progressivos, cobrindo macros derive, semelhantes a funções e de atributo.
- 02Suítes de testes baseadas em trybuild que verificam a saída exata de erros do compilador.
- 03Código esqueleto e ativação gradual dos testes para cada projeto.
- 04Orientações de depuração usando cargo expand e impressão de fluxos de tokens.
- 05Ordem de aprendizado sugerida de acordo com seus interesses.
Casos de uso
- Aprender macros procedurais em Rust pela primeira vez com exercícios guiados.
- Praticar o tratamento de limites de traits em macros derive genéricas.
- Preparar-se para escrever diagnósticos personalizados de compilação para uma biblioteca Rust.
- Estudar como gerar, com uma macro, uma API de struct com campos compactados em bits.
Início rápido
- 1
Clone o repositório e acesse um diretório do projeto, como builder
- 2
Execute a suíte de testes desse projeto
cargo test
Tópicos
Perguntas frequentes
- O que é proc-macro-workshop?
- Workshop prático com cinco projetos de macros procedurais em Rust, cada um com um esqueleto e uma suíte de testes trybuild para implementar. Este repositório é um workshop para aprender a escrever macros procedurais em Rust, que são funções que geram código Rust durante a compilação. Ele contém cinco projetos: uma derive macro para o padrão builder, uma derive de Debug personalizável que aceita strings de formatação por campo, uma macro semelhante a função chamada seq! que gera cópias indexadas de código, uma macro de atributo #[sorted] que sinaliza variantes de enum fora de ordem como erros de compilação e um atributo #[bitfield] que agrupa campos de uma struct em um array de bytes e gera getters e setters.
- proc-macro-workshop é gratuito? Qual é a licença?
- proc-macro-workshop é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- proc-macro-workshop ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de proc-macro-workshop foi em 6 de ago. de 2026.
- Para que posso usar proc-macro-workshop?
- Aprender macros procedurais em Rust pela primeira vez com exercícios guiados. Praticar o tratamento de limites de traits em macros derive genéricas. Preparar-se para escrever diagnósticos personalizados de compilação para uma biblioteca Rust. Estudar como gerar, com uma macro, uma API de struct com campos compactados em bits.
- Como instalar proc-macro-workshop?
- Clone o repositório e acesse um diretório do projeto, como builder Execute a suíte de testes desse projeto: cargo test
- Onde consigo proc-macro-workshop?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dtolnay/proc-macro-workshop
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Workshop passo a passo em Go que ensina a criar um agente de programação com a Claude API, adicionando ferramentas de arquivos, shell e busca uma de cada vez.
Workshop prático com notebooks Jupyter que ensina desenvolvedores a criar apps de IA generativa com modelos de fundação no Amazon Bedrock.
Pequenos exercícios de Rust para ajudar você a aprender a ler e escrever código na linguagem, feitos para serem resolvidos junto com o livro oficial de Rust.
Uma coleção de algoritmos clássicos e estruturas de dados implementados em Rust, voltada ao uso educacional.
A fonte oficial do livro "The Rust Programming Language", compilada com mdBook para gerar a edição online gratuita.