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

Clean traits & Proc Macros #18

Merged
merged 11 commits into from
Dec 6, 2024
Merged

Clean traits & Proc Macros #18

merged 11 commits into from
Dec 6, 2024

Conversation

contagon
Copy link
Collaborator

@contagon contagon commented Dec 6, 2024

This is a much too large PR for cleaning up a lot of the internal traits and serialization of factrs.

Specifically,

  • A new proc-macro factrs::mark that handle tagging and registering objects for serialization via serde/typetag as well as implementing Residual for residuals
    • Essentially this replaces impl_residual and all the tag_* decl-macros. It should be more robust and easier to use.
  • Removed all the TraitSafe traits so traits are Boxed directly instead of via a helper trait
  • Added clippy::unwrap_used and replaced most unwraps with expects.
  • Added tests for custom Variables, NoiseModels, RobustCosts, and Residuals.

@contagon contagon changed the title Easton/clean traits Clean traits & Proc Macros Dec 6, 2024
@contagon contagon merged commit 70459b2 into dev Dec 6, 2024
@contagon contagon deleted the easton/clean-traits branch December 6, 2024 20:53
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