AdamGS opened a new pull request, #646:
URL: https://github.com/apache/arrow-rs-object-store/pull/646
# Which issue does this PR close?
This issue fell out of #644, and re-inforced by looking at build timings,
where `futures` is one of the biggest dependencies.
# Rationale for this change
Minimizes the number of dependencies and pulled-in code.
Before this PR:
```
object_store v0.13.1 (/Users/adamgs/code/object-store)
├── async-trait v0.1.89 (proc-macro)
│ ├── proc-macro2 v1.0.106
│ │ └── unicode-ident v1.0.24
│ ├── quote v1.0.44
│ │ └── proc-macro2 v1.0.106 (*)
│ └── syn v2.0.116
│ ├── proc-macro2 v1.0.106 (*)
│ ├── quote v1.0.44 (*)
│ └── unicode-ident v1.0.24
├── bytes v1.11.1
├── chrono v0.4.43
│ ├── iana-time-zone v0.1.65
│ │ └── core-foundation-sys v0.8.7
│ └── num-traits v0.2.19
├── futures v0.3.32
│ ├── futures-channel v0.3.32
│ │ ├── futures-core v0.3.32
│ │ └── futures-sink v0.3.32
│ ├── futures-core v0.3.32
│ ├── futures-executor v0.3.32
│ │ ├── futures-core v0.3.32
│ │ ├── futures-task v0.3.32
│ │ └── futures-util v0.3.32
│ │ ├── futures-channel v0.3.32 (*)
│ │ ├── futures-core v0.3.32
│ │ ├── futures-io v0.3.32
│ │ ├── futures-macro v0.3.32 (proc-macro)
│ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ ├── quote v1.0.44 (*)
│ │ │ └── syn v2.0.116 (*)
│ │ ├── futures-sink v0.3.32
│ │ ├── futures-task v0.3.32
│ │ ├── memchr v2.8.0
│ │ ├── pin-project-lite v0.2.16
│ │ └── slab v0.4.12
│ ├── futures-io v0.3.32
│ ├── futures-sink v0.3.32
│ ├── futures-task v0.3.32
│ └── futures-util v0.3.32 (*)
├── http v1.4.0
│ ├── bytes v1.11.1
│ └── itoa v1.0.17
├── humantime v2.3.0
├── itertools v0.14.0
│ └── either v1.15.0
├── parking_lot v0.12.5
│ ├── lock_api v0.4.14
│ │ └── scopeguard v1.2.0
│ └── parking_lot_core v0.9.12
│ ├── cfg-if v1.0.4
│ ├── libc v0.2.180
│ └── smallvec v1.15.1
├── percent-encoding v2.3.2
├── thiserror v2.0.18
│ └── thiserror-impl v2.0.18 (proc-macro)
│ ├── proc-macro2 v1.0.106 (*)
│ ├── quote v1.0.44 (*)
│ └── syn v2.0.116 (*)
└── url v2.5.8
├── form_urlencoded v1.2.2
│ └── percent-encoding v2.3.2
├── idna v1.1.0
│ ├── idna_adapter v1.2.1
│ │ ├── icu_normalizer v2.1.1
│ │ │ ├── icu_collections v2.1.1
│ │ │ │ ├── displaydoc v0.2.5 (proc-macro)
│ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ └── syn v2.0.116 (*)
│ │ │ │ ├── potential_utf v0.1.4
│ │ │ │ │ └── zerovec v0.11.5
│ │ │ │ │ ├── yoke v0.8.1
│ │ │ │ │ │ ├── stable_deref_trait v1.2.1
│ │ │ │ │ │ ├── yoke-derive v0.8.1 (proc-macro)
│ │ │ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ │ │ ├── syn v2.0.116 (*)
│ │ │ │ │ │ │ └── synstructure v0.13.2
│ │ │ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ │ │ └── syn v2.0.116 (*)
│ │ │ │ │ │ └── zerofrom v0.1.6
│ │ │ │ │ │ └── zerofrom-derive v0.1.6 (proc-macro)
│ │ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ │ ├── syn v2.0.116 (*)
│ │ │ │ │ │ └── synstructure v0.13.2 (*)
│ │ │ │ │ ├── zerofrom v0.1.6 (*)
│ │ │ │ │ └── zerovec-derive v0.11.2 (proc-macro)
│ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ └── syn v2.0.116 (*)
│ │ │ │ ├── yoke v0.8.1 (*)
│ │ │ │ ├── zerofrom v0.1.6 (*)
│ │ │ │ └── zerovec v0.11.5 (*)
│ │ │ ├── icu_normalizer_data v2.1.1
│ │ │ ├── icu_provider v2.1.1
│ │ │ │ ├── displaydoc v0.2.5 (proc-macro) (*)
│ │ │ │ ├── icu_locale_core v2.1.1
│ │ │ │ │ ├── displaydoc v0.2.5 (proc-macro) (*)
│ │ │ │ │ ├── litemap v0.8.1
│ │ │ │ │ ├── tinystr v0.8.2
│ │ │ │ │ │ ├── displaydoc v0.2.5 (proc-macro) (*)
│ │ │ │ │ │ └── zerovec v0.11.5 (*)
│ │ │ │ │ ├── writeable v0.6.2
│ │ │ │ │ └── zerovec v0.11.5 (*)
│ │ │ │ ├── writeable v0.6.2
│ │ │ │ ├── yoke v0.8.1 (*)
│ │ │ │ ├── zerofrom v0.1.6 (*)
│ │ │ │ ├── zerotrie v0.2.3
│ │ │ │ │ ├── displaydoc v0.2.5 (proc-macro) (*)
│ │ │ │ │ ├── yoke v0.8.1 (*)
│ │ │ │ │ └── zerofrom v0.1.6 (*)
│ │ │ │ └── zerovec v0.11.5 (*)
│ │ │ ├── smallvec v1.15.1
│ │ │ └── zerovec v0.11.5 (*)
│ │ └── icu_properties v2.1.2
│ │ ├── icu_collections v2.1.1 (*)
│ │ ├── icu_locale_core v2.1.1 (*)
│ │ ├── icu_properties_data v2.1.2
│ │ ├── icu_provider v2.1.1 (*)
│ │ ├── zerotrie v0.2.3 (*)
│ │ └── zerovec v0.11.5 (*)
│ ├── smallvec v1.15.1
│ └── utf8_iter v1.0.4
└── percent-encoding v2.3.2
```
After this PR:
```
object_store v0.13.1 (/Users/adamgs/code/object-store)
├── async-trait v0.1.89 (proc-macro)
│ ├── proc-macro2 v1.0.106
│ │ └── unicode-ident v1.0.24
│ ├── quote v1.0.44
│ │ └── proc-macro2 v1.0.106 (*)
│ └── syn v2.0.116
│ ├── proc-macro2 v1.0.106 (*)
│ ├── quote v1.0.44 (*)
│ └── unicode-ident v1.0.24
├── bytes v1.11.1
├── chrono v0.4.43
│ ├── iana-time-zone v0.1.65
│ │ └── core-foundation-sys v0.8.7
│ └── num-traits v0.2.19
├── futures-core v0.3.32
├── futures-util v0.3.32
│ ├── futures-core v0.3.32
│ ├── futures-macro v0.3.32 (proc-macro)
│ │ ├── proc-macro2 v1.0.106 (*)
│ │ ├── quote v1.0.44 (*)
│ │ └── syn v2.0.116 (*)
│ ├── futures-task v0.3.32
│ ├── pin-project-lite v0.2.16
│ └── slab v0.4.12
├── http v1.4.0
│ ├── bytes v1.11.1
│ └── itoa v1.0.17
├── humantime v2.3.0
├── itertools v0.14.0
│ └── either v1.15.0
├── parking_lot v0.12.5
│ ├── lock_api v0.4.14
│ │ └── scopeguard v1.2.0
│ └── parking_lot_core v0.9.12
│ ├── cfg-if v1.0.4
│ ├── libc v0.2.180
│ └── smallvec v1.15.1
├── percent-encoding v2.3.2
├── thiserror v2.0.18
│ └── thiserror-impl v2.0.18 (proc-macro)
│ ├── proc-macro2 v1.0.106 (*)
│ ├── quote v1.0.44 (*)
│ └── syn v2.0.116 (*)
└── url v2.5.8
├── form_urlencoded v1.2.2
│ └── percent-encoding v2.3.2
├── idna v1.1.0
│ ├── idna_adapter v1.2.1
│ │ ├── icu_normalizer v2.1.1
│ │ │ ├── icu_collections v2.1.1
│ │ │ │ ├── displaydoc v0.2.5 (proc-macro)
│ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ └── syn v2.0.116 (*)
│ │ │ │ ├── potential_utf v0.1.4
│ │ │ │ │ └── zerovec v0.11.5
│ │ │ │ │ ├── yoke v0.8.1
│ │ │ │ │ │ ├── stable_deref_trait v1.2.1
│ │ │ │ │ │ ├── yoke-derive v0.8.1 (proc-macro)
│ │ │ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ │ │ ├── syn v2.0.116 (*)
│ │ │ │ │ │ │ └── synstructure v0.13.2
│ │ │ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ │ │ └── syn v2.0.116 (*)
│ │ │ │ │ │ └── zerofrom v0.1.6
│ │ │ │ │ │ └── zerofrom-derive v0.1.6 (proc-macro)
│ │ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ │ ├── syn v2.0.116 (*)
│ │ │ │ │ │ └── synstructure v0.13.2 (*)
│ │ │ │ │ ├── zerofrom v0.1.6 (*)
│ │ │ │ │ └── zerovec-derive v0.11.2 (proc-macro)
│ │ │ │ │ ├── proc-macro2 v1.0.106 (*)
│ │ │ │ │ ├── quote v1.0.44 (*)
│ │ │ │ │ └── syn v2.0.116 (*)
│ │ │ │ ├── yoke v0.8.1 (*)
│ │ │ │ ├── zerofrom v0.1.6 (*)
│ │ │ │ └── zerovec v0.11.5 (*)
│ │ │ ├── icu_normalizer_data v2.1.1
│ │ │ ├── icu_provider v2.1.1
│ │ │ │ ├── displaydoc v0.2.5 (proc-macro) (*)
│ │ │ │ ├── icu_locale_core v2.1.1
│ │ │ │ │ ├── displaydoc v0.2.5 (proc-macro) (*)
│ │ │ │ │ ├── litemap v0.8.1
│ │ │ │ │ ├── tinystr v0.8.2
│ │ │ │ │ │ ├── displaydoc v0.2.5 (proc-macro) (*)
│ │ │ │ │ │ └── zerovec v0.11.5 (*)
│ │ │ │ │ ├── writeable v0.6.2
│ │ │ │ │ └── zerovec v0.11.5 (*)
│ │ │ │ ├── writeable v0.6.2
│ │ │ │ ├── yoke v0.8.1 (*)
│ │ │ │ ├── zerofrom v0.1.6 (*)
│ │ │ │ ├── zerotrie v0.2.3
│ │ │ │ │ ├── displaydoc v0.2.5 (proc-macro) (*)
│ │ │ │ │ ├── yoke v0.8.1 (*)
│ │ │ │ │ └── zerofrom v0.1.6 (*)
│ │ │ │ └── zerovec v0.11.5 (*)
│ │ │ ├── smallvec v1.15.1
│ │ │ └── zerovec v0.11.5 (*)
│ │ └── icu_properties v2.1.2
│ │ ├── icu_collections v2.1.1 (*)
│ │ ├── icu_locale_core v2.1.1 (*)
│ │ ├── icu_properties_data v2.1.2
│ │ ├── icu_provider v2.1.1 (*)
│ │ ├── zerotrie v0.2.3 (*)
│ │ └── zerovec v0.11.5 (*)
│ ├── smallvec v1.15.1
│ └── utf8_iter v1.0.4
└── percent-encoding v2.3.2
```
# What changes are included in this PR?
Split out the `futures` dependency into the relevant component when and
where they are needed
# Are there any user-facing changes?
None
--
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]