Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust generator v0.2 #162

Merged
merged 10 commits into from
Dec 8, 2023
Merged

Rust generator v0.2 #162

merged 10 commits into from
Dec 8, 2023

Conversation

timothee-haudebourg
Copy link
Collaborator

@timothee-haudebourg timothee-haudebourg commented Dec 5, 2023

This PR adds back the Rust code generator to treeldr v0.2. Instead of generating Rust functions and traits implementations directly (as in the previous code generator), only annotated types definitions are generated. The annotations describes the TreeLDR layout represented by the type, and will trigger the treeldr-rs derive macro that generates the actual functions and traits implementations.

  • Derive macro
    • Serialization
    • Deserialization
  • Code generator
  • Command line interface
  • Procedural macro (to generate code using #[tldr_import("path/to/layout")])

@timothee-haudebourg timothee-haudebourg changed the base branch from main to v0.2 December 5, 2023 11:23
@timothee-haudebourg timothee-haudebourg marked this pull request as ready for review December 8, 2023 15:59
@timothee-haudebourg timothee-haudebourg merged commit 3d4e745 into v0.2 Dec 8, 2023
@timothee-haudebourg timothee-haudebourg deleted the rust-generator-v0.2 branch December 8, 2023 16:03
timothee-haudebourg added a commit that referenced this pull request Dec 11, 2023
* Hydrate/Dehydrate functions.
* Add documentation and helper functions.
* Add the Layouts Book.
* Rust generator v0.2 (#162)
* Update README
* Update msrv.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant