Skip to content

nightly-2024-07-15: feat: Allow comptime attributes on traits & functions (#5496)

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 15 Jul 02:21
· 864 commits to master since this release
b59a29e
# Description

## Problem\*

Resolves https://github.com/noir-lang/noir/issues/5477

## Summary\*

Adds:
- The ability to run `comptime` attribute functions on traits &
functions in the program
- The `TraitDefinition` type
- The `FunctionDefinition` type
- The `Module` type - the only one of the new types which you still
can't run attributes on. See:
https://github.com/noir-lang/noir/issues/5495. Running these on modules
is a bit more difficult since modules don't have an entry in
`CollectedItems` to run them on. So I'm delaying this for a later PR.

## Additional Context



## Documentation\*

Check one:
- [ ] No documentation needed.
- [ ] Documentation included in this PR.
- [x] **[For Experimental Features]** Documentation to be submitted in a
separate PR.

# PR Checklist\*

- [x] I have tested the changes locally.
- [x] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.