You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Kriskras99 (via GitHub)" <gi...@apache.org> on 2025/07/19 18:43:41 UTC
[PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Kriskras99 opened a new pull request, #230:
URL: https://github.com/apache/avro-rs/pull/230
Supersedes #229.
The size of a `Result` is as large as it's largest variant, thus `AvroResult` is currently always at least 104 bytes. Therefore, even if the function only returns a `usize` on success the function still needs to (stack) allocate 104 bytes.
I've renamed the current `Error` enum to `Details`, and actually made it a bit bigger by unboxing `Schema` arguments. The new `Error` type is just a wrapper around a `Box<Details>`.
To keep the code simple and make as few changes as possible, I've added a construction function for every variant of `Details`. I've also changed any `ok_or(Error...`) to an `ok_or_else(Error...` as constructing the type is now "expensive" because it does an allocation.
This is a breaking change if the user is matching on the error type. The fix is easy as the user can use `details` or `into_details` to get the inner `Details` to match on. When the user is constructing a struct-like variant of the type this is also a breaking change. This can be fixed by changing the curly braces to round brackets and removing the item names.
--
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: dev-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g merged PR #230:
URL: https://github.com/apache/avro-rs/pull/230
--
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: dev-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2219070700
##########
avro/src/codec.rs:
##########
@@ -91,7 +91,7 @@ impl Codec {
let mut encoded: Vec<u8> = vec![0; snap::raw::max_compress_len(stream.len())];
let compressed_size = snap::raw::Encoder::new()
.compress(&stream[..], &mut encoded[..])
- .map_err(Error::SnappyCompress)?;
+ .map_err(Details::SnappyCompress)?;
Review Comment:
The try operator (question mark: ?) automatically calls into
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2218818490
##########
avro/src/error.rs:
##########
@@ -21,8 +21,1154 @@ use crate::{
};
use std::{error::Error as _, fmt};
+/// Errors encounterd by Avro.
+///
+/// To inspect the details of the error use [`details`](Self::details) or [`into_details`](Self::into_details)
+/// to get a [`Details`] which contains more precise error information.
+///
+/// See [`Details`] for all possible errors.
+#[derive(thiserror::Error, Debug)]
+#[repr(transparent)]
+#[error(transparent)]
+pub struct Error {
+ details: Box<Details>,
+}
+
+impl Error {
+ pub fn new(details: Details) -> Self {
+ Self {
+ details: Box::new(details),
+ }
+ }
+
+ pub fn details(&self) -> &Details {
+ &self.details
+ }
+
+ pub fn into_details(self) -> Details {
+ *self.details
+ }
+}
+
+/// Functions for constructing a specific error type.
+#[allow(non_snake_case, reason = "Want to mimic the `Details` variants")]
+impl Error {
+ /// Construct a new [`Error`] with a [`Details::SnappyCrc32`].
+ pub fn SnappyCrc32(expected: u32, actual: u32) -> Self {
Review Comment:
> We could remove them completely but then a lot more lines will have to be changed, if you want that let me know and I'll do it.
We change those lines anyway in this PR.
Please make the change for just a few of the variants to see how it looks like and then we can decide!
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2218256648
##########
avro/src/error.rs:
##########
@@ -21,8 +21,1154 @@ use crate::{
};
use std::{error::Error as _, fmt};
+/// Errors encounterd by Avro.
+///
+/// To inspect the details of the error use [`details`](Self::details) or [`into_details`](Self::into_details)
+/// to get a [`Details`] which contains more precise error information.
+///
+/// See [`Details`] for all possible errors.
+#[derive(thiserror::Error, Debug)]
+#[repr(transparent)]
+#[error(transparent)]
+pub struct Error {
+ details: Box<Details>,
+}
+
+impl Error {
+ pub fn new(details: Details) -> Self {
+ Self {
+ details: Box::new(details),
+ }
+ }
+
+ pub fn details(&self) -> &Details {
+ &self.details
+ }
+
+ pub fn into_details(self) -> Details {
+ *self.details
+ }
+}
+
+/// Functions for constructing a specific error type.
+#[allow(non_snake_case, reason = "Want to mimic the `Details` variants")]
+impl Error {
+ /// Construct a new [`Error`] with a [`Details::SnappyCrc32`].
+ pub fn SnappyCrc32(expected: u32, actual: u32) -> Self {
Review Comment:
I wonder whether we really need to have these public factory methods.
Usually the library creates the "instance". The user applications check/match the error.
But even if the user applications need to create an instance they could replace `Error::Xyz{...}` with `Details::Xyz{...}.into()`, i.e. `s/Error/Details` and append `.into()`. We could use the same in the library too.
##########
avro/src/lib.rs:
##########
@@ -896,7 +896,7 @@ pub use codec::{Codec, DeflateSettings};
pub use de::from_value;
pub use decimal::Decimal;
pub use duration::{Days, Duration, Millis, Months};
-pub use error::Error;
+pub use error::{Details, Error};
Review Comment:
It is not very clear that `apache_avro::Details` is about Error's details.
IMO we should either export it as `apache_avro::ErrorDetails` or not export it at all and the end users should use it as `apache_avro::error::Details`. I think I like the latter better.
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2218800818
##########
avro/src/error.rs:
##########
@@ -21,8 +21,1154 @@ use crate::{
};
use std::{error::Error as _, fmt};
+/// Errors encounterd by Avro.
+///
+/// To inspect the details of the error use [`details`](Self::details) or [`into_details`](Self::into_details)
+/// to get a [`Details`] which contains more precise error information.
+///
+/// See [`Details`] for all possible errors.
+#[derive(thiserror::Error, Debug)]
+#[repr(transparent)]
+#[error(transparent)]
+pub struct Error {
+ details: Box<Details>,
+}
+
+impl Error {
+ pub fn new(details: Details) -> Self {
+ Self {
+ details: Box::new(details),
+ }
+ }
+
+ pub fn details(&self) -> &Details {
+ &self.details
+ }
+
+ pub fn into_details(self) -> Details {
+ *self.details
+ }
+}
+
+/// Functions for constructing a specific error type.
+#[allow(non_snake_case, reason = "Want to mimic the `Details` variants")]
+impl Error {
+ /// Construct a new [`Error`] with a [`Details::SnappyCrc32`].
+ pub fn SnappyCrc32(expected: u32, actual: u32) -> Self {
Review Comment:
I've marked the construction functions as `pub(crate)` for now, let me know if you want to completely remove them.
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on PR #230:
URL: https://github.com/apache/avro-rs/pull/230#issuecomment-3096487619
See the comparison here: https://github.com/apache/avro-rs/compare/bd1910d0cedeeb16d08f9257bf4034aa1d7ba4e5..c2aa64df086570b14ec4a40d496e3cce026fcf8f
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on PR #230:
URL: https://github.com/apache/avro-rs/pull/230#issuecomment-3095345247
Shall I mark it as deprecated in this PR or do you also want that in a separate PR?
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2219065021
##########
avro/src/bigdecimal.rs:
##########
@@ -50,27 +51,27 @@ pub(crate) fn deserialize_big_decimal(bytes: &Vec<u8>) -> AvroResult<BigDecimal>
let mut bytes: &[u8] = bytes.as_slice();
let mut big_decimal_buffer = match decode_len(&mut bytes) {
Ok(size) => vec![0u8; size],
- Err(err) => return Err(Error::BigDecimalLen(Box::new(err))),
+ Err(err) => return Err(Details::BigDecimalLen(Box::new(err)).into()),
Review Comment:
No, that would make the Error struct infinitely large (Error -> Details -> Error -> Details ...)
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2218800013
##########
avro/src/lib.rs:
##########
@@ -896,7 +896,7 @@ pub use codec::{Codec, DeflateSettings};
pub use de::from_value;
pub use decimal::Decimal;
pub use duration::{Days, Duration, Millis, Months};
-pub use error::Error;
+pub use error::{Details, Error};
Review Comment:
I've made `apache_avro::error` public and removed the `pub use Details`.
This does make the `CompatibalityError` type public, but I think it's supposed to be public anyway?
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2219044160
##########
avro/src/decimal.rs:
##########
@@ -93,7 +93,7 @@ impl Decimal {
let mut decimal_bytes = vec![sign_byte; len];
let raw_bytes = self.value.to_signed_bytes_be();
let num_raw_bytes = raw_bytes.len();
- let start_byte_index = len.checked_sub(num_raw_bytes).ok_or(Error::SignExtend {
+ let start_byte_index = len.checked_sub(num_raw_bytes).ok_or(Details::SignExtend {
Review Comment:
ok_or_else ?
##########
avro/src/bigdecimal.rs:
##########
@@ -50,27 +51,27 @@ pub(crate) fn deserialize_big_decimal(bytes: &Vec<u8>) -> AvroResult<BigDecimal>
let mut bytes: &[u8] = bytes.as_slice();
let mut big_decimal_buffer = match decode_len(&mut bytes) {
Ok(size) => vec![0u8; size],
- Err(err) => return Err(Error::BigDecimalLen(Box::new(err))),
+ Err(err) => return Err(Details::BigDecimalLen(Box::new(err)).into()),
Review Comment:
We can drop the usage of Box here, right ?
##########
avro/src/codec.rs:
##########
@@ -91,7 +91,7 @@ impl Codec {
let mut encoded: Vec<u8> = vec![0; snap::raw::max_compress_len(stream.len())];
let compressed_size = snap::raw::Encoder::new()
.compress(&stream[..], &mut encoded[..])
- .map_err(Error::SnappyCompress)?;
+ .map_err(Details::SnappyCompress)?;
Review Comment:
How does this work without the `.into()` call ?
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g commented on PR #230:
URL: https://github.com/apache/avro-rs/pull/230#issuecomment-3095326126
> I also think `Details::GetLogicalTypeVariant(serde_json::Value)` is unused, if we're doing a breaking change on the error type might as well remove it.
Let's deprecate it for now. We could remove it few releases later.
We have few other items deprecated in older versions (e.g. 0.11 and 0.15) which we could remove for 0.20! But in a separate PR.
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on PR #230:
URL: https://github.com/apache/avro-rs/pull/230#issuecomment-3096162270
I've marked `GetLogicalTypeVariant` as deprecated, in addition I found that `EnumSymbolIndex`, `ConvertU32ToUsize`, `BigDecimalSign`, and `DeflateCompress` are also unused and thus marked them as deprecated too.
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2218282657
##########
avro/src/error.rs:
##########
@@ -21,8 +21,1154 @@ use crate::{
};
use std::{error::Error as _, fmt};
+/// Errors encounterd by Avro.
+///
+/// To inspect the details of the error use [`details`](Self::details) or [`into_details`](Self::into_details)
+/// to get a [`Details`] which contains more precise error information.
+///
+/// See [`Details`] for all possible errors.
+#[derive(thiserror::Error, Debug)]
+#[repr(transparent)]
+#[error(transparent)]
+pub struct Error {
+ details: Box<Details>,
+}
+
+impl Error {
+ pub fn new(details: Details) -> Self {
+ Self {
+ details: Box::new(details),
+ }
+ }
+
+ pub fn details(&self) -> &Details {
+ &self.details
+ }
+
+ pub fn into_details(self) -> Details {
+ *self.details
+ }
+}
+
+/// Functions for constructing a specific error type.
+#[allow(non_snake_case, reason = "Want to mimic the `Details` variants")]
+impl Error {
+ /// Construct a new [`Error`] with a [`Details::SnappyCrc32`].
+ pub fn SnappyCrc32(expected: u32, actual: u32) -> Self {
Review Comment:
I agree they don't need to be public.
We could remove them completely but then a lot more lines will have to be changed, if you want that let me know and I'll do it.
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2219077664
##########
avro/src/decimal.rs:
##########
@@ -93,7 +93,7 @@ impl Decimal {
let mut decimal_bytes = vec![sign_byte; len];
let raw_bytes = self.value.to_signed_bytes_be();
let num_raw_bytes = raw_bytes.len();
- let start_byte_index = len.checked_sub(num_raw_bytes).ok_or(Error::SignExtend {
+ let start_byte_index = len.checked_sub(num_raw_bytes).ok_or(Details::SignExtend {
Review Comment:
Because it's not a function call but just an enum construction it's not necessary. Clippy even wants you to use `ok_or` if you're calling .len() on something
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g commented on PR #230:
URL: https://github.com/apache/avro-rs/pull/230#issuecomment-3096754487
@Kriskras99 I have no other comments on the PR!
I'll leave it open for a day or two, so others can give their opinions too.
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2218256648
##########
avro/src/error.rs:
##########
@@ -21,8 +21,1154 @@ use crate::{
};
use std::{error::Error as _, fmt};
+/// Errors encounterd by Avro.
+///
+/// To inspect the details of the error use [`details`](Self::details) or [`into_details`](Self::into_details)
+/// to get a [`Details`] which contains more precise error information.
+///
+/// See [`Details`] for all possible errors.
+#[derive(thiserror::Error, Debug)]
+#[repr(transparent)]
+#[error(transparent)]
+pub struct Error {
+ details: Box<Details>,
+}
+
+impl Error {
+ pub fn new(details: Details) -> Self {
+ Self {
+ details: Box::new(details),
+ }
+ }
+
+ pub fn details(&self) -> &Details {
+ &self.details
+ }
+
+ pub fn into_details(self) -> Details {
+ *self.details
+ }
+}
+
+/// Functions for constructing a specific error type.
+#[allow(non_snake_case, reason = "Want to mimic the `Details` variants")]
+impl Error {
+ /// Construct a new [`Error`] with a [`Details::SnappyCrc32`].
+ pub fn SnappyCrc32(expected: u32, actual: u32) -> Self {
Review Comment:
I wonder whether we really need to have these public factory methods.
Usually the library creates the "instance". The user applications check/match the error.
But even if the user applications need to create an instance they could replace `Error::Xyz{...}` with `Details::Xyz{...}.into()`, i.e. `s/Error/Details/` and append `.into()`. We could use the same in the library too.
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g commented on PR #230:
URL: https://github.com/apache/avro-rs/pull/230#issuecomment-3095348372
> Shall I mark it as deprecated in this PR or do you also want that in a separate PR?
This PR is OK!
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "martin-g (via GitHub)" <gi...@apache.org>.
martin-g commented on code in PR #230:
URL: https://github.com/apache/avro-rs/pull/230#discussion_r2218809350
##########
avro/src/lib.rs:
##########
@@ -896,7 +896,7 @@ pub use codec::{Codec, DeflateSettings};
pub use de::from_value;
pub use decimal::Decimal;
pub use duration::{Days, Duration, Millis, Months};
-pub use error::Error;
+pub use error::{Details, Error};
Review Comment:
> but I think it's supposed to be public anyway
Yes, I think it should be!
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] feat: Wrap `Error` into a `Box` so it's size shrinks from 104 bytes to 8 bytes [avro-rs]
Posted by "Kriskras99 (via GitHub)" <gi...@apache.org>.
Kriskras99 commented on PR #230:
URL: https://github.com/apache/avro-rs/pull/230#issuecomment-3092513079
I also think `Details::GetLogicalTypeVariant(serde_json::Value)` is unused, if we're doing a breaking change on the error type might as well remove it.
In the same vein we could remove `Details::DeflateCompressFinish(std::io::Error)` which was deprecated in the last release.
--
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: issues-unsubscribe@avro.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org