diff --git a/src/rust/src/asn1.rs b/src/rust/src/asn1.rs index bf17a5952..12827ccca 100644 --- a/src/rust/src/asn1.rs +++ b/src/rust/src/asn1.rs @@ -148,7 +148,7 @@ struct TestCertificate { subject_value_tags: Vec, } -fn parse_name_value_tags(rdns: &mut Name<'_>) -> Vec { +fn parse_name_value_tags(rdns: &Name<'_>) -> Vec { let mut tags = vec![]; for rdn in rdns.unwrap_read().clone() { let mut attributes = rdn.collect::>(); @@ -168,13 +168,13 @@ fn time_tag(t: &Time) -> u8 { #[pyo3::prelude::pyfunction] fn test_parse_certificate(data: &[u8]) -> Result { - let mut cert = asn1::parse_single::>(data)?; + let cert = asn1::parse_single::>(data)?; Ok(TestCertificate { not_before_tag: time_tag(&cert.tbs_cert.validity.not_before), not_after_tag: time_tag(&cert.tbs_cert.validity.not_after), - issuer_value_tags: parse_name_value_tags(&mut cert.tbs_cert.issuer), - subject_value_tags: parse_name_value_tags(&mut cert.tbs_cert.subject), + issuer_value_tags: parse_name_value_tags(&cert.tbs_cert.issuer), + subject_value_tags: parse_name_value_tags(&cert.tbs_cert.subject), }) } diff --git a/src/rust/src/pool.rs b/src/rust/src/pool.rs index b9e6e27cd..0f45bed46 100644 --- a/src/rust/src/pool.rs +++ b/src/rust/src/pool.rs @@ -52,6 +52,11 @@ impl FixedPool { }) } } + + fn __traverse__(&self, visit: pyo3::PyVisit<'_>) -> Result<(), pyo3::PyTraverseError> { + visit.call(&self.create_fn)?; + Ok(()) + } } #[pyo3::pymethods]