Skip to content

Commit 458e38b

Browse files
committed
UNPICK arrow issue
1 parent 6f0e7d4 commit 458e38b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

ARROW_ISSUE_DRAFT.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# Arrow Issue: Reduce `'static` lifetime constraints in `FormatOptions` and `CastOptions`
1+
# Arrow Issue: Support runtime-owned format and cast options
22

33
## Summary
44

5-
Arrow's `FormatOptions<'static>` and `CastOptions<'static>` require all string fields to be `&'static str` references, which prevents runtime-created format strings and makes it difficult for downstream projects to work with dynamic formatting options. DataFusion and other consumers must create owned wrapper types to work around this limitation.
5+
Arrow's `FormatOptions<'a>` and `CastOptions<'a>` use generic lifetimes, but the API design and default constants are built around `'static` strings. This makes it impractical for downstream projects to work with dynamically-created format options (e.g., from user config or SQL). DataFusion and other consumers must create owned wrapper types to work around this limitation.
66

77
## Problem
88

9-
### The `'static` Constraint in Practice
9+
### Why Generic Lifetimes Aren't Enough
1010

11-
While Arrow's `FormatOptions<'a>` and `CastOptions<'a>` accept generic lifetimes, the API design and default constants effectively require `'static` strings in typical use:
11+
While Arrow's `FormatOptions<'a>` and `CastOptions<'a>` *can* accept generic lifetimes, the practical API design makes them hard to use with runtime data:
1212

1313
```rust
1414
// arrow/compute/cast.rs

0 commit comments

Comments
 (0)