alamb opened a new issue #695:
URL: https://github.com/apache/arrow-datafusion/issues/695


   **Describe the bug**
   
   When I build datafusion like this
   
   ```
   cargo +1.52.1 test -p datafusion
   ```
   
   I get the following error:
   ```
   Compiling datafusion v4.0.0-SNAPSHOT 
(/Users/alamb/Software/arrow-datafusion/datafusion)
   error[E0277]: `[(std::string::String, SQLMetric); 2]` is not an iterator
      --> datafusion/src/physical_plan/parquet.rs:516:14
       |
   516 |             .flat_map(|p| {
       |              ^^^^^^^^ borrow the array with `&` or call `.iter()` on 
it to iterate over it
       |
       = help: the trait `Iterator` is not implemented for 
`[(std::string::String, SQLMetric); 2]`
       = note: arrays are not iterators, but slices like the following are: 
`&[1, 2, 3]`
       = note: required because of the requirements on the impl of 
`IntoIterator` for `[(std::string::String, SQLMetric); 2]`
   
   error[E0599]: the method `chain` exists for struct 
`std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>`, but its 
trait bounds were not satisfied
      --> datafusion/src/physical_plan/parquet.rs:531:14
       |
   531 |             .chain(std::iter::once((
       |              ^^^^^ method cannot be called on 
`std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>` due to 
unsatisfied trait bounds
       | 
      ::: 
/Users/alamb/.rustup/toolchains/1.52.1-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/adapters/flatten.rs:12:1
       |
   12  | pub struct FlatMap<I, U: IntoIterator, F> {
       | -----------------------------------------
       | |
       | doesn't satisfy `_: Iterator`
       | doesn't satisfy `_: futures::StreamExt`
       | doesn't satisfy `_: futures::Stream`
       |
       = note: the following trait bounds were not satisfied:
               `std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::Stream`
               which is required by `std::iter::FlatMap<std::slice::Iter<'_, 
ParquetPartition>, [(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::StreamExt`
               `[(std::string::String, SQLMetric); 2]: IntoIterator`
               which is required by `std::iter::FlatMap<std::slice::Iter<'_, 
ParquetPartition>, [(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: Iterator`
               `&std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::Stream`
               which is required by `&std::iter::FlatMap<std::slice::Iter<'_, 
ParquetPartition>, [(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::StreamExt`
               `&mut std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::Stream`
               which is required by `&mut 
std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::StreamExt`
               `std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: Iterator`
               which is required by `&mut 
std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: Iterator`
   
   error: aborting due to 2 previous errors
   
   Some errors have detailed explanations: E0277, E0599.
   For more information about an error, try `rustc --explain E0277`.
   error: could not compile `datafusion`
   
   To learn more, run the command again with --verbose.
   warning: build failed, waiting for other jobs to finish...
   error[E0277]: `[(std::string::String, SQLMetric); 2]` is not an iterator
      --> datafusion/src/physical_plan/parquet.rs:516:14
       |
   516 |             .flat_map(|p| {
       |              ^^^^^^^^ borrow the array with `&` or call `.iter()` on 
it to iterate over it
       |
       = help: the trait `Iterator` is not implemented for 
`[(std::string::String, SQLMetric); 2]`
       = note: arrays are not iterators, but slices like the following are: 
`&[1, 2, 3]`
       = note: required because of the requirements on the impl of 
`IntoIterator` for `[(std::string::String, SQLMetric); 2]`
   
   error[E0599]: the method `chain` exists for struct 
`std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>`, but its 
trait bounds were not satisfied
      --> datafusion/src/physical_plan/parquet.rs:531:14
       |
   531 |             .chain(std::iter::once((
       |              ^^^^^ method cannot be called on 
`std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>` due to 
unsatisfied trait bounds
       | 
      ::: 
/Users/alamb/.rustup/toolchains/1.52.1-x86_64-apple-darwin/lib/rustlib/src/rust/library/core/src/iter/adapters/flatten.rs:12:1
       |
   12  | pub struct FlatMap<I, U: IntoIterator, F> {
       | -----------------------------------------
       | |
       | doesn't satisfy `_: Iterator`
       | doesn't satisfy `_: futures::StreamExt`
       | doesn't satisfy `_: futures::Stream`
       |
       = note: the following trait bounds were not satisfied:
               `std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::Stream`
               which is required by `std::iter::FlatMap<std::slice::Iter<'_, 
ParquetPartition>, [(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::StreamExt`
               `[(std::string::String, SQLMetric); 2]: IntoIterator`
               which is required by `std::iter::FlatMap<std::slice::Iter<'_, 
ParquetPartition>, [(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: Iterator`
               `&std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::Stream`
               which is required by `&std::iter::FlatMap<std::slice::Iter<'_, 
ParquetPartition>, [(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::StreamExt`
               `&mut std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::Stream`
               which is required by `&mut 
std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: 
futures::StreamExt`
               `std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: Iterator`
               which is required by `&mut 
std::iter::FlatMap<std::slice::Iter<'_, ParquetPartition>, 
[(std::string::String, SQLMetric); 2], 
[closure@datafusion/src/physical_plan/parquet.rs:516:23: 530:14]>: Iterator`
   
   error: aborting due to 2 previous errors
   
   Some errors have detailed explanations: E0277, E0599.
   For more information about an error, try `rustc --explain E0277`.
   error: build failed
   
   Compilation exited abnormally with code 101 at Wed Jul  7 11:00:32
   ```
   


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