Skip to content

Commit 6900c8d

Browse files
authored
chore: update dependency to hugr 0.10.1 (#735)
use the Some utility in a few places
1 parent ed3c0b8 commit 6900c8d

File tree

9 files changed

+60
-50
lines changed

9 files changed

+60
-50
lines changed

Cargo.lock

Lines changed: 31 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ pyo3 = "0.19.0"
2626
serde_json = "1.0.111"
2727
cargo_toml = "0.20.4"
2828
thiserror = "2.0.6"
29-
hugr = "0.14.0"
30-
hugr-cli = "0.14.0"
29+
hugr = "0.14.1"
30+
hugr-cli = "0.14.1"
3131
inkwell = "0.5.0"
3232

3333
[patch.crates-io]
3434

3535
# Uncomment these to test the latest dependency version during development
36-
hugr = { git = "https://github.com/CQCL/hugr", rev = "ab94518" }
37-
hugr-cli = { git = "https://github.com/CQCL/hugr", rev = "ab94518" }
38-
hugr-llvm = { git = "https://github.com/CQCL/hugr", rev = "ab94518" }
36+
# hugr = { git = "https://github.com/CQCL/hugr", rev = "ab94518" }
37+
# hugr-cli = { git = "https://github.com/CQCL/hugr", rev = "ab94518" }
38+
# hugr-llvm = { git = "https://github.com/CQCL/hugr", rev = "ab94518" }

execute_llvm/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "execute_llvm"
3-
version = "0.2.0"
3+
version = "0.2.1"
44
edition.workspace = true
55
homepage.workspace = true
66
repository.workspace = true

execute_llvm/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ fn find_funcdef_node(hugr: impl HugrView, fn_name: &str) -> PyResult<hugr::Node>
3838
}
3939
}
4040

41-
fn guppy_pass(hugr: Hugr) -> Hugr {
42-
let hugr = hugr::algorithms::monomorphize(hugr);
41+
fn guppy_pass(mut hugr: Hugr) -> Hugr {
42+
hugr::algorithms::MonomorphizePass::default().run(&mut hugr).unwrap();
4343
hugr::algorithms::remove_polyfuncs(hugr)
4444
}
4545

guppylang/compiler/stmt_compiler.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,9 @@ def _assign_tuple(self, lhs: TupleUnpack, port: Wire) -> None:
9595
starred_ports = (
9696
ports[len(left) : -len(right)] if right else ports[len(left) :]
9797
)
98-
opt_ty = ht.Option(get_element_type(array_ty).to_hugr())
99-
opts = [self.builder.add_op(ops.Tag(1, opt_ty), p) for p in starred_ports]
100-
array = self.builder.add_op(array_new(opt_ty, len(opts)), *opts)
98+
elt = get_element_type(array_ty).to_hugr()
99+
opts = [self.builder.add_op(ops.Some(elt), p) for p in starred_ports]
100+
array = self.builder.add_op(array_new(ht.Option(elt), len(opts)), *opts)
101101
self._assign(starred, array)
102102

103103
@_assign.register

guppylang/std/_internal/compiler/array.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,11 +166,12 @@ def build_classical_array(self, elems: list[Wire]) -> Wire:
166166

167167
def build_linear_array(self, elems: list[Wire]) -> Wire:
168168
"""Lowers a call to `array.__new__` for linear arrays."""
169-
elem_opt_ty = ht.Option(self.elem_ty)
170169
elem_opts = [
171-
self.builder.add_op(ops.Tag(1, elem_opt_ty), elem) for elem in elems
170+
self.builder.add_op(ops.Some(self.elem_ty), elem) for elem in elems
172171
]
173-
return self.builder.add_op(array_new(elem_opt_ty, len(elems)), *elem_opts)
172+
return self.builder.add_op(
173+
array_new(ht.Option(self.elem_ty), len(elems)), *elem_opts
174+
)
174175

175176
def compile(self, args: list[Wire]) -> list[Wire]:
176177
if self.elem_ty.type_bound() == ht.TypeBound.Any:
@@ -232,7 +233,7 @@ def build_classical_setitem(
232233
# See https://github.com/CQCL/guppylang/issues/629
233234
elem_opt_ty = ht.Option(self.elem_ty)
234235
idx = self.builder.add_op(convert_itousize(), idx)
235-
elem_opt = self.builder.add_op(ops.Tag(1, elem_opt_ty), elem)
236+
elem_opt = self.builder.add_op(ops.Some(self.elem_ty), elem)
236237
result = self.builder.add_op(
237238
array_set(elem_opt_ty, self.length), array, idx, elem_opt
238239
)
@@ -246,7 +247,7 @@ def build_linear_setitem(
246247
"""Lowers a call to `array.__setitem__` for linear arrays."""
247248
# Embed the element into an optional
248249
elem_opt_ty = ht.Option(self.elem_ty)
249-
elem = self.builder.add_op(ops.Tag(1, elem_opt_ty), elem)
250+
elem = self.builder.add_op(ops.Some(self.elem_ty), elem)
250251
idx = self.builder.add_op(convert_itousize(), idx)
251252
result = self.builder.add_op(
252253
array_set(elem_opt_ty, self.length), array, idx, elem

guppylang/std/_internal/compiler/list.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ def build_linear_setitem(
181181
"""Lowers a call to `array.__setitem__` for linear arrays."""
182182
# Embed the element into an optional
183183
elem_opt_ty = ht.Option(elem_ty)
184-
elem = self.builder.add_op(ops.Tag(1, elem_opt_ty), elem)
184+
elem = self.builder.add_op(ops.Some(elem_ty), elem)
185185
idx = self.builder.add_op(convert_itousize(), idx)
186186
list_wire, result = self.builder.add_op(
187187
list_set(elem_opt_ty), list_wire, idx, elem
@@ -274,7 +274,7 @@ def build_linear_push(
274274
"""Lowers a call to `list.push` for linear lists."""
275275
# Wrap element into an optional
276276
elem_opt_ty = ht.Option(elem_ty)
277-
elem_opt = self.builder.add_op(ops.Tag(1, elem_opt_ty), elem)
277+
elem_opt = self.builder.add_op(ops.Some(elem_ty), elem)
278278
list_wire = self.builder.add_op(list_push(elem_opt_ty), list_wire, elem_opt)
279279
return CallReturnWires(regular_returns=[], inout_returns=[list_wire])
280280

@@ -337,6 +337,6 @@ def _list_new_linear(
337337
lst = builder.load(ListVal([], elem_ty=elem_opt_ty))
338338
push_op = list_push(elem_opt_ty)
339339
for elem in args:
340-
elem_opt = builder.add_op(ops.Tag(1, elem_opt_ty), elem)
340+
elem_opt = builder.add_op(ops.Some(elem_type), elem)
341341
lst = builder.add_op(push_op, lst, elem_opt)
342342
return lst

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ dependencies = [
3838
"networkx >=3.2.1,<4",
3939
"pydantic >=2.7.0b1,<3",
4040
"typing-extensions >=4.9.0,<5",
41-
"hugr >=0.10.0,<0.11",
41+
"hugr >=0.10.1,<0.11",
4242
"tket2-exts>=0.3.0,<0.4",
4343
]
4444

@@ -83,7 +83,7 @@ members = ["execute_llvm"]
8383
execute-llvm = { workspace = true }
8484

8585
# Uncomment these to test the latest dependency version during development
86-
hugr = { git = "https://github.com/CQCL/hugr", subdirectory = "hugr-py", rev = "e40b6c7" }
86+
# hugr = { git = "https://github.com/CQCL/hugr", subdirectory = "hugr-py", rev = "e40b6c7" }
8787
# tket2-exts = { git = "https://github.com/CQCL/tket2", subdirectory = "tket2-exts", rev = "eb7cc63"}
8888
# tket2 = { git = "https://github.com/CQCL/tket2", subdirectory = "tket2-py", rev = "eb7cc63"}
8989

uv.lock

Lines changed: 7 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)