diff --git a/hugr-cli/src/validate.rs b/hugr-cli/src/validate.rs index 996799b77..c2db97539 100644 --- a/hugr-cli/src/validate.rs +++ b/hugr-cli/src/validate.rs @@ -2,7 +2,6 @@ use clap::Parser; use clap_verbosity_flag::Level; -use hugr::package::PackageValidationError; use hugr::{extension::ExtensionRegistry, Extension, Hugr}; use crate::{CliError, HugrArgs}; @@ -64,8 +63,7 @@ impl HugrArgs { for ext in &self.extensions { let f = std::fs::File::open(ext)?; let ext: Extension = serde_json::from_reader(f)?; - reg.register_updated(ext) - .map_err(PackageValidationError::Extension)?; + reg.register_updated(ext); } package.update_validate(&mut reg)?; diff --git a/hugr-core/src/extension.rs b/hugr-core/src/extension.rs index 10a8a7ebf..2c7dffcaf 100644 --- a/hugr-core/src/extension.rs +++ b/hugr-core/src/extension.rs @@ -104,10 +104,7 @@ impl ExtensionRegistry { /// /// Takes an Arc to the extension. To avoid cloning Arcs unless necessary, see /// [`ExtensionRegistry::register_updated_ref`]. - pub fn register_updated( - &mut self, - extension: impl Into>, - ) -> Result<(), ExtensionRegistryError> { + pub fn register_updated(&mut self, extension: impl Into>) { let extension = extension.into(); match self.0.entry(extension.name().clone()) { btree_map::Entry::Occupied(mut prev) => { @@ -119,7 +116,6 @@ impl ExtensionRegistry { ve.insert(extension); } } - Ok(()) } /// Registers a new extension to the registry, keeping most up to date if @@ -131,10 +127,7 @@ impl ExtensionRegistry { /// /// Clones the Arc only when required. For no-cloning version see /// [`ExtensionRegistry::register_updated`]. - pub fn register_updated_ref( - &mut self, - extension: &Arc, - ) -> Result<(), ExtensionRegistryError> { + pub fn register_updated_ref(&mut self, extension: &Arc) { match self.0.entry(extension.name().clone()) { btree_map::Entry::Occupied(mut prev) => { if prev.get().version() < extension.version() { @@ -145,7 +138,6 @@ impl ExtensionRegistry { ve.insert(extension.clone()); } } - Ok(()) } /// Returns the number of extensions in the registry. @@ -777,14 +769,14 @@ pub mod test { ); // register with update works - reg_ref.register_updated_ref(&ext1_1).unwrap(); - reg.register_updated(ext1_1.clone()).unwrap(); + reg_ref.register_updated_ref(&ext1_1); + reg.register_updated(ext1_1.clone()); assert_eq!(reg.get("ext1").unwrap().version(), &Version::new(1, 1, 0)); assert_eq!(®, ®_ref); // register with lower version does not change version - reg_ref.register_updated_ref(&ext1_2).unwrap(); - reg.register_updated(ext1_2.clone()).unwrap(); + reg_ref.register_updated_ref(&ext1_2); + reg.register_updated(ext1_2.clone()); assert_eq!(reg.get("ext1").unwrap().version(), &Version::new(1, 1, 0)); assert_eq!(®, ®_ref); diff --git a/hugr-core/src/package.rs b/hugr-core/src/package.rs index cec1b2c85..aa32f24d5 100644 --- a/hugr-core/src/package.rs +++ b/hugr-core/src/package.rs @@ -99,7 +99,7 @@ impl Package { reg: &mut ExtensionRegistry, ) -> Result<(), PackageValidationError> { for ext in &self.extensions { - reg.register_updated_ref(ext)?; + reg.register_updated_ref(ext); } for hugr in self.modules.iter_mut() { hugr.update_validate(reg)?;