From e19a83160ac5bed047743b4e1eecc90893962c54 Mon Sep 17 00:00:00 2001 From: Graham Enos Date: Mon, 22 Sep 2025 11:15:25 -0400 Subject: [PATCH] fix!: Appease `cargo-audit` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit According to [`cargo-audit`](https://crates.io/crates/cargo-audit), there are a few RUSTSEC advisories lurking in `hugr` due to unmaintained dependencies: - `fxhash`, both directly and transitively via `relrc` - `instant`, transitively via `ascent` - `paste`, both directly and transitively via `ascent` This PR replaces local `fxhash` usage with the suggested [`rustc-hash`](https://crates.io/crates/rustc-hash) and `paste` with the successor [`pastey`](https://crates.io/crates/pastey). **Of note:** switching to `rustc-hash` changed a couple of the testing snapshots. I think everything is still in there, but the ordering has shuffled a bit. Of course, the transitive dependencies require updates to `ascent` and `relrc`; see [this `ascent`](https://github.com/s-arash/ascent/pull/73) PR and [this `relrc`](https://github.com/lmondada/relrc/pull/8) one. If/when those get merged and released, we'd want to bump the versions of those packages here, too.
Output of cargo audit ``` $ cargo audit Fetching advisory database from `https://github.com/RustSec/advisory-db.git` Loaded 820 security advisories (from /Users/graham/.cargo/advisory-db) Updating crates.io index Scanning Cargo.lock for vulnerabilities (416 crate dependencies) Crate: fxhash Version: 0.2.1 Warning: unmaintained Title: fxhash - no longer maintained Date: 2025-09-05 ID: RUSTSEC-2025-0057 URL: https://rustsec.org/advisories/RUSTSEC-2025-0057 Dependency tree: fxhash 0.2.1 ├── relrc 0.4.6 │ ├── hugr-persistent 0.2.3 │ │ └── hugr 0.22.3 │ │ ├── hugr-core 0.22.3 │ │ │ ├── hugr-persistent 0.2.3 │ │ │ ├── hugr-passes 0.22.3 │ │ │ │ └── hugr 0.22.3 │ │ │ ├── hugr-llvm 0.22.3 │ │ │ │ ├── hugr-llvm 0.22.3 │ │ │ │ └── hugr 0.22.3 │ │ │ └── hugr 0.22.3 │ │ └── hugr-cli 0.22.3 │ └── hugr-core 0.22.3 ├── hugr-model 0.22.3 │ ├── hugr-py 0.1.0 │ ├── hugr-core 0.22.3 │ └── hugr 0.22.3 └── hugr-core 0.22.3 Crate: instant Version: 0.1.13 Warning: unmaintained Title: `instant` is unmaintained Date: 2024-09-01 ID: RUSTSEC-2024-0384 URL: https://rustsec.org/advisories/RUSTSEC-2024-0384 Dependency tree: instant 0.1.13 └── ascent 0.8.0 └── hugr-passes 0.22.3 └── hugr 0.22.3 ├── hugr-core 0.22.3 │ ├── hugr-persistent 0.2.3 │ │ └── hugr 0.22.3 │ ├── hugr-passes 0.22.3 │ ├── hugr-llvm 0.22.3 │ │ ├── hugr-llvm 0.22.3 │ │ └── hugr 0.22.3 │ └── hugr 0.22.3 └── hugr-cli 0.22.3 Crate: paste Version: 1.0.15 Warning: unmaintained Title: paste - no longer maintained Date: 2024-10-07 ID: RUSTSEC-2024-0436 URL: https://rustsec.org/advisories/RUSTSEC-2024-0436 Dependency tree: paste 1.0.15 ├── hugr-py 0.1.0 ├── hugr-passes 0.22.3 │ └── hugr 0.22.3 │ ├── hugr-core 0.22.3 │ │ ├── hugr-persistent 0.2.3 │ │ │ └── hugr 0.22.3 │ │ ├── hugr-passes 0.22.3 │ │ ├── hugr-llvm 0.22.3 │ │ │ ├── hugr-llvm 0.22.3 │ │ │ └── hugr 0.22.3 │ │ └── hugr 0.22.3 │ └── hugr-cli 0.22.3 ├── hugr-core 0.22.3 ├── ascent_base 0.8.0 │ ├── ascent_macro 0.8.0 │ │ └── ascent 0.8.0 │ │ └── hugr-passes 0.22.3 │ └── ascent 0.8.0 └── ascent 0.8.0 warning: 3 allowed warnings found ```
BREAKING CHANGE: replaced `fxhash` and `paste` with `rustc-hash` and `pastey`, respectively. --- Cargo.lock | 16 +++++++++---- Cargo.toml | 4 ++-- hugr-core/Cargo.toml | 4 ++-- hugr-core/src/export.rs | 2 +- hugr-core/src/hugr/views/sibling_subgraph.rs | 2 +- hugr-core/src/import.rs | 2 +- hugr-core/src/macros.rs | 2 +- hugr-core/src/ops.rs | 2 +- .../tests/snapshots/model__roundtrip_add.snap | 4 ++-- .../snapshots/model__roundtrip_alias.snap | 4 ++-- .../snapshots/model__roundtrip_call.snap | 8 +++---- .../tests/snapshots/model__roundtrip_cfg.snap | 4 ++-- .../snapshots/model__roundtrip_cond.snap | 6 ++--- .../snapshots/model__roundtrip_const.snap | 24 +++++++++---------- .../model__roundtrip_constraints.snap | 10 ++++---- .../model__roundtrip_entrypoint.snap | 16 ++++++------- .../snapshots/model__roundtrip_loop.snap | 8 +++---- .../snapshots/model__roundtrip_order.snap | 14 +++++------ .../snapshots/model__roundtrip_params.snap | 12 +++++----- hugr-model/Cargo.toml | 2 +- hugr-model/src/v0/ast/resolve.rs | 2 +- hugr-model/src/v0/scope/link.rs | 2 +- hugr-model/src/v0/scope/symbol.rs | 2 +- hugr-model/src/v0/scope/vars.rs | 2 +- hugr-passes/Cargo.toml | 2 +- hugr-py/Cargo.toml | 2 +- hugr-py/rust/lib.rs | 2 +- 27 files changed, 83 insertions(+), 77 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e1231dedfe..b051850212 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1246,7 +1246,6 @@ dependencies = [ "derive_more 1.0.0", "downcast-rs", "enum_dispatch", - "fxhash", "html-escape", "hugr", "hugr-model", @@ -1255,7 +1254,7 @@ dependencies = [ "itertools 0.14.0", "jsonschema", "ordered-float", - "paste", + "pastey", "petgraph 0.8.2", "portgraph", "proptest", @@ -1263,6 +1262,7 @@ dependencies = [ "regex", "relrc", "rstest", + "rustc-hash", "semver", "serde", "serde_json", @@ -1304,7 +1304,6 @@ dependencies = [ "bumpalo", "capnp", "derive_more 1.0.0", - "fxhash", "indexmap 2.11.3", "insta", "itertools 0.14.0", @@ -1316,6 +1315,7 @@ dependencies = [ "proptest", "proptest-derive", "pyo3", + "rustc-hash", "semver", "smol_str", "thiserror 2.0.16", @@ -1329,7 +1329,7 @@ dependencies = [ "derive_more 1.0.0", "hugr-core", "itertools 0.14.0", - "paste", + "pastey", "petgraph 0.8.2", "portgraph", "proptest", @@ -1366,7 +1366,7 @@ version = "0.1.0" dependencies = [ "bumpalo", "hugr-model", - "paste", + "pastey", "pyo3", ] @@ -2044,6 +2044,12 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "pastey" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec" + [[package]] name = "percent-encoding" version = "2.3.1" diff --git a/Cargo.toml b/Cargo.toml index 2d5eaf0037..60e2bd04c9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -54,7 +54,7 @@ html-escape = "0.2.13" itertools = "0.14.0" jsonschema = "0.29.1" num-rational = "0.4.1" -paste = "1.0" +pastey = "0.1.1" proptest = "1.7.0" proptest-derive = "0.5.0" regex = "1.11.2" @@ -79,7 +79,7 @@ assert_cmd = "2.0.17" assert_fs = "1.1.3" predicates = "3.1.0" indexmap = "2.11.3" -fxhash = "0.2.1" +rustc-hash = "2.1.1" bumpalo = "3.19.0" pathsearch = "0.2.0" base64 = "0.22.1" diff --git a/hugr-core/Cargo.toml b/hugr-core/Cargo.toml index cd961bb6a3..69d4b669af 100644 --- a/hugr-core/Cargo.toml +++ b/hugr-core/Cargo.toml @@ -40,14 +40,14 @@ derive_more = { workspace = true, features = [ ] } downcast-rs = { workspace = true } enum_dispatch = { workspace = true } -fxhash.workspace = true html-escape = { workspace = true } indexmap.workspace = true itertools = { workspace = true } -paste = { workspace = true } +pastey = { workspace = true } petgraph = { workspace = true } portgraph = { workspace = true, features = ["serde", "petgraph"] } regex = { workspace = true } +rustc-hash.workspace = true # Rc used here for Extension, but unfortunately we must turn the feature on globally serde = { workspace = true, features = ["derive", "rc"] } serde_json = { workspace = true } diff --git a/hugr-core/src/export.rs b/hugr-core/src/export.rs index 5ceb462c40..9b0dc2aa6a 100644 --- a/hugr-core/src/export.rs +++ b/hugr-core/src/export.rs @@ -20,7 +20,6 @@ use crate::{ }, }; -use fxhash::{FxBuildHasher, FxHashMap}; use hugr_model::v0::bumpalo; use hugr_model::v0::{ self as model, @@ -28,6 +27,7 @@ use hugr_model::v0::{ table, }; use petgraph::unionfind::UnionFind; +use rustc_hash::{FxBuildHasher, FxHashMap}; use smol_str::ToSmolStr; use std::fmt::Write; diff --git a/hugr-core/src/hugr/views/sibling_subgraph.rs b/hugr-core/src/hugr/views/sibling_subgraph.rs index e3fb08329c..d4b095f6a5 100644 --- a/hugr-core/src/hugr/views/sibling_subgraph.rs +++ b/hugr-core/src/hugr/views/sibling_subgraph.rs @@ -8,13 +8,13 @@ use std::cell::OnceCell; use std::collections::HashSet; use std::mem; -use fxhash::FxHashSet; use itertools::Itertools; use portgraph::LinkView; use portgraph::PortView; use portgraph::algorithms::CreateConvexChecker; use portgraph::algorithms::convex::{LineIndex, LineIntervals, Position}; use portgraph::boundary::Boundary; +use rustc_hash::FxHashSet; use thiserror::Error; use crate::builder::{Container, FunctionBuilder}; diff --git a/hugr-core/src/import.rs b/hugr-core/src/import.rs index 46d195035c..557afdc73c 100644 --- a/hugr-core/src/import.rs +++ b/hugr-core/src/import.rs @@ -29,10 +29,10 @@ use crate::{ type_row::TypeRowBase, }, }; -use fxhash::FxHashMap; use hugr_model::v0::table; use hugr_model::v0::{self as model}; use itertools::{Either, Itertools}; +use rustc_hash::FxHashMap; use smol_str::{SmolStr, ToSmolStr}; use thiserror::Error; diff --git a/hugr-core/src/macros.rs b/hugr-core/src/macros.rs index c2ee1055dd..6d6f2388f9 100644 --- a/hugr-core/src/macros.rs +++ b/hugr-core/src/macros.rs @@ -101,7 +101,7 @@ macro_rules! const_extension_ids { $($(#[$attr])* $v const $field_name: $crate::extension::ExtensionId = $crate::extension::ExtensionId::new_unchecked($ext_name); - paste::paste! { + pastey::paste! { #[test] fn []() { $crate::extension::ExtensionId::new($ext_name).unwrap(); diff --git a/hugr-core/src/ops.rs b/hugr-core/src/ops.rs index 83627591a0..cab37447f0 100644 --- a/hugr-core/src/ops.rs +++ b/hugr-core/src/ops.rs @@ -22,7 +22,7 @@ use crate::{Direction, Node, OutgoingPort, Port}; use crate::{IncomingPort, PortIndex}; use derive_more::Display; use handle::NodeHandle; -use paste::paste; +use pastey::paste; use enum_dispatch::enum_dispatch; diff --git a/hugr-core/tests/snapshots/model__roundtrip_add.snap b/hugr-core/tests/snapshots/model__roundtrip_add.snap index 625b621f09..43b43093b7 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_add.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_add.snap @@ -8,12 +8,12 @@ expression: ast (import core.meta.description) -(import core.nat) - (import core.fn) (import arithmetic.int.types.int) +(import core.nat) + (declare-operation arithmetic.int.iadd (param ?0 core.nat) diff --git a/hugr-core/tests/snapshots/model__roundtrip_alias.snap b/hugr-core/tests/snapshots/model__roundtrip_alias.snap index 6174d8c744..e47c312cd4 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_alias.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_alias.snap @@ -6,12 +6,12 @@ expression: ast (mod) +(import core.type) + (import core.fn) (import arithmetic.int.types.int) -(import core.type) - (declare-alias local.float core.type) (define-alias local.int core.type arithmetic.int.types.int) diff --git a/hugr-core/tests/snapshots/model__roundtrip_call.snap b/hugr-core/tests/snapshots/model__roundtrip_call.snap index 8681cf372c..75c3632c38 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_call.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_call.snap @@ -6,16 +6,16 @@ expression: ast (mod) -(import core.call) +(import compat.meta_json) -(import core.load_const) +(import core.call) (import core.fn) -(import compat.meta_json) - (import arithmetic.int.types.int) +(import core.load_const) + (declare-func public example.callee diff --git a/hugr-core/tests/snapshots/model__roundtrip_cfg.snap b/hugr-core/tests/snapshots/model__roundtrip_cfg.snap index da2fe4851f..170bfc377a 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_cfg.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_cfg.snap @@ -10,12 +10,12 @@ expression: ast (import core.ctrl) +(import core.adt) + (import core.type) (import core.fn) -(import core.adt) - (define-func public example.cfg_loop (param ?0 core.type) (core.fn [?0] [?0]) (dfg [%0] [%1] (signature (core.fn [?0] [?0])) diff --git a/hugr-core/tests/snapshots/model__roundtrip_cond.snap b/hugr-core/tests/snapshots/model__roundtrip_cond.snap index c51323db5c..a2a2f4988e 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_cond.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_cond.snap @@ -8,14 +8,14 @@ expression: ast (import core.meta.description) -(import core.nat) +(import core.adt) (import core.fn) -(import core.adt) - (import arithmetic.int.types.int) +(import core.nat) + (declare-operation arithmetic.int.ineg (param ?0 core.nat) diff --git a/hugr-core/tests/snapshots/model__roundtrip_const.snap b/hugr-core/tests/snapshots/model__roundtrip_const.snap index cca94fca45..fa03a3031e 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_const.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_const.snap @@ -6,29 +6,29 @@ expression: ast (mod) -(import collections.array.array) - -(import compat.const_json) +(import collections.array.const) -(import core.load_const) +(import core.const) -(import arithmetic.int.const) +(import core.adt) -(import arithmetic.float.const_f64) +(import core.fn) (import core.const.adt) -(import arithmetic.int.types.int) - -(import core.const) +(import arithmetic.int.const) -(import collections.array.const) +(import arithmetic.float.const_f64) (import arithmetic.float.types.float64) -(import core.fn) +(import core.load_const) -(import core.adt) +(import compat.const_json) + +(import arithmetic.int.types.int) + +(import collections.array.array) (define-func public diff --git a/hugr-core/tests/snapshots/model__roundtrip_constraints.snap b/hugr-core/tests/snapshots/model__roundtrip_constraints.snap index 2c50e73489..59f10ac337 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_constraints.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_constraints.snap @@ -6,17 +6,17 @@ expression: ast (mod) -(import collections.array.array) +(import core.fn) -(import core.nat) +(import core.title) (import core.nonlinear) -(import core.type) +(import core.nat) -(import core.fn) +(import core.type) -(import core.title) +(import collections.array.array) (declare-func private diff --git a/hugr-core/tests/snapshots/model__roundtrip_entrypoint.snap b/hugr-core/tests/snapshots/model__roundtrip_entrypoint.snap index 1340bb6b02..81104642ef 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_entrypoint.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_entrypoint.snap @@ -6,36 +6,36 @@ expression: ast (mod) -(import core.fn) - (import core.entrypoint) +(import core.fn) + (define-func public main (core.fn [] []) (meta core.entrypoint) (dfg (signature (core.fn [] [])))) (mod) -(import core.fn) - (import core.entrypoint) +(import core.fn) + (define-func public wrapper_dfg (core.fn [] []) (meta core.entrypoint) (dfg (signature (core.fn [] [])))) (mod) +(import core.entrypoint) + (import core.make_adt) (import core.ctrl) -(import core.fn) - -(import core.entrypoint) - (import core.adt) +(import core.fn) + (define-func public wrapper_cfg (core.fn [] []) (dfg (signature (core.fn [] [])) diff --git a/hugr-core/tests/snapshots/model__roundtrip_loop.snap b/hugr-core/tests/snapshots/model__roundtrip_loop.snap index e6991516f3..e2d5392dfe 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_loop.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_loop.snap @@ -8,13 +8,13 @@ expression: ast (import core.make_adt) -(import core.type) - -(import core.fn) +(import core.title) (import core.adt) -(import core.title) +(import core.type) + +(import core.fn) (define-func private _1 (param ?0 core.type) (core.fn [?0] [?0]) (meta (core.title "example.loop")) diff --git a/hugr-core/tests/snapshots/model__roundtrip_order.snap b/hugr-core/tests/snapshots/model__roundtrip_order.snap index dda51b71cf..4ac9227b8b 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_order.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_order.snap @@ -6,22 +6,22 @@ expression: ast (mod) -(import core.meta.description) +(import core.order_hint.output_key) + +(import core.order_hint.key) + +(import core.fn) (import core.order_hint.input_key) (import core.order_hint.order) +(import core.meta.description) + (import arithmetic.int.types.int) (import core.nat) -(import core.order_hint.key) - -(import core.order_hint.output_key) - -(import core.fn) - (declare-operation arithmetic.int.ineg (param ?0 core.nat) diff --git a/hugr-core/tests/snapshots/model__roundtrip_params.snap b/hugr-core/tests/snapshots/model__roundtrip_params.snap index c5c5eac95b..8212ccd9ab 100644 --- a/hugr-core/tests/snapshots/model__roundtrip_params.snap +++ b/hugr-core/tests/snapshots/model__roundtrip_params.snap @@ -6,21 +6,21 @@ expression: ast (mod) -(import core.call) - -(import core.type) +(import core.title) (import core.bytes) -(import core.nat) +(import core.type) (import core.fn) +(import core.call) + (import core.str) -(import core.float) +(import core.nat) -(import core.title) +(import core.float) (define-func public diff --git a/hugr-model/Cargo.toml b/hugr-model/Cargo.toml index 7039492d86..1cae1166df 100644 --- a/hugr-model/Cargo.toml +++ b/hugr-model/Cargo.toml @@ -20,13 +20,13 @@ base64 = { workspace = true } bumpalo = { workspace = true, features = ["collections"] } capnp = { workspace = true } derive_more = { workspace = true, features = ["display", "error", "from"] } -fxhash.workspace = true indexmap.workspace = true itertools.workspace = true ordered-float = { workspace = true } pest = { workspace = true } pest_derive = { workspace = true } pretty = { workspace = true } +rustc-hash.workspace = true semver = { workspace = true } smol_str = { workspace = true, features = ["serde"] } thiserror.workspace = true diff --git a/hugr-model/src/v0/ast/resolve.rs b/hugr-model/src/v0/ast/resolve.rs index f126d3e69e..54ca2bb791 100644 --- a/hugr-model/src/v0/ast/resolve.rs +++ b/hugr-model/src/v0/ast/resolve.rs @@ -1,6 +1,6 @@ use bumpalo::{Bump, collections::Vec as BumpVec}; -use fxhash::FxHashMap; use itertools::zip_eq; +use rustc_hash::FxHashMap; use thiserror::Error; use super::{ diff --git a/hugr-model/src/v0/scope/link.rs b/hugr-model/src/v0/scope/link.rs index 570ee90b17..1fafcbef68 100644 --- a/hugr-model/src/v0/scope/link.rs +++ b/hugr-model/src/v0/scope/link.rs @@ -1,7 +1,7 @@ use std::hash::{BuildHasherDefault, Hash}; -use fxhash::FxHasher; use indexmap::IndexSet; +use rustc_hash::FxHasher; use crate::v0::table::{LinkIndex, RegionId}; diff --git a/hugr-model/src/v0/scope/symbol.rs b/hugr-model/src/v0/scope/symbol.rs index a7e514d3fe..52ca93705c 100644 --- a/hugr-model/src/v0/scope/symbol.rs +++ b/hugr-model/src/v0/scope/symbol.rs @@ -1,7 +1,7 @@ use std::{borrow::Cow, hash::BuildHasherDefault}; -use fxhash::FxHasher; use indexmap::IndexMap; +use rustc_hash::FxHasher; use thiserror::Error; use crate::v0::table::{NodeId, RegionId}; diff --git a/hugr-model/src/v0/scope/vars.rs b/hugr-model/src/v0/scope/vars.rs index b7085e2ee8..95dcaca35d 100644 --- a/hugr-model/src/v0/scope/vars.rs +++ b/hugr-model/src/v0/scope/vars.rs @@ -1,5 +1,5 @@ -use fxhash::FxHasher; use indexmap::IndexSet; +use rustc_hash::FxHasher; use std::hash::BuildHasherDefault; use thiserror::Error; diff --git a/hugr-passes/Cargo.toml b/hugr-passes/Cargo.toml index 6bab9c1912..fdedb8ceac 100644 --- a/hugr-passes/Cargo.toml +++ b/hugr-passes/Cargo.toml @@ -24,7 +24,7 @@ portgraph = { workspace = true } ascent = { version = "0.8.0" } derive_more = { workspace = true, features = ["display", "error", "from"] } itertools = { workspace = true } -paste = { workspace = true } +pastey = { workspace = true } thiserror = { workspace = true } petgraph = { workspace = true } strum = { workspace = true } diff --git a/hugr-py/Cargo.toml b/hugr-py/Cargo.toml index 86ddc5d449..96051ebfa5 100644 --- a/hugr-py/Cargo.toml +++ b/hugr-py/Cargo.toml @@ -22,5 +22,5 @@ bench = false [dependencies] bumpalo = { workspace = true, features = ["collections"] } hugr-model = { version = "0.22.3", path = "../hugr-model", features = ["pyo3"] } -paste.workspace = true +pastey.workspace = true pyo3 = { workspace = true, features = ["extension-module", "abi3-py310"] } diff --git a/hugr-py/rust/lib.rs b/hugr-py/rust/lib.rs index bf7f0f1cbb..b0fb4b7499 100644 --- a/hugr-py/rust/lib.rs +++ b/hugr-py/rust/lib.rs @@ -5,7 +5,7 @@ use pyo3::{exceptions::PyValueError, prelude::*}; macro_rules! syntax_to_and_from_string { ($name:ident, $ty:ty) => { - paste::paste! { + pastey::paste! { #[pyfunction] fn [<$name _to_string>](ob: ast::$ty) -> PyResult { Ok(format!("{}", ob))