Skip to content

Conversation

aborgna-q
Copy link
Collaborator

@aborgna-q aborgna-q commented Apr 9, 2025

  • We had OpType::cast but were missing it in ExtensionOp itself.
  • Adds a ExtensionOp::extension_id call

@aborgna-q aborgna-q requested a review from a team as a code owner April 9, 2025 12:30
@aborgna-q aborgna-q requested a review from doug-q April 9, 2025 12:30
@aborgna-q aborgna-q changed the title feat: Add ExtensionOp::cast helper feat: Add ExtensionOp helper Apr 9, 2025
Copy link

codecov bot commented Apr 9, 2025

Codecov Report

Attention: Patch coverage is 57.14286% with 3 lines in your changes missing coverage. Please review.

Project coverage is 82.90%. Comparing base (7626797) to head (d4cbe79).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
hugr-core/src/ops/custom.rs 50.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2072      +/-   ##
==========================================
- Coverage   82.91%   82.90%   -0.01%     
==========================================
  Files         217      217              
  Lines       41529    41534       +5     
  Branches    37707    37712       +5     
==========================================
+ Hits        34433    34435       +2     
- Misses       5292     5295       +3     
  Partials     1804     1804              
Flag Coverage Δ
python 85.40% <ø> (ø)
rust 82.65% <57.14%> (-0.01%) ⬇️

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.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@aborgna-q aborgna-q changed the title feat: Add ExtensionOp helper feat: Add ExtensionOp helpers Apr 9, 2025
@aborgna-q aborgna-q modified the milestones: hugr-py 0.12, hugr-rs 0.16, hugr-rs 0.15.x Apr 15, 2025
Copy link
Collaborator

@doug-q doug-q left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wonderful, thank you!

@aborgna-q aborgna-q added this pull request to the merge queue Apr 15, 2025
Merged via the queue into main with commit fb5a561 Apr 15, 2025
26 of 27 checks passed
@aborgna-q aborgna-q deleted the ab/cast-extension-op branch April 15, 2025 09:42
This was referenced Apr 15, 2025
@hugrbot hugrbot mentioned this pull request Apr 28, 2025
github-merge-queue bot pushed a commit that referenced this pull request May 7, 2025
## 🤖 New release

* `hugr-model`: 0.19.0 -> 0.19.1 (✓ API compatible changes)
* `hugr-core`: 0.15.3 -> 0.15.4 (✓ API compatible changes)
* `hugr-llvm`: 0.15.3 -> 0.15.4 (~⚠ API breaking changes~ overwriten)
* `hugr-passes`: 0.15.3 -> 0.15.4 (✓ API compatible changes)
* `hugr`: 0.15.3 -> 0.15.4 (✓ API compatible changes)
* `hugr-cli`: 0.15.3 -> 0.15.4 (✓ API compatible changes)

### ⚠ `hugr-llvm` breaking changes

```text
--- failure trait_missing: pub trait removed or renamed ---

Description:
A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.40.0/src/lints/trait_missing.ron

Failed in:
  trait hugr_llvm::utils::array_op_builder::ArrayOpBuilder, previously in file /tmp/.tmpyTFqSG/hugr-llvm/src/utils/array_op_builder.rs:10
  trait hugr_llvm::utils::ArrayOpBuilder, previously in file /tmp/.tmpyTFqSG/hugr-llvm/src/utils/array_op_builder.rs:10
```

<details><summary><i><b>Changelog</b></i></summary><p>

## `hugr-model`

<blockquote>

##
[0.19.0](hugr-model-v0.18.1...hugr-model-v0.19.0)
- 2025-04-02

### New Features

- Python bindings for `hugr-model`.
([#1959](#1959))
- Remove extension sets from `hugr-model`.
([#2031](#2031))
- Packages in `hugr-model` and envelope support.
([#2026](#2026))
- Represent order edges in `hugr-model` as metadata.
([#2027](#2027))
</blockquote>

## `hugr-core`

<blockquote>

##
[0.16.0](hugr-core-v0.15.3...hugr-core-v0.16.0)
- 2025-04-30

### New Features

- Export the portgraph hierarchy in HugrInternals
([#2057](#2057))
- Implement Debug for generic Wire<N>s
([#2068](#2068))
- Add ExtensionOp helpers
([#2072](#2072))
- ReplaceTypes: handlers for array constants + linearization
([#2023](#2023))
- move `ArrayOpBuilder` to hugr-core
([#2115](#2115))

### Testing

- Disable IO-dependent tests when running miri
([#2123](#2123))
</blockquote>

## `hugr-llvm`

<blockquote>

##
[0.16.0](hugr-llvm-v0.15.3...hugr-llvm-v0.16.0)
- 2025-04-30

### New Features

- move `ArrayOpBuilder` to hugr-core
([#2115](#2115))
</blockquote>

## `hugr-passes`

<blockquote>

##
[0.16.0](hugr-passes-v0.15.3...hugr-passes-v0.16.0)
- 2025-04-30

### New Features

- ReplaceTypes: handlers for array constants + linearization
([#2023](#2023))
</blockquote>

## `hugr`

<blockquote>

##
[0.16.0](hugr-v0.15.3...hugr-v0.16.0)
- 2025-04-30

### New Features

- Export the portgraph hierarchy in HugrInternals
([#2057](#2057))
- Implement Debug for generic Wire<N>s
([#2068](#2068))
- Add ExtensionOp helpers
([#2072](#2072))
- ReplaceTypes: handlers for array constants + linearization
([#2023](#2023))
- move `ArrayOpBuilder` to hugr-core
([#2115](#2115))

### Testing

- Disable IO-dependent tests when running miri
([#2123](#2123))
</blockquote>

## `hugr-cli`

<blockquote>

##
[0.15.3](hugr-cli-v0.15.2...hugr-cli-v0.15.3)
- 2025-04-02

### Documentation

- Add usage info to hugr-cli's rustdocs
([#2044](#2044))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

---------

Co-authored-by: Agustín Borgna <agustin.borgna@quantinuum.com>
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.

2 participants