Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(py): allow conditional cases to be defined out of order #1599

Merged
merged 1 commit into from
Oct 23, 2024
Merged

Conversation

ss2165
Copy link
Member

@ss2165 ss2165 commented Oct 18, 2024

Closes #1596

Was tempted to just change the type of cases since who would be using it anyway but I've tried to be good and deprecate instead

@ss2165 ss2165 requested a review from a team as a code owner October 18, 2024 15:14
@ss2165 ss2165 requested review from acl-cqc and mark-koch and removed request for acl-cqc October 18, 2024 15:14
Copy link

codecov bot commented Oct 18, 2024

Codecov Report

Attention: Patch coverage is 80.00000% with 4 lines in your changes missing coverage. Please review.

Project coverage is 85.71%. Comparing base (c5b597d) to head (a15a89e).
Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
hugr-py/src/hugr/build/cond_loop.py 80.00% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1599      +/-   ##
==========================================
- Coverage   85.72%   85.71%   -0.01%     
==========================================
  Files         136      136              
  Lines       24783    24793      +10     
  Branches    21719    21719              
==========================================
+ Hits        21244    21251       +7     
- Misses       2437     2440       +3     
  Partials     1102     1102              
Flag Coverage Δ
python 92.61% <80.00%> (-0.08%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Closes #1596

Was tempted to just change the type of `cases` since who would be using it anyway but I've tried to be good and deprecate instead
@ss2165 ss2165 added this pull request to the merge queue Oct 23, 2024
Merged via the queue into main with commit 583d21d Oct 23, 2024
19 of 20 checks passed
@ss2165 ss2165 deleted the ss/case-bug branch October 23, 2024 10:17
ss2165 added a commit that referenced this pull request Nov 22, 2024
Closes #1596

Was tempted to just change the type of `cases` since who would be using
it anyway but I've tried to be good and deprecate instead
github-merge-queue bot pushed a commit that referenced this pull request Dec 16, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.10.0](hugr-py-v0.9.0...hugr-py-v0.10.0)
(2024-12-16)


### ⚠ BREAKING CHANGES

* Removed the extension registry argument from `validate` calls. Removed
the extension registry argument from operation instantiation methods.
Removed most extension-specific test registries. Use `EMPTY_REG`,
`PRELUDE_REGISTRY`, or `STD_REG` instead.
* `extension_reqs` field in FunctionType and Extension renamed to
`runtime_reqs`
* Array type and operations have been moved out of `prelude` and into a
new `collections.array` extension. (py) `list_type` method replaced with
`List` class. Removed `Array` type variant from the serialization
format.
* `collections` extension renamed to `collections.list`
* The `LoadFunction::signature` field is removed. Replace uses with
`DataflowOpTrait::signature()`.
* Array `scan` and `repeat` ops get an additional type parameter
specifying the extension requirements of their input functions.
Furthermore, `repeat` is no longer part of `ArrayOpDef` but is instead
specified via a new `ArrayScan` struct.

### Features

* Add `LoadNat` operation to enable loading generic `BoundedNat`s into
runtime values ([#1763](#1763))
([6f035d6](6f035d6)),
closes [#1629](#1629)
* Add array `repeat` and `scan` ops
([#1633](#1633))
([649589c](649589c)),
closes [#1627](#1627)
* Automatically add the custom op's extension to its 'runtime_reqs' set
([#1787](#1787))
([3ef5bd9](3ef5bd9))
* Don't require explicit extension registers for validation
([#1784](#1784))
([b517dc3](b517dc3))
* Make array repeat and scan ops generic over extension reqs
([#1716](#1716))
([4c1c6ee](4c1c6ee))
* Move arrays from prelude into new extension
([#1770](#1770))
([187ea8f](187ea8f))
* Rename `collections` extension to `collections.list`
([#1764](#1764))
([eef239f](eef239f))
* rename `extension_reqs` to `runtime_reqs`
([#1776](#1776))
([5f5bce4](5f5bce4))


### Bug Fixes

* hugr-py not adding extension-reqs on custom ops
([#1759](#1759))
([97ba7f4](97ba7f4))
* **py:** allow conditional cases to be defined out of order
([#1599](#1599))
([583d21d](583d21d))
* Replace `LoadFunction::signature` with `LoadFunction::instantiation`
([#1756](#1756))
([5b50d1d](5b50d1d))
* Resolve types in `Value`s and custom consts
([#1779](#1779))
([080eaae](080eaae))
* Update number of ports for PartialOps, and sanitize orderd edges
([#1635](#1635))
([81a1385](81a1385)),
closes [#1625](#1625)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: Seyon Sivarajah <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adding cases in different order breaks builder
2 participants