impero-com / impero-com/typebinder

Declarative macro support

Open
#14 3 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
Rust
Stars
22
Forks
3
PR merge metrics
No merged PRs in 30d

Description

We will need support for declarative macros, since they can output types that needs to be exported.

* We can't use `cargo-expand` for that, because it also expands proc macro, meaning we lose the serde attributes that we need to support.
* I didnt find any project aimed at resolving a *declarative* macro, only *procedural macros*. My understanding is that we can make one by looking at the inner implementation of macros inside the compiler and extracting that logic. That's a lot of work, including the research to relevant bits in the Rust compiler.

I'm opened to suggestions on how to support that properly.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by researching the Rust compiler's declarative macro expansion internals and compare them with cargo-expand, which also expands procedural macros. Done means supporting declarative macros that output exportable types while preserving the serde attributes needed by typebinder.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.