Implement d128! as a procedural macro #72
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is basically a rewrite of #16 using procedural macros which were stabilized in the 2018 edition (rustc 1.31.0).
There are a few things that I haven't addressed yet, since I wanted to propose the concept before spending too much time on it:
decimal
library can't export the new macro because the macro depends on it. This could be fixed by moving the existing implementation into adecimal-core
crate, and makingdecimal
a thin facade that re-exports everything fromdecimal-core
alongside the macro fromdecimal-macros
.to_raw_bytes
andfrom_raw_bytes
on different architectures.proc_macro2
which I haven't done. At that point usingquote
to generate token streams might be easier (which I haven't done because not using it keeps the dependency count down).