artiq icon indicating copy to clipboard operation
artiq copied to clipboard

HasEnvironment: Ensure that kernel_invariants always exists

Open charlesbaynham opened this issue 4 weeks ago • 2 comments

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+.

charlesbaynham avatar Jun 28 '24 08:06 charlesbaynham