jecsand838 commented on code in PR #8242: URL: https://github.com/apache/arrow-rs/pull/8242#discussion_r2308925748
########## arrow-avro/src/schema.rs: ########## @@ -478,15 +516,15 @@ pub struct SchemaStore { schemas: HashMap<Fingerprint, AvroSchema>, } -impl TryFrom<&[AvroSchema]> for SchemaStore { +impl TryFrom<&HashMap<Fingerprint, AvroSchema>> for SchemaStore { type Error = ArrowError; - /// Creates a `SchemaStore` from a slice of schemas. - /// Each schema in the slice is registered with the new store. - fn try_from(schemas: &[AvroSchema]) -> Result<Self, Self::Error> { + /// Creates a `SchemaStore` from a HashMap of schemas. + /// Each schema in the HashMap is registered with the new store. + fn try_from(schemas: &HashMap<Fingerprint, AvroSchema>) -> Result<Self, Self::Error> { Review Comment: You could probably simply this method now and implement it like this: ```rust fn try_from(schemas: &HashMap<Fingerprint, AvroSchema>) -> Result<Self, Self::Error> { Ok(Self { schemas: schemas.clone(), ..Self::default() }) } ``` Also since you're going this direction, I'd recommending making the `pub(crate) fn generate_fingerprint` method on lines 426-450 method public and documented with an example, i.e. `pub fn generate_fingerprint`. End users will need to use `generate_fingerprint` to generate fingerprints to use the updated `SchemaStore::try_from()` method. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org