Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
<!--- Please provide a general summary of your changes in the title above --> ## Pull Request type <!-- Please try to limit your pull request to one type; submit multiple pull requests if needed. --> Please check the type of change your PR introduces: - [ ] Bugfix - [x] Feature - [ ] Code style update (formatting, renaming) - [ ] Refactoring (no functional changes, no API changes) - [ ] Build-related changes - [ ] Documentation content changes - [ ] Other (please describe): ## Description This PR introduces a new Alexandria package, `alexandria_macros`. The idea is to group any and all useful macros in here. As an introduction, it also adds a humble `pow!` macro that calculates x to the power of y. I hope many more will follow. Because Cairo macros are Rust programs, I added a new separate GitHub workflow just to test macros. Also because of the way macros work (at least to my understanding), I added a `macros_tests` directory that serves just as a dummy Scarb project to run tests on; it is not part of the Alexandria workspace. Not sure this is the best way to go about it, but having the tests inside the main macros package didn't work for me (i.e. I didn't find a way how to do it, if there's some, I'm happy to amend the PR). ## Does this introduce a breaking change? - [ ] Yes - [x] No <!-- If this does introduce a breaking change, please describe the impact and migration path for existing applications below. --> ## Other information <!-- Any other information that is important to this PR, such as screenshots of how the component looks before and after the change. --> --------- Co-authored-by: Marek Kaput <[email protected]>
- Loading branch information