ethe opened a new issue, #6327:
URL: https://github.com/apache/arrow-rs/issues/6327

   **Is your feature request related to a problem or challenge? Please describe 
what you are trying to do.**
   In current, parquet defines all `AsyncWrite` implement `AsyncFileWriter`:
   ```rust
   impl<T: AsyncWrite + Unpin + Send> AsyncFileWriter for T {
       ... ...
   }
   ```
   
   which would in conflict with:
   ```rust
   impl<T: AsyncFileWriter> AsyncFileWriter for &mut T {
       ... ...
   }
   ```
   
   this definition is not included right now, however, it should be helpful in 
more general cases.
   
   **Describe the solution you'd like**
   Wrap all tokio::io::AsyncWrite into a proxy struct, then we can define `&mut 
AsyncFileWriter` implements `AsyncFileWriter`:
   ```rust
   pub struct TokioFileWriter<F: AsyncWrite> {
       file: F,
   }
   
   impl<F: AsyncWrite> From<F> for TokioFileWriter {
       ... ...
   }
   
   impl<F: AsyncWrite + Unpin + Send> for TokioFileWriter {
       ... ...
   }
   
   ```
   
   **Describe alternatives you've considered**
   I don't think there is an alternatives.
   
   **Additional context**
   This is a breaking change, but it values to be considered.
   


-- 
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]

Reply via email to