diff --git a/Cargo.lock b/Cargo.lock index c5b8b3048..7f0e93e21 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -911,9 +911,9 @@ dependencies = [ [[package]] name = "hugr" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ade13fa95ebd8d6ae071767a166f597b16505a56c011b9e21b9b09ef091eba" +checksum = "61f76ba415cbd86242348c74abd0c67459f6d0e7fd26fb439c31e747d9aa45c8" dependencies = [ "hugr-core", "hugr-passes", @@ -921,9 +921,9 @@ dependencies = [ [[package]] name = "hugr-cli" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686d6a2eba2d5918b5f4aca3c23ef2b199f1b6d4b36271536dace703cb647ce8" +checksum = "e2177be2f581e4a0cc65da513e7dc9e08c133e1a0abeb1877bbe482f2d737f77" dependencies = [ "clap", "clap-verbosity-flag", @@ -935,9 +935,9 @@ dependencies = [ [[package]] name = "hugr-core" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b76e8761b2b58b4a4b533250efc289e6082e80e723383dd392d5192081ad7a8" +checksum = "2ee45725211e15e414492d279be7bd84fdff0c4fad55aa1608ed40b47b7ad524" dependencies = [ "cgmath", "delegate 0.13.3", @@ -966,11 +966,12 @@ dependencies = [ [[package]] name = "hugr-passes" -version = "0.15.2" +version = "0.15.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d42ac5f02ce1e0c7d306ed20a5bc766409db09eada1c21fd9b308deda57110e" +checksum = "f5ff7529467118342f26c30bf37079d30000d1542400eda435fc3758903ee820" dependencies = [ "ascent", + "derive_more 1.0.0", "hugr-core", "itertools 0.14.0", "lazy_static", diff --git a/Cargo.toml b/Cargo.toml index 27a243dc0..74abfe8c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,8 +31,8 @@ missing_docs = "warn" [patch.crates-io] # Uncomment to use unreleased versions of hugr -# hugr = { git = "https://github.com/CQCL/hugr", rev = "4e6b6d8" } -# hugr-core = { git = "https://github.com/CQCL/hugr", rev = "4e6b6d8" } +# hugr = { git = "https://github.com/CQCL/hugr", rev = "167c687" } +# hugr-core = { git = "https://github.com/CQCL/hugr", rev = "167c687" } # hugr-passes = { git = "https://github.com/CQCL/hugr", rev = "4e6b6d8" } # hugr-cli = { git = "https://github.com/CQCL/hugr", rev = "4e6b6d8" } # portgraph = { git = "https://github.com/CQCL/portgraph", rev = "68b96ac737e0c285d8c543b2d74a7aa80a18202c" } @@ -40,9 +40,9 @@ missing_docs = "warn" [workspace.dependencies] # Make sure to run `just recompile-eccs` if the hugr serialisation format changes. -hugr = "0.15.2" -hugr-core = "0.15.0" -hugr-cli = "0.15.2" +hugr = "0.15.3" +hugr-core = "0.15.3" +hugr-cli = "0.15.3" portgraph = "0.13.3" pyo3 = "0.23.4" itertools = "0.14.0" diff --git a/tket2-hseries/src/extension/qsystem.rs b/tket2-hseries/src/extension/qsystem.rs index 5a6bde3ef..049abf631 100644 --- a/tket2-hseries/src/extension/qsystem.rs +++ b/tket2-hseries/src/extension/qsystem.rs @@ -414,7 +414,9 @@ pub trait QSystemOpBuilder: Dataflow + UnwrapBuilder { /// Build a qalloc operation that panics on failure. fn build_qalloc(&mut self) -> Result { let maybe_qb = self.add_try_alloc()?; - let [qb] = self.build_unwrap_sum(1, option_type(qb_t()), maybe_qb)?; + let [qb] = self.build_expect_sum(1, option_type(qb_t()), maybe_qb, |_| { + "No more qubits available to allocate.".to_string() + })?; Ok(qb) } } diff --git a/tket2/src/extension/bool.rs b/tket2/src/extension/bool.rs index 05cbe65a7..07336a6b3 100644 --- a/tket2/src/extension/bool.rs +++ b/tket2/src/extension/bool.rs @@ -219,14 +219,14 @@ pub trait BoolOpBuilder: Dataflow { .outputs_arr()) } - /// Add a "tket2.bool.Or" op. + /// Add a "tket2.bool.Or" op. fn add_or(&mut self, bool1: Wire, bool2: Wire) -> Result<[Wire; 1], BuildError> { Ok(self .add_dataflow_op(BoolOp::or, [bool1, bool2])? .outputs_arr()) } - /// Add a "tket2.bool.Xor" op. + /// Add a "tket2.bool.Xor" op. fn add_xor(&mut self, bool1: Wire, bool2: Wire) -> Result<[Wire; 1], BuildError> { Ok(self .add_dataflow_op(BoolOp::xor, [bool1, bool2])?