artiq
artiq copied to clipboard
HasEnvironment: Ensure that kernel_invariants always exists
ARTIQ Pull Request
Description of Changes
A simple usability tweak. Ensures that kernel_invariants
always exists, so that user code doesn't need to add the usual boilerplate of self.kernel_invariants = getattr(self, "kernel_invariants", set())
before each addition.
Related Issue
Type of Changes
Type | |
---|---|
✓ | :sparkles: New feature |
Steps (Choose relevant, delete irrelevant before submitting)
All Pull Requests
- [x] Use correct spelling and grammar.
- [ ] Update RELEASE_NOTES.rst if there are noteworthy changes, especially if there are changes to existing APIs.
- [ ] Close/update issues.
- [x] Check the copyright situation of your changes and sign off your patches (
git commit --signoff
, see copyright).
Code Changes
- [ ] Run
flake8
to check code style (follow PEP-8 style).flake8
has issues with parsing Migen/gateware code, ignore as necessary. - [ ] Test your changes or have someone test them. Mention what was tested and how.
- [ ] Add and check docstrings and comments
- [ ] Check, test, and update the unittests in /artiq/test/ or gateware simulations in /artiq/gateware/test
Documentation Changes
- [ ] Check, test, and update the documentation in doc/. Build documentation (
cd doc/manual/; make html
) to ensure no errors.
Git Logistics
- [ ] Split your contribution into logically separate changes (
git rebase --interactive
). Merge/squash/fixup commits that just fix or amend previous commits. Remove unintended changes & cleanup. See tutorial. - [ ] Write short & meaningful commit messages. Review each commit for messages (
git show
). Format:topic: description. < 50 characters total. Longer description. < 70 characters per line
Licensing
See copyright & licensing for more info. ARTIQ files that do not contain a license header are copyrighted by M-Labs Limited and are licensed under LGPLv3+.