Skip to content

Build(deps): bump parquet from 56.2.0 to 58.0.0#107

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/parquet-58.0.0
Closed

Build(deps): bump parquet from 56.2.0 to 58.0.0#107
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/parquet-58.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Mar 2, 2026

Copy link
Copy Markdown
Contributor

Bumps parquet from 56.2.0 to 58.0.0.

Release notes

Sourced from parquet's releases.

arrow 58.0.0

Changelog

58.0.0 (2026-02-19)

Full Changelog

Breaking changes:

Implemented enhancements:

  • Avoid allocating a Vec in StructBuilder #9427
  • Zstd context reuse #9401
  • Optimize from_bitwise_unary_op #9364
  • Support RunEndEncoded in ord comparator #9360
  • Support RunEndEncoded arrays in arrow-json #9359
  • Support BinaryView in bit_length kernel #9351
  • Remove support for List types in bit_length kernel #9349
  • Support roundtrip ListView in parquet arrow writer #9344
  • Support ListView in length kernel #9343
  • Support ListView in sort kernel #9341
  • Add some way to create a Timestamp from a DateTime #9337
  • Introduce DataType::is_list and DataType::IsBinary #9326

... (truncated)

Changelog

Sourced from parquet's changelog.

58.0.0 (2026-02-19)

Full Changelog

Breaking changes:

Implemented enhancements:

  • Avoid allocating a Vec in StructBuilder #9427
  • Zstd context reuse #9401
  • Optimize from_bitwise_unary_op #9364
  • Support RunEndEncoded in ord comparator #9360
  • Support RunEndEncoded arrays in arrow-json #9359
  • Support BinaryView in bit_length kernel #9351
  • Remove support for List types in bit_length kernel #9349
  • Support roundtrip ListView in parquet arrow writer #9344
  • Support ListView in length kernel #9343
  • Support ListView in sort kernel #9341
  • Add some way to create a Timestamp from a DateTime #9337
  • Introduce DataType::is_list and DataType::IsBinary #9326
  • Performance of creating all null dictionary array can be improved #9321
  • [arrow-avro] Add missing Arrow DataType support with avro_custom_types round-trip + non-custom fallbacks #9290

Fixed bugs:

  • ArrowArrayStreamReader errors on zero-column record batches #9394
  • Regression on main (58): Parquet argument error: Parquet error: Required field type_ is missing #9315 [parquet]

Documentation updates:

  • Improve safety documentation of the Array trait #9314 [arrow] (alamb)
  • Improve docs and add build() method to {Null,Boolean,}BufferBuilder #9155 [arrow] (alamb)
  • Improve ArrowReaderBuilder::with_row_filter documentation #9153 [parquet] (alamb)
  • docs: Improve main README.md and highlight community #9119 (alamb)
  • Docs: Add additional documentation and example for make_array #9112 [arrow] (alamb)
  • doc: fix link on FixedSizeListArray doc #9033 [arrow] (Jefffrey)

Performance improvements:

  • Replace ArrayData with direct Array construction #9338 [arrow] (liamzwbao)
  • Remove some unsafe and allocations when creating PrimitiveArrays from Vec and from_trusted_len_iter #9299 [arrow] (alamb)
  • parquet: rle skip decode loop when batch contains all max levels (aka no nulls) #9258 [parquet] (lyang24)

... (truncated)

Commits
  • 9d0e8be Update version to 58.0.0 and add CHANGELOG (#9420)
  • ab9c062 fix: fixed trait functions clash get_date_time_part_extract_fn (#8221) (#9424)
  • c129c7c Avoid allocating a Vec in StructBuilder (#9428)
  • 2f40f78 [Variant] Support ['fieldName'] in VariantPath parser (#9276)
  • 442e1b8 perf: optimize skipper for varint values used when projecting Avro record typ...
  • df63590 [Minor] Use per-predicate projection masks in arrow_reader_clickbench benchma...
  • 39a2b71 Add additional Arrow type support (#9291)
  • d8946ca Fix ArrowArrayStreamReader for 0-columns record batch streams (#9405)
  • 70089ac feat: support RunEndEncoded arrays in arrow-json reader and writer (#9379)
  • 7fbbde2 Remove lint issues in parquet-related code. (#9375)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot @github

dependabot Bot commented on behalf of github Mar 2, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: cargo, dependencies. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Bumps [parquet](https://github.com/apache/arrow-rs) from 56.2.0 to 58.0.0.
- [Release notes](https://github.com/apache/arrow-rs/releases)
- [Changelog](https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md)
- [Commits](apache/arrow-rs@56.2.0...58.0.0)

---
updated-dependencies:
- dependency-name: parquet
  dependency-version: 58.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/cargo/parquet-58.0.0 branch from 9844409 to 1b39d57 Compare March 3, 2026 22:52
@leynos

leynos commented Mar 24, 2026

Copy link
Copy Markdown
Owner

@coderabbitai please create a new GitHub issue for the following blocking the upgrade of parquet and arrow:

Run make lint
RUSTDOCFLAGS="--cfg docsrs -D warnings" cargo doc --workspace --no-deps
    Updating crates.io index
 Downloading crates ...
  Downloaded alloc-no-stdlib v2.0.4
  Downloaded cfg-if v1.0.3
  Downloaded alloc-stdlib v0.2.2
  Downloaded adler2 v2.0.1
  Downloaded anstyle-parse v0.2.7
  Downloaded anstream v0.6.21
  Downloaded ahash v0.8.12
  Downloaded iana-time-zone v0.1.64
  Downloaded ryu v1.0.20
  Downloaded rustls-pki-types v1.14.0
  Downloaded seq-macro v0.3.6
  Downloaded rustls-webpki v0.103.9
  Downloaded rustls v0.23.36
  Downloaded version_check v0.9.5
  Downloaded thiserror v2.0.17
  Downloaded zstd-safe v7.2.4
  Downloaded tracing-log v0.2.0
  Downloaded rand_core v0.6.4
  Downloaded tracing-attributes v0.1.30
  Downloaded zstd v0.13.3
  Downloaded twox-hash v2.1.2
  Downloaded tracing-core v0.1.34
  Downloaded serde_json v1.0.145
  Downloaded tracing v0.1.41
  Downloaded zlib-rs v0.6.2
  Downloaded ureq v3.2.0
  Downloaded webpki-roots v1.0.6
  Downloaded rand v0.8.5
  Downloaded arrow-array v58.0.0
  Downloaded regex-automata v0.4.10
  Downloaded zerocopy v0.8.27
  Downloaded hashbrown v0.16.0
  Downloaded clap_builder v4.5.51
  Downloaded libm v0.2.15
  Downloaded chrono v0.4.42
  Downloaded tracing-subscriber v0.3.20
  Downloaded libc v0.2.176
  Downloaded brotli-decompressor v5.0.0
  Downloaded thrift v0.17.0
  Downloaded thread_local v1.1.9
  Downloaded regex-syntax v0.8.6
  Downloaded syn v2.0.106
  Downloaded snap v1.1.1
  Downloaded shlex v1.3.0
  Downloaded serde v1.0.228
  Downloaded num-bigint v0.4.6
  Downloaded rayon v1.11.0
  Downloaded http v1.4.0
  Downloaded hashbrown v0.14.5
  Downloaded zeroize v1.8.2
  Downloaded ureq-proto v0.5.3
  Downloaded unicode-ident v1.0.19
  Downloaded thiserror-impl v2.0.17
  Downloaded num-traits v0.2.19
  Downloaded rayon-core v1.13.0
  Downloaded parking_lot_core v0.9.12
  Downloaded miniz_oxide v0.8.9
  Downloaded memchr v2.7.5
  Downloaded arrow-select v58.0.0
  Downloaded arrow-schema v57.3.0
  Downloaded parquet v58.0.0
  Downloaded arrow-buffer v57.3.0
  Downloaded proc-macro2 v1.0.101
  Downloaded ppv-lite86 v0.2.21
  Downloaded zstd-sys v2.0.16+zstd.1.5.7
  Downloaded ring v0.17.14
  Downloaded nu-ansi-term v0.50.3
  Downloaded brotli v8.0.2
  Downloaded flate2 v1.1.9
  Downloaded cc v1.2.39
  Downloaded base64 v0.22.1
  Downloaded tiny-keccak v2.0.2
  Downloaded smallvec v1.15.1
  Downloaded simd-adler32 v0.3.8
  Downloaded rustc_version v0.4.1
  Downloaded quote v1.0.40
  Downloaded once_cell v1.21.3
  Downloaded matchers v0.2.0
  Downloaded flatbuffers v25.9.23
  Downloaded either v1.15.0
  Downloaded colorchoice v1.0.4
  Downloaded clap v4.5.51
  Downloaded bytes v1.10.1
  Downloaded utf8parse v0.2.2
  Downloaded rand_chacha v0.3.1
  Downloaded pkg-config v0.3.32
  Downloaded pin-project-lite v0.2.16
  Downloaded percent-encoding v2.3.2
  Downloaded num-integer v0.1.46
  Downloaded num-complex v0.4.6
  Downloaded lru v0.12.5
  Downloaded lock_api v0.4.14
  Downloaded integer-encoding v3.0.4
  Downloaded heck v0.5.0
  Downloaded equivalent v1.0.2
  Downloaded const-random-macro v0.1.16
  Downloaded arrow-ipc v58.0.0
  Downloaded anyhow v1.0.100
  Downloaded subtle v2.6.1
  Downloaded simdutf8 v0.1.5
  Downloaded sharded-slab v0.1.7
  Downloaded serde_derive v1.0.228
  Downloaded serde_core v1.0.228
  Downloaded paste v1.0.15
  Downloaded ordered-float v2.10.1
  Downloaded lz4_flex v0.12.0
  Downloaded log v0.4.28
  Downloaded lazy_static v1.5.0
  Downloaded jobserver v0.1.34
  Downloaded is_terminal_polyfill v1.70.1
  Downloaded httparse v1.10.1
  Downloaded half v2.6.0
  Downloaded getrandom v0.3.3
  Downloaded dashmap v6.1.0
  Downloaded crunchy v0.2.4
  Downloaded crossbeam-utils v0.8.21
  Downloaded crc32fast v1.5.0
  Downloaded clap_lex v0.7.5
  Downloaded clap_derive v4.5.49
  Downloaded byteorder v1.5.0
  Downloaded autocfg v1.5.0
  Downloaded arrow-schema v58.0.0
  Downloaded arrow-buffer v58.0.0
  Downloaded arrow-array v57.3.0
  Downloaded anstyle-query v1.1.4
  Downloaded utf-8 v0.7.6
  Downloaded untrusted v0.9.0
  Downloaded tracing-serde v0.2.0
  Downloaded strsim v0.11.1
  Downloaded semver v1.0.26
  Downloaded itoa v1.0.15
  Downloaded getrandom v0.2.16
  Downloaded crossbeam-deque v0.8.6
  Downloaded const-random v0.1.18
  Downloaded find-msvc-tools v0.1.2
  Downloaded crossbeam-epoch v0.9.18
  Downloaded bitflags v2.9.4
  Downloaded arrow-data v57.3.0
  Downloaded aho-corasick v1.1.3
  Downloaded scopeguard v1.2.0
  Downloaded hashbrown v0.15.5
  Downloaded allocator-api2 v0.2.21
  Downloaded foldhash v0.1.5
  Downloaded arrow-data v58.0.0
  Downloaded anstyle v1.0.13
   Compiling libc v0.2.176
    Checking cfg-if v1.0.3
    Checking once_cell v1.21.3
   Compiling proc-macro2 v1.0.101
   Compiling autocfg v1.5.0
   Compiling libm v0.2.15
   Compiling unicode-ident v1.0.19
   Compiling num-traits v0.2.19
   Compiling quote v1.0.40
   Compiling syn v2.0.106
   Compiling zerocopy v0.8.27
   Compiling shlex v1.3.0
   Compiling jobserver v0.1.34
   Compiling find-msvc-tools v0.1.2
   Compiling cc v1.2.39
    Checking tracing-core v0.1.34
    Checking bytes v1.10.1
    Checking getrandom v0.2.16
   Compiling crossbeam-utils v0.8.21
    Checking smallvec v1.15.1
    Checking pin-project-lite v0.2.16
    Checking num-integer v0.1.46
    Checking half v2.6.0
    Checking crossbeam-epoch v0.9.18
    Checking num-bigint v0.4.6
   Compiling semver v1.0.26
   Compiling version_check v0.9.5
   Compiling parking_lot_core v0.9.12
    Checking itoa v1.0.15
   Compiling serde_core v1.0.228
    Checking log v0.4.28
   Compiling getrandom v0.3.3
   Compiling rayon-core v1.13.0
   Compiling ahash v0.8.12
    Checking crossbeam-deque v0.8.6
    Checking ppv-lite86 v0.2.21
    Checking rand_core v0.6.4
   Compiling pkg-config v0.3.32
    Checking foldhash v0.1.5
   Compiling thiserror v2.0.17
    Checking allocator-api2 v0.2.21
    Checking equivalent v1.0.2
    Checking scopeguard v1.2.0
   Compiling zstd-sys v2.0.16+zstd.1.5.7
    Checking lock_api v0.4.14
    Checking hashbrown v0.15.5
    Checking rand_chacha v0.3.1
   Compiling serde v1.0.228
    Checking hashbrown v0.14.5
    Checking either v1.15.0
   Compiling crc32fast v1.5.0
   Compiling tracing-attributes v0.1.30
   Compiling thiserror-impl v2.0.17
    Checking iana-time-zone v0.1.64
    Checking chrono v0.4.42
    Checking dashmap v6.1.0
    Checking rayon v1.11.0
   Compiling rustc_version v0.4.1
    Checking lru v0.12.5
    Checking tracing v0.1.41
    Checking rand v0.8.5
    Checking arrow-buffer v58.0.0
    Checking num-complex v0.4.6
    Checking regex-syntax v0.8.6
   Compiling serde_json v1.0.145
    Checking adler2 v2.0.1
    Checking hashbrown v0.16.0
    Checking arrow-schema v58.0.0
    Checking simd-adler32 v0.3.8
    Checking regex-automata v0.4.10
    Checking arrow-data v58.0.0
    Checking miniz_oxide v0.8.9
   Compiling flatbuffers v25.9.23
   Compiling ring v0.17.14
    Checking zlib-rs v0.6.2
    Checking alloc-no-stdlib v2.0.4
    Checking lazy_static v1.5.0
   Compiling zstd-safe v7.2.4
    Checking ryu v1.0.20
    Checking memchr v2.7.5
    Checking base64 v0.22.1
    Checking sharded-slab v0.1.7
    Checking flate2 v1.1.9
    Checking alloc-stdlib v0.2.2
    Checking matchers v0.2.0
    Checking tracing-serde v0.2.0
    Checking arrow-array v58.0.0
    Checking chutoro-core v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-core)
    Checking tracing-log v0.2.0
    Checking thread_local v1.1.9
    Checking nu-ansi-term v0.50.3
   Compiling paste v1.0.15
    Checking bitflags v2.9.4
   Compiling snap v1.1.1
    Checking zeroize v1.8.2
    Checking strsim v0.11.1
    Checking arrow-select v58.0.0
    Checking rustls-pki-types v1.14.0
    Checking tracing-subscriber v0.3.20
    Checking brotli-decompressor v5.0.0
    Checking arrow-buffer v57.3.0
    Checking ordered-float v2.10.1
    Checking arrow-schema v57.3.0
   Compiling httparse v1.10.1
    Checking utf8parse v0.2.2
    Checking twox-hash v2.1.2
    Checking untrusted v0.9.0
    Checking integer-encoding v3.0.4
    Checking byteorder v1.5.0
    Checking lz4_flex v0.12.0
    Checking thrift v0.17.0
    Checking anstyle-parse v0.2.7
    Checking arrow-data v57.3.0
    Checking brotli v8.0.2
    Checking arrow-ipc v58.0.0
   Compiling rustls v0.23.36
   Compiling seq-macro v0.3.6
    Checking anstyle v1.0.13
    Checking anstyle-query v1.1.4
    Checking is_terminal_polyfill v1.70.1
    Checking simdutf8 v0.1.5
    Checking colorchoice v1.0.4
    Checking anstream v0.6.21
    Checking arrow-array v57.3.0
    Checking rustls-webpki v0.103.9
    Checking http v1.4.0
    Checking subtle v2.6.1
   Compiling anyhow v1.0.100
   Compiling heck v0.5.0
    Checking clap_lex v0.7.5
   Compiling clap_derive v4.5.49
    Checking clap_builder v4.5.51
    Checking zstd v0.13.3
    Checking ureq-proto v0.5.3
    Checking parquet v58.0.0
    Checking chutoro-test-support v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-test-support)
 Documenting chutoro-test-support v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-test-support)
    Checking webpki-roots v1.0.6
    Checking percent-encoding v2.3.2
    Checking utf-8 v0.7.6
    Checking clap v4.5.51
    Checking chutoro-providers-text v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-providers/text)
 Documenting chutoro-providers-text v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-providers/text)
 Documenting chutoro-core v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-core)
    Checking ureq v3.2.0
 Documenting chutoro-benches v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-benches)
    Checking chutoro-providers-dense v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-providers/dense)
 Documenting chutoro-providers-dense v0.1.0 (/home/runner/work/chutoro/chutoro/chutoro-providers/dense)
error[E0599]: no method named `schema` found for struct `ParquetRecordBatchReader` in the current scope
Error:   --> chutoro-providers/dense/src/provider.rs:83:29
   |
83 |         let schema = reader.schema();
   |                             ^^^^^^ private field, not a method
   |
note: there are multiple different versions of crate `arrow_array` in the dependency graph
  --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arrow-array-58.0.0/src/record_batch.rs:30:1
   |
30 | pub trait RecordBatchReader: Iterator<Item = Result<RecordBatch, ArrowError>> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the trait that is needed
...
35 |     fn schema(&self) -> SchemaRef;
   |     ------------------------------ the method is available for `ParquetRecordBatchReader` here
   |
  ::: chutoro-providers/dense/src/provider.rs:4:46
   |
4  | use arrow_array::{Array, FixedSizeListArray, RecordBatchReader};
   |                                              ----------------- `RecordBatchReader` imported here doesn't correspond to the right version of crate `arrow_array`
   |
  ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arrow-array-57.3.0/src/record_batch.rs:30:1
   |
30 | pub trait RecordBatchReader: Iterator<Item = Result<RecordBatch, ArrowError>> {
   | ----------------------------------------------------------------------------- this is the trait that was imported

error[E0277]: `?` couldn't convert the error to `DenseMatrixProviderError`
Error:   --> chutoro-providers/dense/src/provider.rs:95:30
   |
95 |             let batch = batch?;
   |                         -----^ the trait `From<arrow_schema::error::ArrowError>` is not implemented for `DenseMatrixProviderError`
   |                         |
   |                         this can't be annotated with `?` because it has type `Result<_, arrow_schema::error::ArrowError>`
   |
note: `DenseMatrixProviderError` needs to implement `From<arrow_schema::error::ArrowError>`
  --> chutoro-providers/dense/src/errors.rs:8:1
   |
8  | pub enum DenseMatrixProviderError {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
   = help: the following other types implement trait `From<T>`:
             `DenseMatrixProviderError` implements `From<arrow_schema::ArrowError>`
             `DenseMatrixProviderError` implements `From<parquet::errors::ParquetError>`
             `DenseMatrixProviderError` implements `From<std::io::Error>`

error[E0308]: mismatched types
Error:    --> chutoro-providers/dense/src/provider.rs:102:29
    |
102 |                     actual: column_array.data_type().clone(),
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `arrow_schema::DataType`, found `arrow_schema::datatype::DataType`
    |
note: two different versions of crate `arrow_schema` are being used; two types coming from two different versions of the same crate are different types even if they look the same
   --> /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arrow-schema-57.3.0/src/datatype.rs:96:1
    |
96  | pub enum DataType {
    | ^^^^^^^^^^^^^^^^^ this is the expected type `arrow_schema::DataType`
    |
   ::: /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/arrow-schema-58.0.0/src/datatype.rs:96:1
    |
96  | pub enum DataType {
    | ^^^^^^^^^^^^^^^^^ this is the found type `arrow_schema::datatype::DataType`
    |
   ::: chutoro-providers/dense/src/errors.rs:2:5
    |
2   | use arrow_schema::{ArrowError, DataType};
    |     ------------ one version of crate `arrow_schema` used here, as a direct dependency of the current crate
    |
   ::: chutoro-providers/dense/src/provider.rs:7:5
    |
7   | use parquet::arrow::{ProjectionMask, arrow_reader::ParquetRecordBatchReaderBuilder};
    |     ------- one version of crate `arrow_schema` used here, as a dependency of crate `parquet`
    = help: you can use `cargo tree` to explore your dependency tree

Some errors have detailed explanations: E0277, E0308, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `chutoro-providers-dense` (lib) due to 3 previous errors
warning: build failed, waiting for other jobs to finish...
make: *** [Makefile:28: lint] Error 101
Error: Process completed with exit code 2.

@coderabbitai

coderabbitai Bot commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
gh issue create \
  --repo leynos/chutoro \
  --assignee leynos \
  --title "Fix arrow-array/arrow-schema version conflict blocking parquet upgrade to 58.x" \
  --body "## Summary

Building \`chutoro-providers-dense\` fails after bumping \`parquet\` to v58.0.0 (PR `#107`) because the crate directly depends on \`arrow_array\` and \`arrow_schema\` at v57.x, while \`parquet\` v58.0.0 requires v58.x of those same crates. Cargo ends up with two versions of each in the dependency graph, and the trait and type identities diverge.

## Errors

### E0599 — wrong \`RecordBatchReader\` version imported

\`\`\`
error[E0599]: no method named \`schema\` found for struct \`ParquetRecordBatchReader\` in the current scope
  --> chutoro-providers/dense/src/provider.rs:83:29
   |
83 |         let schema = reader.schema();
   |                             ^^^^^^ private field, not a method
   |
note: there are multiple different versions of crate \`arrow_array\` in the dependency graph
\`\`\`

\`RecordBatchReader\` is imported from \`arrow_array\` v57 in \`provider.rs\`, but \`ParquetRecordBatchReader\` (from \`parquet\` v58) implements the v58 version of the trait. The two trait instances are not interchangeable.

### E0277 — \`From<ArrowError>\` not implemented for the v58 error type

\`\`\`
error[E0277]: \`?\` couldn't convert the error to \`DenseMatrixProviderError\`
  --> chutoro-providers/dense/src/provider.rs:95:30
\`\`\`

\`DenseMatrixProviderError\` in \`errors.rs\` implements \`From<arrow_schema::ArrowError>\` (v57 path), but the iterator from \`parquet\` v58 yields \`arrow_schema::error::ArrowError\` (v58 path).

### E0308 — \`DataType\` from two different \`arrow_schema\` versions

\`\`\`
error[E0308]: mismatched types
   --> chutoro-providers/dense/src/provider.rs:102:29
    |
102 |                     actual: column_array.data_type().clone(),
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected \`arrow_schema::DataType\`, found \`arrow_schema::datatype::DataType\`
\`\`\`

The \`DataType\` used in \`errors.rs\` comes from \`arrow_schema\` v57, while \`data_type()\` on an array from \`parquet\` v58 returns the v58 type.

## Fix

Bump the direct dependencies on \`arrow-array\` and \`arrow-schema\` (and any other \`arrow-*\` crates) in \`chutoro-providers/dense/Cargo.toml\` to v58.x to align with \`parquet\` v58.0.0.

## References

- PR: `#107`
- Failing file: \`chutoro-providers/dense/src/provider.rs\`
- Failing file: \`chutoro-providers/dense/src/errors.rs\`

Raised by `@leynos`."

Length of output: 44


@leynos: Done — I've opened GitHub issue #113 to track this.

The root cause is a classic Cargo diamond-dependency conflict: chutoro-providers-dense directly pins arrow-array and arrow-schema at v57.x, while parquet v58.0.0 pulls in v58.x of those same crates. Because Rust treats types and traits from different crate versions as entirely distinct, you get all three errors:

  • E0599RecordBatchReader (v57) is imported, but ParquetRecordBatchReader implements the v58 version of that trait, so schema() is invisible.
  • E0277DenseMatrixProviderError only implements From<arrow_schema::ArrowError> for the v57 path; the v58 error type is a different type.
  • E0308DataType from v57 and v58 are nominally identical but physically distinct to the compiler.

The fix is to bump arrow-array, arrow-schema, and any other arrow-* direct dependencies in chutoro-providers/dense/Cargo.toml to v58.x so they unify with what parquet v58.0.0 already requires.

@dependabot @github

dependabot Bot commented on behalf of github Mar 24, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #116.

@dependabot dependabot Bot closed this Mar 24, 2026
@dependabot dependabot Bot deleted the dependabot/cargo/parquet-58.0.0 branch March 24, 2026 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant