## Which issue does this PR close?
This addresses part of https://github.com/apache/datafusion/issues/15804
but does not close it.
## Rationale for this change
Now that we are on MSRV 1.88 we can use rust edition 2024, which brings
let chains and other nice features. It also improves `unsafe` checking.
In order to introduce these changes in slower way instead of one massive
PR that is too difficult to manage we are updating a few crates at a
time.
## What changes are included in this PR?
Updates these crates to 2024.
- datafusion-cli
- datafusion-proto
- datafusion-substrait
- datafusion-wasmtest
## Are these changes tested?
Existing unit tests. There are no functional code changes.
## Are there any user-facing changes?
None.
## Note
It is recommended to review with the ignore whitespace setting:
https://github.com/apache/datafusion/pull/19357/files?w=1
* Adds Object Store Profiling options/commands to CLI
- Adds a CLI option and command to datafusion-cli to enable or disabled
object store profiling
- Integrates the command with the instrumented object stores to allow
the user input to change the mode of the instrumented stores
- Adds tests to exercise the expected behavior of the commands
- Adds user docs for the commands/CLI options
- Updates visibility of `InstrumentedObjectStore` now that it needs to
be interacted with outside of its module
* Improves InstrumentedObjectStoreRegistry ergonomics
- Adds better methods to build an InstrumentedObjectStoreRegistry to
reduce code duplication in common usage
- Enhances test success criteria
- Normalizes method names