pub trait File {
type Partition: Partition;
type Error: Error + Clone + PartialEq + 'static;
// Required method
fn partitions<'async_trait>(
self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Self::Partition>, Self::Error>> + 'async_trait>>
where Self: 'async_trait;
}