mbrobbel commented on code in PR #405:
URL:
https://github.com/apache/arrow-rs-object-store/pull/405#discussion_r2490694540
##########
src/lib.rs:
##########
@@ -901,6 +900,40 @@ macro_rules! as_ref_impl {
as_ref_impl!(Arc<dyn ObjectStore>);
as_ref_impl!(Box<dyn ObjectStore>);
+/// Helper module to [seal
traits](https://predr.ag/blog/definitive-guide-to-sealed-traits-in-rust/).
+mod private {
+ pub trait Sealed {}
+
+ impl<T> Sealed for T where T: super::ObjectStore + ?Sized {}
+}
+
+/// Extension trait for [`ObjectStore`] with convinience functions.
+///
+/// See "contract" section within the [`ObjectStore`] documentation for more
reasoning.
+///
+/// # Implementation
+/// You MUST NOT implement this trait yourself. It is automatically
implemented for all [`ObjectStore`] implementations.
+#[async_trait]
+pub trait ObjectStoreExt: private::Sealed {
Review Comment:
```suggestion
pub trait ObjectStoreExt: ObjectStore {
```
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]