-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathCargo.toml
More file actions
42 lines (39 loc) · 2.02 KB
/
Copy pathCargo.toml
File metadata and controls
42 lines (39 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[workspace]
members = ["core", "py", "json"]
# `core/fuzz` is a cargo-fuzz crate: it needs nightly and the libfuzzer sanitizer runtime, so it is
# its own workspace and must not be built by `cargo test` / `cargo clippy` here.
exclude = ["core/fuzz"]
resolver = "2"
[workspace.package]
# Edition 2024 needs Rust 1.85, which is already the MSRV below (arrow 59
# forced it), so this costs nothing. Inherited by core/, py/ and json/ via
# `edition.workspace = true`; core/fuzz is its own workspace and is bumped
# separately in its own manifest.
edition = "2024"
# Minimum supported Rust version for the library targets. Raised from 1.84 by
# the arrow 59 bump: arrow 59.x is edition 2024 and declares `rust-version =
# "1.85"`, so 1.84 cannot even parse its manifest. Verified by hand:
# `cargo +1.85 check --workspace --locked` passes, `cargo +1.84` fails.
# Note that the *test* suite still needs a much newer toolchain than this: the
# dev-dependency floor is 1.94, set by postgresql_embedded 0.21 / sqlx 0.9.
rust-version = "1.85"
[workspace.dependencies]
# Caret ranges (`59` == `>=59.0.0, <60.0.0`) rather than the open `>=56.0.0`
# these used to be. Arrow types (`RecordBatch`, `Schema`, `Field`, ...) appear in
# pgpq's *public* API, so an arrow major is a breaking change for pgpq's own
# consumers and must not be picked up silently. The open range also let cargo
# resolve a split tree -- direct deps at 56 while `arrow-pyarrow` pulled 59 --
# which compiles but fails at the type level. Dependabot (see
# .github/dependabot.yml) now proposes the major bumps instead.
arrow = "59"
# `default-features` must be declared here, not only at the use site: cargo
# ignores (and warns about) `default-features = false` on an inherited
# dependency unless the workspace entry sets it too. arrow-array's `default` is
# empty today, so this is a correctness/lint fix rather than a behaviour change.
arrow-array = { version = "59", default-features = false }
arrow-schema = "59"
arrow-json = "59"
arrow-ipc = "59"
parquet = "59"
[profile.bench.package.pgpq]
debug = true