You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by gi...@apache.org on 2023/07/30 15:24:09 UTC

[arrow-rs] branch asf-site updated: deploy: fb926a4ff9f84fcfb5c853b6f3cb5d2d11bdf916

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new e69626839b deploy: fb926a4ff9f84fcfb5c853b6f3cb5d2d11bdf916
e69626839b is described below

commit e69626839b75ab69647128422671d36bfed1168f
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Sun Jul 30 15:24:04 2023 +0000

    deploy: fb926a4ff9f84fcfb5c853b6f3cb5d2d11bdf916
---
 arrow/all.html                                     |   2 +-
 arrow/util/display/enum.DurationFormat.html        |  31 ++
 arrow/util/display/fn.array_value_to_string.html   |   2 +-
 arrow/util/display/fn.lexical_to_string.html       |   2 +-
 arrow/util/display/index.html                      |   4 +-
 arrow/util/display/sidebar-items.js                |   2 +-
 arrow/util/display/struct.ArrayFormatter.html      |   6 +-
 arrow/util/display/struct.FormatOptions.html       |  34 +-
 arrow/util/display/struct.ValueFormatter.html      |   8 +-
 arrow_cast/all.html                                |   2 +-
 arrow_cast/cast/index.html                         |   2 +-
 arrow_cast/display/enum.DurationFormat.html        |  26 ++
 arrow_cast/display/enum.FormatError.html           |   4 +-
 arrow_cast/display/fn.array_format.html            |   2 +-
 arrow_cast/display/fn.array_value_to_string.html   |   2 +-
 arrow_cast/display/fn.date32_to_date.html          |   2 +-
 arrow_cast/display/fn.lexical_to_string.html       |   2 +-
 arrow_cast/display/fn.make_formatter.html          |   2 +-
 arrow_cast/display/fn.write_list.html              |   2 +-
 arrow_cast/display/fn.write_timestamp.html         |   2 +-
 arrow_cast/display/index.html                      |   4 +-
 arrow_cast/display/macro.decimal_display.html      |   2 +-
 arrow_cast/display/macro.duration_display.html     |   4 +-
 arrow_cast/display/macro.duration_fmt!.html        |  11 +
 arrow_cast/display/macro.duration_fmt.html         |   4 +
 arrow_cast/display/macro.primitive_display.html    |   2 +-
 arrow_cast/display/macro.temporal_display.html     |   2 +-
 arrow_cast/display/macro.timestamp_display.html    |   2 +-
 arrow_cast/display/sidebar-items.js                |   2 +-
 arrow_cast/display/struct.ArrayFormat.html         |   4 +-
 arrow_cast/display/struct.ArrayFormatter.html      |   6 +-
 arrow_cast/display/struct.FormatOptions.html       |  32 +-
 arrow_cast/display/struct.ValueFormatter.html      |   8 +-
 arrow_cast/display/trait.DisplayIndex.html         |   4 +-
 arrow_cast/display/trait.DisplayIndexState.html    | 124 +++---
 arrow_cast/display/type.FieldDisplay.html          |   2 +-
 arrow_cast/display/type.FormatResult.html          |   2 +-
 implementors/core/clone/trait.Clone.js             |   2 +-
 implementors/core/cmp/trait.Eq.js                  |   2 +-
 implementors/core/cmp/trait.PartialEq.js           |   2 +-
 implementors/core/fmt/trait.Debug.js               |   2 +-
 implementors/core/hash/trait.Hash.js               |   2 +-
 implementors/core/marker/trait.Copy.js             |   2 +-
 implementors/core/marker/trait.Freeze.js           |   2 +-
 implementors/core/marker/trait.Send.js             |   2 +-
 implementors/core/marker/trait.StructuralEq.js     |   2 +-
 .../core/marker/trait.StructuralPartialEq.js       |   2 +-
 implementors/core/marker/trait.Sync.js             |   2 +-
 implementors/core/marker/trait.Unpin.js            |   2 +-
 .../core/panic/unwind_safe/trait.RefUnwindSafe.js  |   2 +-
 .../core/panic/unwind_safe/trait.UnwindSafe.js     |   2 +-
 search-index.js                                    |   4 +-
 src/arrow_cast/cast.rs.html                        |  20 +
 src/arrow_cast/display.rs.html                     | 448 +++++++++++++++++++--
 54 files changed, 688 insertions(+), 166 deletions(-)

diff --git a/arrow/all.html b/arrow/all.html
index f40850f146..7aa3d0c10c 100644
--- a/arrow/all.html
+++ b/arrow/all.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.fi [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.fi [...]
\ No newline at end of file
diff --git a/arrow/util/display/enum.DurationFormat.html b/arrow/util/display/enum.DurationFormat.html
new file mode 100644
index 0000000000..ea06d0e170
--- /dev/null
+++ b/arrow/util/display/enum.DurationFormat.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Format for displaying durations"><title>DurationFormat in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigi [...]
+    ISO8601,
+    Pretty,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Format for displaying durations</p>
+</div></details><h2 id="variants" class="variants small-section-header">Variants (Non-exhaustive)<a href="#variants" class="anchor">§</a></h2><details class="toggle non-exhaustive"><summary class="hideme"><span>This enum is marked as non-exhaustive</span></summary><div class="docblock">Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variant [...]
+</div><section id="variant.Pretty" class="variant"><a href="#variant.Pretty" class="anchor">§</a><h3 class="code-header">Pretty</h3></section><div class="docblock"><p>A human readable representation - <code>198 days 16 hours 34 mins 15.407810000 secs</code></p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-DurationFormat" class="impl"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#38">source</a><a href="#impl-Clone-for-DurationFormat" class="anchor">§</a><h3 class="code-header">impl <a class="trai [...]
+    __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</span></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle m [...]
+    H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
+by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-DurationFormat" class="impl"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#38">source</a><a href="#impl-Copy-for-DurationFormat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Durat [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    U: FromCast&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast" class="method trait-impl"><a href="#method.cast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cast</a>(self) -&gt; U</h4></section></summary><div class='docblock'>Numeric cast from <code>self</code> to <code>T</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="im [...]
+    Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a href="#method.equivalent" class="anchor [...]
+    Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-1" class="method trait-impl"><a href="#method.equivalent-1" class="an [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromCast%3CT%3E-for-DurationFormat" class="impl"><a href="#impl-FromCast%3CT%3E-for-DurationFormat" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromCast&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_cast" class="method trait-impl"><a href="#method.from_cast" class="anchor">§</a><h [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-DurationFormat" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-DurationFormat" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for  [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associat [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype [...]
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><section id="impl-Allocation-for-DurationFormat" class="impl"><a class="src rightside" href="../../../src/arrow_buffer/alloc/mod.rs.html#33">source</a><a href="#impl-Allocation-for-DurationFormat" class="anchor">§</a><h3  [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section><section id="impl-Ungil-f [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/util/display/fn.array_value_to_string.html b/arrow/util/display/fn.array_value_to_string.html
index 08ccf11551..282c294ddb 100644
--- a/arrow/util/display/fn.array_value_to_string.html
+++ b/arrow/util/display/fn.array_value_to_string.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Get the value at the given row in an array as a String."><title>array_value_to_string in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="fon [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Get the value at the given row in an array as a String."><title>array_value_to_string in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="fon [...]
     column: &amp;dyn <a class="trait" href="../../array/trait.Array.html" title="trait arrow::array::Array">Array</a>,
     row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description [...]
diff --git a/arrow/util/display/fn.lexical_to_string.html b/arrow/util/display/fn.lexical_to_string.html
index 74147db82f..29eb36fa62 100644
--- a/arrow/util/display/fn.lexical_to_string.html
+++ b/arrow/util/display/fn.lexical_to_string.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Converts numeric type to a `String`"><title>lexical_to_string in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cro [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Converts numeric type to a `String`"><title>lexical_to_string in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cro [...]
     N: ToLexical,</span></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Converts numeric type to a <code>String</code></p>
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/util/display/index.html b/arrow/util/display/index.html
index f663f92a72..6edf92b4b8 100644
--- a/arrow/util/display/index.html
+++ b/arrow/util/display/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Functions for printing array values, as strings, for debugging purposes. See the `pretty` crate for additional functions for record batch pretty printing."><title>arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/So [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Functions for printing array values, as strings, for debugging purposes. See the `pretty` crate for additional functions for record batch pretty printing."><title>arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/So [...]
 purposes. See the <code>pretty</code> crate for additional functions for
 record batch pretty printing.</p>
-</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.ArrayFormatter.html" title="struct arrow::util::display::ArrayFormatter">ArrayFormatter</a></div><div class="desc docblock-short">A string formatter for an <a href="../../array/trait.Array.html" title="trait arrow::array::Array"><code>Array</code></a></div></li><li><div class="item-name"><a class="struct" href="s [...]
\ No newline at end of file
+</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.ArrayFormatter.html" title="struct arrow::util::display::ArrayFormatter">ArrayFormatter</a></div><div class="desc docblock-short">A string formatter for an <a href="../../array/trait.Array.html" title="trait arrow::array::Array"><code>Array</code></a></div></li><li><div class="item-name"><a class="struct" href="s [...]
\ No newline at end of file
diff --git a/arrow/util/display/sidebar-items.js b/arrow/util/display/sidebar-items.js
index 8c8ad82324..62eb0cb88c 100644
--- a/arrow/util/display/sidebar-items.js
+++ b/arrow/util/display/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["array_value_to_string","lexical_to_string"],"struct":["ArrayFormatter","FormatOptions","ValueFormatter"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"enum":["DurationFormat"],"fn":["array_value_to_string","lexical_to_string"],"struct":["ArrayFormatter","FormatOptions","ValueFormatter"]};
\ No newline at end of file
diff --git a/arrow/util/display/struct.ArrayFormatter.html b/arrow/util/display/struct.ArrayFormatter.html
index a8afd400fd..51daedb3b2 100644
--- a/arrow/util/display/struct.ArrayFormatter.html
+++ b/arrow/util/display/struct.ArrayFormatter.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A string formatter for an `Array`"><title>ArrayFormatter in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A string formatter for an `Array`"><title>ArrayFormatter in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossori [...]
     format: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../../../arrow_cast/display/trait.DisplayIndex.html" title="trait arrow_cast::display::DisplayIndex">DisplayIndex</a> + 'a, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;,
     safe: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A string formatter for an <a href="../../array/trait.Array.html" title="trait arrow::array::Array"><code>Array</code></a></p>
@@ -38,12 +38,12 @@ opaque <a href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" ti
     </span>}
     <span class="prelude-val">Ok</span>(())
 }</code></pre></div>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.format" class="structfield small-section-header"><a href="#structfield.format" class="anchor field">§</a><code>format: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../../../arrow_cast/display/trait.DisplayIndex.html" title="trait arrow_cast [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.format" class="structfield small-section-header"><a href="#structfield.format" class="anchor field">§</a><code>format: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../../../arrow_cast/display/trait.DisplayIndex.html" title="trait arrow_cast [...]
     array: &amp;'a dyn <a class="trait" href="../../array/trait.Array.html" title="trait arrow::array::Array">Array</a>,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.ArrayFormatter.html" title="struct arrow::util::display::ArrayFormatter">ArrayFormatter</a>&lt;'a&gt;, <a class="enum" href="../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</h4></section></summary><div class="docblock"><p>Returns an <a href="struct.ArrayFormatter.html" title= [...]
 <p>This returns an error if an array of the given data type cannot be formatted</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#245">source</a><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.ValueFormatter.html" title="struct arrow::util::display::ValueFormatt [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#275">source</a><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.ValueFormatter.html" title="struct arrow::util::display::ValueFormatt [...]
 the value of the array at <code>idx</code></p>
 </div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-ArrayFormatter%3C'a%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ArrayFormatter%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unw [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
diff --git a/arrow/util/display/struct.FormatOptions.html b/arrow/util/display/struct.FormatOptions.html
index 76c353e55d..8b0486746a 100644
--- a/arrow/util/display/struct.FormatOptions.html
+++ b/arrow/util/display/struct.FormatOptions.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Options for formatting arrays"><title>FormatOptions in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Options for formatting arrays"><title>FormatOptions in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
     safe: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
     null: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
     date_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
@@ -6,33 +6,45 @@
     timestamp_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
     timestamp_tz_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
     time_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
+    duration_format: <a class="enum" href="enum.DurationFormat.html" title="enum arrow::util::display::DurationFormat">DurationFormat</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Options for formatting arrays</p>
 <p>By default nulls are formatted as <code>&quot;&quot;</code> and temporal types formatted
 according to RFC3339</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.safe" class="structfield small-section-header"><a href="#structfield.safe" class="anchor field">§</a><code>safe: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><span id="structfield.null" class="structfield small-section-header"><a href="#structfield.null" class="anchor field">§</a><code>nul [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.safe" class="structfield small-section-header"><a href="#structfield.safe" class="anchor field">§</a><code>safe: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><span id="structfield.null" class="structfield small-section-header"><a href="#structfield.null" class="anchor field">§</a><code>nul [...]
 instead of being converted into a <a href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error"><code>std::fmt::Error</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_null" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#86">source</a><h4 class="code-header">pub fn <a href="#method.with_null" class="fn">with_null</a>(self, null: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::display::Fo [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_null" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#103">source</a><h4 class="code-header">pub const fn <a href="#method.with_null" class="fn">with_null</a>(self, null: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::disp [...]
 <p>Defaults to <code>&quot;&quot;</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_date_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#91">source</a><h4 class="code-header">pub fn <a href="#method.with_date_format" class="fn">with_date_format</a>(self, date_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href=" [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_datetime_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#99">source</a><h4 class="code-header">pub fn <a href="#method.with_datetime_format" class="fn">with_datetime_format</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_date_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#108">source</a><h4 class="code-header">pub const fn <a href="#method.with_date_format" class="fn">with_date_format</a>(
+    self,
+    date_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
+) -&gt; <a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::display::FormatOptions">FormatOptions</a>&lt;'a&gt;</h4></section></summary><div class="docblock"><p>Overrides the format used for <a href="../../datatypes/enum.DataType.html#variant.Date32" title="variant arrow::datatypes::DataType::Date32"><code>DataType::Date32</code></a> columns</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_datetime_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#116">source</a><h4 class="code-header">pub const fn <a href="#method.with_datetime_format" class="fn">with_datetime_format</a>(
     self,
     datetime_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
 ) -&gt; <a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::display::FormatOptions">FormatOptions</a>&lt;'a&gt;</h4></section></summary><div class="docblock"><p>Overrides the format used for <a href="../../datatypes/enum.DataType.html#variant.Date64" title="variant arrow::datatypes::DataType::Date64"><code>DataType::Date64</code></a> columns</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timestamp_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#107">source</a><h4 class="code-header">pub fn <a href="#method.with_timestamp_format" class="fn">with_timestamp_format</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timestamp_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#124">source</a><h4 class="code-header">pub const fn <a href="#method.with_timestamp_format" class="fn">with_timestamp_format</a>(
     self,
     timestamp_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
 ) -&gt; <a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::display::FormatOptions">FormatOptions</a>&lt;'a&gt;</h4></section></summary><div class="docblock"><p>Overrides the format used for <a href="../../datatypes/enum.DataType.html#variant.Timestamp" title="variant arrow::datatypes::DataType::Timestamp"><code>DataType::Timestamp</code></a> columns without a timezone</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timestamp_tz_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#115">source</a><h4 class="code-header">pub fn <a href="#method.with_timestamp_tz_format" class="fn">with_timestamp_tz_format</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timestamp_tz_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#132-135">source</a><h4 class="code-header">pub const fn <a href="#method.with_timestamp_tz_format" class="fn">with_timestamp_tz_format</a>(
     self,
     timestamp_tz_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
 ) -&gt; <a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::display::FormatOptions">FormatOptions</a>&lt;'a&gt;</h4></section></summary><div class="docblock"><p>Overrides the format used for <a href="../../datatypes/enum.DataType.html#variant.Timestamp" title="variant arrow::datatypes::DataType::Timestamp"><code>DataType::Timestamp</code></a> columns with a timezone</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_time_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#123">source</a><h4 class="code-header">pub fn <a href="#method.with_time_format" class="fn">with_time_format</a>(self, time_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href= [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#42">source</a><a href="#impl-Clone-for-FormatOptions%3C'a%3E" class="anchor">§</a><h3 [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_time_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#143">source</a><h4 class="code-header">pub const fn <a href="#method.with_time_format" class="fn">with_time_format</a>(
+    self,
+    time_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
+) -&gt; <a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::display::FormatOptions">FormatOptions</a>&lt;'a&gt;</h4></section></summary><div class="docblock"><p>Overrides the format used for <a href="../../datatypes/enum.DataType.html#variant.Time32" title="variant arrow::datatypes::DataType::Time32"><code>DataType::Time32</code></a> and <a href="../../datatypes/enum.DataType.html#variant.Time64" title="variant arrow::datatypes::DataType::Time64"><code>DataType: [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_duration_format" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#153">source</a><h4 class="code-header">pub const fn <a href="#method.with_duration_format" class="fn">with_duration_format</a>(
+    self,
+    duration_format: <a class="enum" href="enum.DurationFormat.html" title="enum arrow::util::display::DurationFormat">DurationFormat</a>
+) -&gt; <a class="struct" href="struct.FormatOptions.html" title="struct arrow::util::display::FormatOptions">FormatOptions</a>&lt;'a&gt;</h4></section></summary><div class="docblock"><p>Overrides the format used for duration columns</p>
+<p>Defaults to <a href="enum.DurationFormat.html#variant.ISO8601" title="variant arrow::util::display::DurationFormat::ISO8601"><code>DurationFormat::ISO8601</code></a></p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#52">source</a><a href="#impl-Clone-for-FormatOptions%3C'a%3E" class="anchor">§</a><h3 [...]
     __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</span></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle m [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
-    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#42">source</a><a href="#impl-Eq-for-FormatOptions%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href=" [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#52">source</a><a href="#impl-Eq-for-FormatOptions%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href=" [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow/util/display/struct.ValueFormatter.html b/arrow/util/display/struct.ValueFormatter.html
index 0c1fdd138b..7ccb01cfad 100644
--- a/arrow/util/display/struct.ValueFormatter.html
+++ b/arrow/util/display/struct.ValueFormatter.html
@@ -1,12 +1,12 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Implements `Display` for a specific array value"><title>ValueFormatter in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/w [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Implements `Display` for a specific array value"><title>ValueFormatter in arrow::util::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/w [...]
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     formatter: &amp;'a <a class="struct" href="struct.ArrayFormatter.html" title="struct arrow::util::display::ArrayFormatter">ArrayFormatter</a>&lt;'a&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Implements <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display"><code>Display</code></a> for a specific array value</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.idx" class="structfield small-section-header"><a href="#structfield.idx" class="anchor field">§</a><code>idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.formatter" class="structfield small-section-header"><a href="#structfield.formatter" class="anchor field">§</a> [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.idx" class="structfield small-section-header"><a href="#structfield.idx" class="anchor field">§</a><code>idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.formatter" class="structfield small-section-header"><a href="#structfield.formatter" class="anchor field">§</a> [...]
 <p>Note: this ignores <a href="struct.FormatOptions.html#method.with_display_error" title="method arrow::util::display::FormatOptions::with_display_error"><code>FormatOptions::with_display_error</code></a> and
 will return an error on formatting issue</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_to_string" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#153">source</a><h4 class="code-header">pub fn <a href="#method.try_to_string" class="fn">try_to_string</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-ValueFormatter%3C'a%3E" class="impl"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#160">source</a><a href="#impl-Display-for-ValueFormatter%3C'a%3E" class="anchor">§ [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_to_string" class="method"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#183">source</a><h4 class="code-header">pub fn <a href="#method.try_to_string" class="fn">try_to_string</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-ValueFormatter%3C'a%3E" class="impl"><a class="src rightside" href="../../../src/arrow_cast/display.rs.html#190">source</a><a href="#impl-Display-for-ValueFormatter%3C'a%3E" class="anchor">§ [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_cast/all.html b/arrow_cast/all.html
index 7c6185aabd..6b1275e108 100644
--- a/arrow_cast/all.html
+++ b/arrow_cast/all.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.fi [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.fi [...]
\ No newline at end of file
diff --git a/arrow_cast/cast/index.html b/arrow_cast/cast/index.html
index 937714fcef..1a15ae1e86 100644
--- a/arrow_cast/cast/index.html
+++ b/arrow_cast/cast/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Defines cast kernels for `ArrayRef`, to convert `Array`s between supported datatypes."><title>arrow_cast::cast - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Defines cast kernels for `ArrayRef`, to convert `Array`s between supported datatypes."><title>arrow_cast::cast - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" [...]
 supported datatypes.</p>
 <p>Example:</p>
 
diff --git a/arrow_cast/display/enum.DurationFormat.html b/arrow_cast/display/enum.DurationFormat.html
new file mode 100644
index 0000000000..20ad1ec087
--- /dev/null
+++ b/arrow_cast/display/enum.DurationFormat.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Format for displaying durations"><title>DurationFormat in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin hr [...]
+    ISO8601,
+    Pretty,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Format for displaying durations</p>
+</div></details><h2 id="variants" class="variants small-section-header">Variants (Non-exhaustive)<a href="#variants" class="anchor">§</a></h2><details class="toggle non-exhaustive"><summary class="hideme"><span>This enum is marked as non-exhaustive</span></summary><div class="docblock">Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variant [...]
+</div><section id="variant.Pretty" class="variant"><a href="#variant.Pretty" class="anchor">§</a><h3 class="code-header">Pretty</h3></section><div class="docblock"><p>A human readable representation - <code>198 days 16 hours 34 mins 15.407810000 secs</code></p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-DurationFormat" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#38">source</a><a href="#impl-Clone-for-DurationFormat" class="anchor">§</a><h3 class="code-header">impl <a class="trait"  [...]
+    H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
+by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-DurationFormat" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#38">source</a><a href="#impl-Copy-for-DurationFormat" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Duration [...]
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
+    T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+    U: FromCast&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast" class="method trait-impl"><a href="#method.cast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">cast</a>(self) -&gt; U</h4></section></summary><div class='docblock'>Numeric cast from <code>self</code> to <code>T</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="im [...]
+    Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a href="#method.equivalent" class="anchor [...]
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromCast%3CT%3E-for-DurationFormat" class="impl"><a href="#impl-FromCast%3CT%3E-for-DurationFormat" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromCast&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_cast" class="method trait-impl"><a href="#method.from_cast" class="anchor">§</a><h [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href [...]
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-DurationFormat" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-DurationFormat" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for  [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associat [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class [...]
+    U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype [...]
+    T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></div></section></div></m [...]
\ No newline at end of file
diff --git a/arrow_cast/display/enum.FormatError.html b/arrow_cast/display/enum.FormatError.html
index fef5b6318c..8b5bdad9a4 100644
--- a/arrow_cast/display/enum.FormatError.html
+++ b/arrow_cast/display/enum.FormatError.html
@@ -1,8 +1,8 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Either an `ArrowError` or `std::fmt::Error`"><title>FormatError in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cross [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Either an `ArrowError` or `std::fmt::Error`"><title>FormatError in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" cross [...]
     Format(<a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>),
     Arrow(ArrowError),
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Either an [<code>ArrowError</code>] or <a href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error"><code>std::fmt::Error</code></a></p>
-</div></details><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Format" class="variant"><a href="#variant.Format" class="anchor">§</a><h3 class="code-header">Format(<a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>)</h3></section><section id="variant.Arrow" class="variant"><a href="#variant.Arrow" class="anch [...]
+</div></details><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Format" class="variant"><a href="#variant.Format" class="anchor">§</a><h3 class="code-header">Format(<a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>)</h3></section><section id="variant.Arrow" class="variant"><a href="#variant.Arrow" class="anch [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_cast/display/fn.array_format.html b/arrow_cast/display/fn.array_format.html
index 6f74ecde72..adc7675686 100644
--- a/arrow_cast/display/fn.array_format.html
+++ b/arrow_cast/display/fn.array_format.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `array_format` fn in crate `arrow_cast`."><title>array_format in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `array_format` fn in crate `arrow_cast`."><title>array_format in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as=" [...]
     array: F,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.DisplayIndex.html" title="trait arrow_cast::display::DisplayIndex">DisplayIndex</a> + 'a&gt;, ArrowError&gt;<span class="where fmt-newline">where
diff --git a/arrow_cast/display/fn.array_value_to_string.html b/arrow_cast/display/fn.array_value_to_string.html
index 46445f1393..f712c12c57 100644
--- a/arrow_cast/display/fn.array_value_to_string.html
+++ b/arrow_cast/display/fn.array_value_to_string.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Get the value at the given row in an array as a String."><title>array_value_to_string in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" t [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Get the value at the given row in an array as a String."><title>array_value_to_string in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" t [...]
     column: &amp;dyn Array,
     row: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Get the value at the given row in an array as a String.</p>
diff --git a/arrow_cast/display/fn.date32_to_date.html b/arrow_cast/display/fn.date32_to_date.html
index 1f35b526f6..9987785c0c 100644
--- a/arrow_cast/display/fn.date32_to_date.html
+++ b/arrow_cast/display/fn.date32_to_date.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `date32_to_date` fn in crate `arrow_cast`."><title>date32_to_date in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload"  [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `date32_to_date` fn in crate `arrow_cast`."><title>date32_to_date in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload"  [...]
\ No newline at end of file
diff --git a/arrow_cast/display/fn.lexical_to_string.html b/arrow_cast/display/fn.lexical_to_string.html
index 3e02d2ca90..24f30ad2e7 100644
--- a/arrow_cast/display/fn.lexical_to_string.html
+++ b/arrow_cast/display/fn.lexical_to_string.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Converts numeric type to a `String`"><title>lexical_to_string in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Converts numeric type to a `String`"><title>lexical_to_string in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossor [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/fn.make_formatter.html b/arrow_cast/display/fn.make_formatter.html
index 026e476305..b94eae901e 100644
--- a/arrow_cast/display/fn.make_formatter.html
+++ b/arrow_cast/display/fn.make_formatter.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `make_formatter` fn in crate `arrow_cast`."><title>make_formatter in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `make_formatter` fn in crate `arrow_cast`."><title>make_formatter in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload"  [...]
     array: &amp;'a dyn Array,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.DisplayIndex.html" title="trait arrow_cast::display::DisplayIndex">DisplayIndex</a> + 'a&gt;, ArrowError&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/fn.write_list.html b/arrow_cast/display/fn.write_list.html
index 684c3ffb50..4e8d70e17b 100644
--- a/arrow_cast/display/fn.write_list.html
+++ b/arrow_cast/display/fn.write_list.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `write_list` fn in crate `arrow_cast`."><title>write_list in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `write_list` fn in crate `arrow_cast`."><title>write_list in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font [...]
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>,
     range: <a class="struct" href="https://doc.rust-lang.org/nightly/core/ops/range/struct.Range.html" title="struct core::ops::range::Range">Range</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;,
     values: &amp;dyn <a class="trait" href="trait.DisplayIndex.html" title="trait arrow_cast::display::DisplayIndex">DisplayIndex</a>
diff --git a/arrow_cast/display/fn.write_timestamp.html b/arrow_cast/display/fn.write_timestamp.html
index 44e9d2b675..cc68098c7c 100644
--- a/arrow_cast/display/fn.write_timestamp.html
+++ b/arrow_cast/display/fn.write_timestamp.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `write_timestamp` fn in crate `arrow_cast`."><title>write_timestamp in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `write_timestamp` fn in crate `arrow_cast`."><title>write_timestamp in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload [...]
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>,
     naive: <a class="struct" href="https://docs.rs/chrono/latest/chrono/naive/datetime/struct.NaiveDateTime.html" title="struct chrono::naive::datetime::NaiveDateTime">NaiveDateTime</a>,
     timezone: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Tz&gt;,
diff --git a/arrow_cast/display/index.html b/arrow_cast/display/index.html
index c4a4fbd968..7872a4db2f 100644
--- a/arrow_cast/display/index.html
+++ b/arrow_cast/display/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Functions for printing array values, as strings, for debugging purposes. See the `pretty` crate for additional functions for record batch pretty printing."><title>arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/Source [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Functions for printing array values, as strings, for debugging purposes. See the `pretty` crate for additional functions for record batch pretty printing."><title>arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/Source [...]
 purposes. See the <code>pretty</code> crate for additional functions for
 record batch pretty printing.</p>
-</div></details><h2 id="macros" class="small-section-header"><a href="#macros">Macros</a></h2><ul class="item-table"><li><div class="item-name"><a class="macro" href="macro.decimal_display.html" title="macro arrow_cast::display::decimal_display">decimal_display</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="macro" href="macro.duration_display.html" title="macro arrow_cast::display::duration_display">duration_display</a><span title="R [...]
\ No newline at end of file
+</div></details><h2 id="macros" class="small-section-header"><a href="#macros">Macros</a></h2><ul class="item-table"><li><div class="item-name"><a class="macro" href="macro.decimal_display.html" title="macro arrow_cast::display::decimal_display">decimal_display</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="macro" href="macro.duration_display.html" title="macro arrow_cast::display::duration_display">duration_display</a><span title="R [...]
\ No newline at end of file
diff --git a/arrow_cast/display/macro.decimal_display.html b/arrow_cast/display/macro.decimal_display.html
index 7249440e59..cca5a98f9a 100644
--- a/arrow_cast/display/macro.decimal_display.html
+++ b/arrow_cast/display/macro.decimal_display.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `decimal_display` macro in crate `arrow_cast`."><title>decimal_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="prel [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `decimal_display` macro in crate `arrow_cast`."><title>decimal_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="prel [...]
     ($(<span class="macro-nonterminal">$t</span>:ty),+) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/macro.duration_display.html b/arrow_cast/display/macro.duration_display.html
index fdb312f9cd..1353e0cfd3 100644
--- a/arrow_cast/display/macro.duration_display.html
+++ b/arrow_cast/display/macro.duration_display.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `duration_display` macro in crate `arrow_cast`."><title>duration_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="pr [...]
-    (<span class="macro-nonterminal">$convert</span>:ident, <span class="macro-nonterminal">$t</span>:ty) =&gt; { ... };
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `duration_display` macro in crate `arrow_cast`."><title>duration_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="pr [...]
+    (<span class="macro-nonterminal">$convert</span>:ident, <span class="macro-nonterminal">$t</span>:ty, <span class="macro-nonterminal">$scale</span>:tt) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/macro.duration_fmt!.html b/arrow_cast/display/macro.duration_fmt!.html
new file mode 100644
index 0000000000..10ef7b197d
--- /dev/null
+++ b/arrow_cast/display/macro.duration_fmt!.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=macro.duration_fmt.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="macro.duration_fmt.html">macro.duration_fmt.html</a>...</p>
+    <script>location.replace("macro.duration_fmt.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/arrow_cast/display/macro.duration_fmt.html b/arrow_cast/display/macro.duration_fmt.html
new file mode 100644
index 0000000000..e071ce4034
--- /dev/null
+++ b/arrow_cast/display/macro.duration_fmt.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `duration_fmt` macro in crate `arrow_cast`."><title>duration_fmt in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" a [...]
+    (<span class="macro-nonterminal">$f</span>:ident, <span class="macro-nonterminal">$v</span>:expr, <span class="number">0</span>) =&gt; { ... };
+    (<span class="macro-nonterminal">$f</span>:ident, <span class="macro-nonterminal">$v</span>:expr, <span class="macro-nonterminal">$scale</span>:tt) =&gt; { ... };
+}</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/macro.primitive_display.html b/arrow_cast/display/macro.primitive_display.html
index ddf832c8cc..3754f2d613 100644
--- a/arrow_cast/display/macro.primitive_display.html
+++ b/arrow_cast/display/macro.primitive_display.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `primitive_display` macro in crate `arrow_cast`."><title>primitive_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `primitive_display` macro in crate `arrow_cast`."><title>primitive_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel=" [...]
     ($(<span class="macro-nonterminal">$t</span>:ty),+) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/macro.temporal_display.html b/arrow_cast/display/macro.temporal_display.html
index 41e7ab4c70..977929c2fd 100644
--- a/arrow_cast/display/macro.temporal_display.html
+++ b/arrow_cast/display/macro.temporal_display.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `temporal_display` macro in crate `arrow_cast`."><title>temporal_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="pr [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `temporal_display` macro in crate `arrow_cast`."><title>temporal_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="pr [...]
     (<span class="macro-nonterminal">$convert</span>:ident, <span class="macro-nonterminal">$format</span>:ident, <span class="macro-nonterminal">$t</span>:ty) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/macro.timestamp_display.html b/arrow_cast/display/macro.timestamp_display.html
index a9f691a170..6d4417b72e 100644
--- a/arrow_cast/display/macro.timestamp_display.html
+++ b/arrow_cast/display/macro.timestamp_display.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `timestamp_display` macro in crate `arrow_cast`."><title>timestamp_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `timestamp_display` macro in crate `arrow_cast`."><title>timestamp_display in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel=" [...]
     ($(<span class="macro-nonterminal">$t</span>:ty),+) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/sidebar-items.js b/arrow_cast/display/sidebar-items.js
index db0b217c0c..53cd91a81e 100644
--- a/arrow_cast/display/sidebar-items.js
+++ b/arrow_cast/display/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"enum":["FormatError"],"fn":["array_format","array_value_to_string","date32_to_date","lexical_to_string","make_formatter","write_list","write_timestamp"],"macro":["decimal_display","duration_display","primitive_display","temporal_display","timestamp_display"],"struct":["ArrayFormat","ArrayFormatter","FormatOptions","ValueFormatter"],"trait":["DisplayIndex","DisplayIndexState"],"type":["FieldDisplay","FormatResult","TimeFormat"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"enum":["DurationFormat","FormatError"],"fn":["array_format","array_value_to_string","date32_to_date","lexical_to_string","make_formatter","write_list","write_timestamp"],"macro":["decimal_display","duration_display","duration_fmt","primitive_display","temporal_display","timestamp_display"],"struct":["ArrayFormat","ArrayFormatter","FormatOptions","ValueFormatter"],"trait":["DisplayIndex","DisplayIndexState"],"type":["FieldDisplay","FormatResult","TimeFormat"]};
\ No newline at end of file
diff --git a/arrow_cast/display/struct.ArrayFormat.html b/arrow_cast/display/struct.ArrayFormat.html
index 87e01cbe0f..b10eb5b48b 100644
--- a/arrow_cast/display/struct.ArrayFormat.html
+++ b/arrow_cast/display/struct.ArrayFormat.html
@@ -1,8 +1,8 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ArrayFormat` struct in crate `arrow_cast`."><title>ArrayFormat in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ArrayFormat` struct in crate `arrow_cast`."><title>ArrayFormat in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as [...]
     state: F::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     array: F,
     null: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
-}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.state" class="structfield small-section-header"><a href="#structfield.state" class="anchor field">§</a><code>state: F::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a></code></span><span id="structfield.array" class="structfield small-section-header">< [...]
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.state" class="structfield small-section-header"><a href="#structfield.state" class="anchor field">§</a><code>state: F::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a></code></span><span id="structfield.array" class="structfield small-section-header">< [...]
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
     &lt;F as <a class="trait" href="trait.DisplayIndexState.html" title="trait arrow_cast::display::DisplayIndexState">DisplayIndexState</a>&lt;'a&gt;&gt;::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</spa [...]
     F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
diff --git a/arrow_cast/display/struct.ArrayFormatter.html b/arrow_cast/display/struct.ArrayFormatter.html
index 12946a9d1c..e35a8d5d32 100644
--- a/arrow_cast/display/struct.ArrayFormatter.html
+++ b/arrow_cast/display/struct.ArrayFormatter.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A string formatter for an `Array`"><title>ArrayFormatter in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A string formatter for an `Array`"><title>ArrayFormatter in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
     format: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.DisplayIndex.html" title="trait arrow_cast::display::DisplayIndex">DisplayIndex</a> + 'a&gt;,
     safe: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A string formatter for an [<code>Array</code>]</p>
@@ -38,12 +38,12 @@ opaque <a href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" ti
     </span>}
     <span class="prelude-val">Ok</span>(())
 }</code></pre></div>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.format" class="structfield small-section-header"><a href="#structfield.format" class="anchor field">§</a><code>format: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.DisplayIndex.html" title="trait arrow_cast::display::DisplayIndex">Dis [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.format" class="structfield small-section-header"><a href="#structfield.format" class="anchor field">§</a><code>format: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="trait.DisplayIndex.html" title="trait arrow_cast::display::DisplayIndex">Dis [...]
     array: &amp;'a dyn Array,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, ArrowError&gt;</h4></section></summary><div class="docblock"><p>Returns an <a href="struct.ArrayFormatter.html" title="struct arrow_cast::display::ArrayFormatter"><code>ArrayFormatter</code></a> that can be used to format <code>array</code></p>
 <p>This returns an error if an array of the given data type cannot be formatted</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#245-250">source</a><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.ValueFormatter.html" title="struct arrow_cast::display::ValueFormatt [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.value" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#275-280">source</a><h4 class="code-header">pub fn <a href="#method.value" class="fn">value</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -&gt; <a class="struct" href="struct.ValueFormatter.html" title="struct arrow_cast::display::ValueFormatt [...]
 the value of the array at <code>idx</code></p>
 </div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-ArrayFormatter%3C'a%3E" class="impl"><a href="#impl-RefUnwindSafe-for-ArrayFormatter%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unw [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
diff --git a/arrow_cast/display/struct.FormatOptions.html b/arrow_cast/display/struct.FormatOptions.html
index 63ac7ec6b2..dd5eca179c 100644
--- a/arrow_cast/display/struct.FormatOptions.html
+++ b/arrow_cast/display/struct.FormatOptions.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Options for formatting arrays"><title>FormatOptions in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href= [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Options for formatting arrays"><title>FormatOptions in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href= [...]
     safe: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
     null: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>,
     date_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
@@ -6,6 +6,7 @@
     timestamp_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
     timestamp_tz_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
     time_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;,
+    duration_format: <a class="enum" href="enum.DurationFormat.html" title="enum arrow_cast::display::DurationFormat">DurationFormat</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Options for formatting arrays</p>
 <p>By default nulls are formatted as <code>&quot;&quot;</code> and temporal types formatted
 according to RFC3339</p>
@@ -17,23 +18,32 @@ instead of being converted into a <a href="https://doc.rust-lang.org/nightly/cor
 </div><span id="structfield.timestamp_format" class="structfield small-section-header"><a href="#structfield.timestamp_format" class="anchor field">§</a><code>timestamp_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</code></span><div class="docblock"><p>Timestamp format for timestamp arrays</p>
 </div><span id="structfield.timestamp_tz_format" class="structfield small-section-header"><a href="#structfield.timestamp_tz_format" class="anchor field">§</a><code>timestamp_tz_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</code></span><div class="docblock"><p>Timestamp format for timestam [...]
 </div><span id="structfield.time_format" class="structfield small-section-header"><a href="#structfield.time_format" class="anchor field">§</a><code>time_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;</code></span><div class="docblock"><p>Time format for time arrays</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#75-129">source</a><a href="#impl-FormatOptions%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="struct" href="struct.FormatOp [...]
+</div><span id="structfield.duration_format" class="structfield small-section-header"><a href="#structfield.duration_format" class="anchor field">§</a><code>duration_format: <a class="enum" href="enum.DurationFormat.html" title="enum arrow_cast::display::DurationFormat">DurationFormat</a></code></span><div class="docblock"><p>Duration format</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#79-159">source</a><a href="#impl-FormatOptions%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="struct" href="struct.FormatOp [...]
 instead of being converted into a <a href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error"><code>std::fmt::Error</code></a></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_null" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#86-88">source</a><h4 class="code-header">pub fn <a href="#method.with_null" class="fn">with_null</a>(self, null: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Overrides the string used to repres [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_null" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#103-105">source</a><h4 class="code-header">pub const fn <a href="#method.with_null" class="fn">with_null</a>(self, null: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Overrides the string used t [...]
 <p>Defaults to <code>&quot;&quot;</code></p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_date_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#91-96">source</a><h4 class="code-header">pub fn <a href="#method.with_date_format" class="fn">with_date_format</a>(self, date_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href=" [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_datetime_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#99-104">source</a><h4 class="code-header">pub fn <a href="#method.with_datetime_format" class="fn">with_datetime_format</a>(self, datetime_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class=" [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timestamp_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#107-112">source</a><h4 class="code-header">pub fn <a href="#method.with_timestamp_format" class="fn">with_timestamp_format</a>(self, timestamp_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a cl [...]
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timestamp_tz_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#115-120">source</a><h4 class="code-header">pub fn <a href="#method.with_timestamp_tz_format" class="fn">with_timestamp_tz_format</a>(
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_date_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#108-113">source</a><h4 class="code-header">pub const fn <a href="#method.with_date_format" class="fn">with_date_format</a>(self, date_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_datetime_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#116-121">source</a><h4 class="code-header">pub const fn <a href="#method.with_datetime_format" class="fn">with_datetime_format</a>(
+    self,
+    datetime_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
+) -&gt; Self</h4></section></summary><div class="docblock"><p>Overrides the format used for [<code>DataType::Date64</code>] columns</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timestamp_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#124-129">source</a><h4 class="code-header">pub const fn <a href="#method.with_timestamp_format" class="fn">with_timestamp_format</a>(
+    self,
+    timestamp_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
+) -&gt; Self</h4></section></summary><div class="docblock"><p>Overrides the format used for [<code>DataType::Timestamp</code>] columns without a timezone</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_timestamp_tz_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#132-140">source</a><h4 class="code-header">pub const fn <a href="#method.with_timestamp_tz_format" class="fn">with_timestamp_tz_format</a>(
     self,
     timestamp_tz_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>&gt;
 ) -&gt; Self</h4></section></summary><div class="docblock"><p>Overrides the format used for [<code>DataType::Timestamp</code>] columns with a timezone</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_time_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#123-128">source</a><h4 class="code-header">pub fn <a href="#method.with_time_format" class="fn">with_time_format</a>(self, time_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive" href [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#42">source</a><a href="#impl-Clone-for-FormatOptions%3C'a%3E" class="anchor">§</a><h3 cl [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_time_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#143-148">source</a><h4 class="code-header">pub const fn <a href="#method.with_time_format" class="fn">with_time_format</a>(self, time_format: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;'a <a class="primitive [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_duration_format" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#153-158">source</a><h4 class="code-header">pub const fn <a href="#method.with_duration_format" class="fn">with_duration_format</a>(self, duration_format: <a class="enum" href="enum.DurationFormat.html" title="enum arrow_cast::display::DurationFormat">DurationFormat</a>) -&gt; Self</h4></section></s [...]
+<p>Defaults to <a href="enum.DurationFormat.html#variant.ISO8601" title="variant arrow_cast::display::DurationFormat::ISO8601"><code>DurationFormat::ISO8601</code></a></p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#52">source</a><a href="#impl-Clone-for-FormatOptions%3C'a%3E" class="anchor">§</a><h3 cl [...]
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
-    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></ [...]
 by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class= [...]
-sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#42">source</a><a href="#impl-Eq-for-FormatOptions%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="str [...]
+sufficient, and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-FormatOptions%3C'a%3E" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#52">source</a><a href="#impl-Eq-for-FormatOptions%3C'a%3E" class="anchor">§</a><h3 class="code-header">impl&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="str [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_cast/display/struct.ValueFormatter.html b/arrow_cast/display/struct.ValueFormatter.html
index 9d1376b0ae..fbf84760eb 100644
--- a/arrow_cast/display/struct.ValueFormatter.html
+++ b/arrow_cast/display/struct.ValueFormatter.html
@@ -1,12 +1,12 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Implements `Display` for a specific array value"><title>ValueFormatter in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Implements `Display` for a specific array value"><title>ValueFormatter in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2 [...]
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     formatter: &amp;'a <a class="struct" href="struct.ArrayFormatter.html" title="struct arrow_cast::display::ArrayFormatter">ArrayFormatter</a>&lt;'a&gt;,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Implements <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display"><code>Display</code></a> for a specific array value</p>
-</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.idx" class="structfield small-section-header"><a href="#structfield.idx" class="anchor field">§</a><code>idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.formatter" class="structfield small-section-header"><a href="#structfield.formatter" class="anchor field">§</a> [...]
+</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.idx" class="structfield small-section-header"><a href="#structfield.idx" class="anchor field">§</a><code>idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><span id="structfield.formatter" class="structfield small-section-header"><a href="#structfield.formatter" class="anchor field">§</a> [...]
 <p>Note: this ignores <a href="struct.FormatOptions.html#method.with_display_error" title="method arrow_cast::display::FormatOptions::with_display_error"><code>FormatOptions::with_display_error</code></a> and
 will return an error on formatting issue</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.try_to_string" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#153-157">source</a><h4 class="code-header">pub fn <a href="#method.try_to_string" class="fn">try_to_string</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lan [...]
-</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-ValueFormatter%3C'a%3E" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#160-170">source</a><a href="#impl-Display-for-ValueFormatter%3C'a%3E" class="anchor"> [...]
+</div></details><details class="toggle method-toggle" open><summary><section id="method.try_to_string" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#183-187">source</a><h4 class="code-header">pub fn <a href="#method.try_to_string" class="fn">try_to_string</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lan [...]
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-ValueFormatter%3C'a%3E" class="impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#190-200">source</a><a href="#impl-Display-for-ValueFormatter%3C'a%3E" class="anchor"> [...]
     T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#202">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https: [...]
     T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href [...]
diff --git a/arrow_cast/display/trait.DisplayIndex.html b/arrow_cast/display/trait.DisplayIndex.html
index 0bada7dafc..84b3158263 100644
--- a/arrow_cast/display/trait.DisplayIndex.html
+++ b/arrow_cast/display/trait.DisplayIndex.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`Display` but accepting an index"><title>DisplayIndex in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin hre [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`Display` but accepting an index"><title>DisplayIndex in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin hre [...]
     // Required method
     fn <a href="#tymethod.write" class="fn">write</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rus [...]
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display"><code>Display</code></a> but accepting an index</p>
-</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><section id="tymethod.write" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#308">source</a><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, f: &amp;mut dyn  [...]
\ No newline at end of file
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><section id="tymethod.write" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#338">source</a><h4 class="code-header">fn <a href="#tymethod.write" class="fn">write</a>(&amp;self, idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, f: &amp;mut dyn  [...]
\ No newline at end of file
diff --git a/arrow_cast/display/trait.DisplayIndexState.html b/arrow_cast/display/trait.DisplayIndexState.html
index 4a04cfcb5b..32db0e36b2 100644
--- a/arrow_cast/display/trait.DisplayIndexState.html
+++ b/arrow_cast/display/trait.DisplayIndexState.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`DisplayIndex` with additional state"><title>DisplayIndexState in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crosso [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="`DisplayIndex` with additional state"><title>DisplayIndexState in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crosso [...]
     type <a href="#associatedtype.State" class="associatedtype">State</a>;
 
     // Required methods
@@ -13,156 +13,188 @@
         f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
     ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;;
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="trait.DisplayIndex.html" title="trait arrow_cast::display::DisplayIndex"><code>DisplayIndex</code></a> with additional state</p>
-</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><section id="associatedtype.State" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#313">source</a><h4 class="code-header">type <a href="#associatedtype.State" class="associatedtype">State</a></h4></section></div><h2 id="required-methods" class="small-section-header">Re [...]
+</div></details><h2 id="required-associated-types" class="small-section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><section id="associatedtype.State" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#343">source</a><h4 class="code-header">type <a href="#associatedtype.State" class="associatedtype">State</a></h4></section></div><h2 id="required-methods" class="small-section-header">Re [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="tymethod.write" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#317">source</a><h4 class="code-header">fn <a href= [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="tymethod.write" class="method"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#347">source</a><h4 class="code-header">fn <a href= [...]
     &amp;self,
     state: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§ [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§ [...]
     &amp;self,
-    _options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#425">source</a><a href="#method.write" cl [...]
+    options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#564">source</a><a href="#method.write" cl [...]
+    &amp;self,
+    fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Dictiona [...]
+    &amp;self,
+    options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#763-766">source</a><a href="#method.wri [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Dictiona [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+StructAr [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-1" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#671-674">source</a><a href="#method.wri [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-2" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#839-852">source</a><a href="#method.wri [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+StructAr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-2" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#747-760">source</a><a href="#method.wri [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-3" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#510-515">source</a><a href="#method.wri [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-3" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#533">source</a><a href="#method.write-3 [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-4" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#562">source</a><a href="#method.write-4 [...]
     &amp;self,
     fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+FixedSiz [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+FixedSiz [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-4" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#718-722">source</a><a href="#method.wri [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-5" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#810-814">source</a><a href="#method.wri [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+    &amp;self,
+    options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-6" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#563">source</a><a href="#method.write-6 [...]
+    &amp;self,
+    fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-5" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#534">source</a><a href="#method.write-5 [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-7" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#561">source</a><a href="#method.write-7 [...]
     &amp;self,
     fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+GenericL [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-6" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#701-706">source</a><a href="#method.wri [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-8" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#510-515">source</a><a href="#method.wri [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-7" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#532">source</a><a href="#method.write-7 [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-9" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#641">source</a><a href="#method.write-9 [...]
     &amp;self,
     fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-8" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#480-485">source</a><a href="#method.wri [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-10" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#510-515">source</a><a href="#method.wr [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-9" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#529">source</a><a href="#method.write-9 [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-11" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#639">source</a><a href="#method.write- [...]
     &amp;self,
     fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+GenericL [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-10" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#480-485">source</a><a href="#method.wr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-12" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#793-798">source</a><a href="#method.wr [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+    &amp;self,
+    options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-13" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#640">source</a><a href="#method.write- [...]
+    &amp;self,
+    fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     _options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-11" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#425">source</a><a href="#method.write- [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-14" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#455">source</a><a href="#method.write- [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-12" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#480-485">source</a><a href="#method.wr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-15" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#559">source</a><a href="#method.write- [...]
     &amp;self,
-    s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+MapArray [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-13" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#772-794">source</a><a href="#method.wr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-16" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#642">source</a><a href="#method.write- [...]
     &amp;self,
-    s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-14" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#480-485">source</a><a href="#method.wr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-17" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#560">source</a><a href="#method.write- [...]
     &amp;self,
-    s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+MapArray [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-15" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#531">source</a><a href="#method.write- [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-18" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#864-886">source</a><a href="#method.wr [...]
     &amp;self,
-    fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
+    &amp;self,
+    _options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-19" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#455">source</a><a href="#method.write- [...]
+    &amp;self,
+    s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+Primitiv [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-16" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#530">source</a><a href="#method.write- [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-20" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#510-515">source</a><a href="#method.wr [...]
     &amp;self,
-    fmt: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
+    s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+UnionArr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DisplayIndexState%3C'a%3E-for-%26'a+UnionArr [...]
     &amp;self,
     options: &amp;<a class="struct" href="struct.FormatOptions.html" title="struct arrow_cast::display::FormatOptions">FormatOptions</a>&lt;'a&gt;
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-17" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#818-830">source</a><a href="#method.wr [...]
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>, ArrowError&gt;</h4></section><section id="method.write-21" class="method trait-impl"><a class="src rightside" href="../../src/arrow_cast/display.rs.html#910-922">source</a><a href="#method.wr [...]
     &amp;self,
     s: &amp;Self::<a class="associatedtype" href="trait.DisplayIndexState.html#associatedtype.State" title="type arrow_cast::display::DisplayIndexState::State">State</a>,
     idx: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     f: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Write.html" title="trait core::fmt::Write">Write</a>
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><di [...]
\ No newline at end of file
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="enum.FormatError.html" title="enum arrow_cast::display::FormatError">FormatError</a>&gt;</h4></section></div></details><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><di [...]
\ No newline at end of file
diff --git a/arrow_cast/display/type.FieldDisplay.html b/arrow_cast/display/type.FieldDisplay.html
index 1d9a128cf4..595a5c41e0 100644
--- a/arrow_cast/display/type.FieldDisplay.html
+++ b/arrow_cast/display/type.FieldDisplay.html
@@ -1,2 +1,2 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Pairs a boxed `DisplayIndex` with its field name"><title>FieldDisplay in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Pairs a boxed `DisplayIndex` with its field name"><title>FieldDisplay in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" [...]
 </div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_cast/display/type.FormatResult.html b/arrow_cast/display/type.FormatResult.html
index 8b959ce7fa..065c5aefb7 100644
--- a/arrow_cast/display/type.FormatResult.html
+++ b/arrow_cast/display/type.FormatResult.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `FormatResult` type in crate `arrow_cast`."><title>FormatResult in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `FormatResult` type in crate `arrow_cast`."><title>FormatResult in arrow_cast::display - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as [...]
\ No newline at end of file
diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js
index ce4174dbcd..6cd4085ab0 100644
--- a/implementors/core/clone/trait.Clone.js
+++ b/implementors/core/clone/trait.Clone.js
@@ -3,7 +3,7 @@
 "arrow_arith":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"arrow_arith/numeric/enum.Op.html\" title=\"enum arrow_arith::numeric::Op\">Op</a>"]],
 "arrow_array":[["impl&lt;K: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowDictionaryKeyType.html\" title=\"trait arrow_array::types::ArrowDictionaryKeyType\">ArrowDictionaryKeyType</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"arrow_array/array/dictionary_array/struct.DictionaryArray.html\" title=\"struct arrow_array::array::dictionary_array::Dictionary [...]
 "arrow_buffer":[["impl&lt;E: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> + <a class=\"trait\" href=\"arrow_buffer/native/trait.ArrowNativeType.html\" title=\"trait arrow_buffer::native::ArrowNativeType\">ArrowNativeType</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"arrow_b [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"arrow_cast/display/struct.FormatOptions.html\" title=\"struct arrow_cast::display::FormatOptions\">FormatOptions</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\ [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" hr [...]
 "arrow_csv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"arrow_csv/reader/struct.Format.html\" title=\"struct arrow_csv::reader::Format\">Format</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"arrow_csv/writer/struct.WriterBuilder.h [...]
 "arrow_data":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"arrow_data/transform/enum.Capacities.html\" title=\"enum arrow_data::transform::Capacities\">Capacities</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"arrow_data/dat [...]
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"arrow_flight/sql/gen/enum.SqlSupportedResultSetType.html\" title=\"enum arrow_flight::sql::gen::SqlSupportedResultSetType\">SqlSupportedResultSetType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a  [...]
diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js
index 0dc78377df..78abe127e7 100644
--- a/implementors/core/cmp/trait.Eq.js
+++ b/implementors/core/cmp/trait.Eq.js
@@ -1,7 +1,7 @@
 (function() {var implementors = {
 "arrow_array":[["impl&lt;T: ToByteSlice&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_array/builder/primitive_dictionary_builder/struct.Value.html\" title=\"struct arrow_array::builder::primitive_dictionary_builder::Value\">Value</a>&lt;T&gt;"]],
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_buffer/bigint/struct.i256.html\" title=\"struct arrow_buffer::bigint::i256\">i256</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_buffer/buffer/null/struct.NullBuffer.html\" title=\"stru [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_cast/display/st [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"arrow_cast/display/enum.DurationF [...]
 "arrow_data":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"arrow_data/data/enum.BufferSpec.html\" title=\"enum arrow_data::data::BufferSpec\">BufferSpec</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_data/data/buffers/struct.Buffers.html\" titl [...]
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"arrow_flight/sql/gen/enum.SqlSupportedCaseSensitivity.html\" title=\"enum arrow_flight::sql::gen::SqlSupportedCaseSensitivity\">SqlSupportedCaseSensitivity</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href= [...]
 "arrow_ipc":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"struct\" href=\"arrow_ipc/gen/SparseTensor/struct.SparseMatrixCompressedAxis.html\" title=\"struct arrow_ipc::gen::SparseTensor::SparseMatrixCompressedAxis\">SparseMatrixCompressedAxis</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\" [...]
diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js
index eafd362824..456b5dfa42 100644
--- a/implementors/core/cmp/trait.PartialEq.js
+++ b/implementors/core/cmp/trait.PartialEq.js
@@ -1,7 +1,7 @@
 (function() {var implementors = {
 "arrow_array":[["impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowPrimitiveType.html\" title=\"trait arrow_array::types::ArrowPrimitiveType\">ArrowPrimitiveType</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"struct\" href=\"arrow_array/array/primitive_array/struct.PrimitiveArray.html\" title=\"struct arrow_array::array::primitive_array::PrimitiveArray\">P [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"struct\" href=\"arrow_buffer/bigint/struct.i256.html\" title=\"struct arrow_buffer::bigint::i256\">i256</a>&gt; for <a class=\"struct\" href=\"arrow_buffer/bigint/struct.i256.html\" title=\"struct arrow_buffer::bigint::i256\">i256</a>"],["impl&lt;T: <a class=\"trait\" href=\"arrow_buffer/native/trait.ArrowNativ [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"struct\" href=\"arrow_cast/display/struct.FormatOptions.html\" title=\"struct arrow_cast::display::FormatOptions\">FormatOptions</a>&lt;'a&gt;&gt; for <a class=\"struct\" href=\"arrow_cast/display/struct.FormatOptions.html\" title=\"struct arrow_cast::display::FormatOptions\">FormatOptions</a>&lt;'a&gt; [...]
+"arrow_cast":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"arrow_cast/display/enum.DurationFormat.html\" title=\"enum arrow_cast::display::DurationFormat\">DurationFormat</a>&gt; for <a class=\"enum\" href=\"arrow_cast/display/enum.DurationFormat.html\" title=\"enum arrow_cast::display::DurationFormat\">DurationFormat</a>"],["impl <a class=\"trait\" href=\" [...]
 "arrow_data":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"struct\" href=\"arrow_data/data/struct.DataTypeLayout.html\" title=\"struct arrow_data::data::DataTypeLayout\">DataTypeLayout</a>&gt; for <a class=\"struct\" href=\"arrow_data/data/struct.DataTypeLayout.html\" title=\"struct arrow_data::data::DataTypeLayout\">DataTypeLayout</a>"],["impl&lt;'a&gt; <a class=\"trait [...]
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"arrow_flight/sql/gen/enum.SqlNullOrdering.html\" title=\"enum arrow_flight::sql::gen::SqlNullOrdering\">SqlNullOrdering</a>&gt; for <a class=\"enum\" href=\"arrow_flight/sql/gen/enum.SqlNullOrdering.html\" title=\"enum arrow_flight::sql::gen::SqlNullOrdering\">SqlNullOrdering</a>"],["impl <a class [...]
 "arrow_ipc":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.IntervalUnit.html\" title=\"struct arrow_ipc::gen::Schema::IntervalUnit\">IntervalUnit</a>&gt; for <a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.IntervalUnit.html\" title=\"struct arrow_ipc::gen::Schema::IntervalUnit\">IntervalUnit</a>"],["impl <a class=\"trait\ [...]
diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js
index 3272a7ca88..ce214f367e 100644
--- a/implementors/core/fmt/trait.Debug.js
+++ b/implementors/core/fmt/trait.Debug.js
@@ -3,7 +3,7 @@
 "arrow_arith":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"arrow_arith/numeric/enum.Op.html\" title=\"enum arrow_arith::numeric::Op\">Op</a>"]],
 "arrow_array":[["impl&lt;T: <a class=\"trait\" href=\"arrow_array/types/trait.ArrowDictionaryKeyType.html\" title=\"trait arrow_array::types::ArrowDictionaryKeyType\">ArrowDictionaryKeyType</a>&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"arrow_array/array/dictionary_array/struct.DictionaryArray.html\" title=\"struct arrow_array::array::dictionary_array::DictionaryArra [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"arrow_buffer/builder/null/struct.NullBufferBuilder.html\" title=\"struct arrow_buffer::builder::null::NullBufferBuilder\">NullBufferBuilder</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"arr [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"arrow_cast/disp [...]
 "arrow_csv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"arrow_csv/reader/records/struct.RecordDecoder.html\" title=\"struct arrow_csv::reader::records::RecordDecoder\">RecordDecoder</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\ [...]
 "arrow_data":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"arrow_data/transform/struct._MutableArrayData.html\" title=\"struct arrow_data::transform::_MutableArrayData\">_MutableArrayData</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"s [...]
 "arrow_file_to_stream":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"arrow_file_to_stream/struct.Args.html\" title=\"struct arrow_file_to_stream::Args\">Args</a>"]],
diff --git a/implementors/core/hash/trait.Hash.js b/implementors/core/hash/trait.Hash.js
index d5ecd9228b..8e2bf443cc 100644
--- a/implementors/core/hash/trait.Hash.js
+++ b/implementors/core/hash/trait.Hash.js
@@ -1,7 +1,7 @@
 (function() {var implementors = {
 "arrow_array":[["impl&lt;T: ToByteSlice&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_array/builder/primitive_dictionary_builder/struct.Value.html\" title=\"struct arrow_array::builder::primitive_dictionary_builder::Value\">Value</a>&lt;T&gt;"]],
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_buffer/bigint/struct.i256.html\" title=\"struct arrow_buffer::bigint::i256\">i256</a>"]],
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_cast/display/struct.FormatOptions.html\" title=\"struct arrow_cast::display::FormatOptions\">FormatOptions</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"arrow [...]
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"enum\" href=\"arrow_flight/sql/gen/enum.SqlSupportedCaseSensitivity.html\" title=\"enum arrow_flight::sql::gen::SqlSupportedCaseSensitivity\">SqlSupportedCaseSensitivity</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a clas [...]
 "arrow_ipc":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.IntervalUnit.html\" title=\"struct arrow_ipc::gen::Schema::IntervalUnit\">IntervalUnit</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_ipc/gen/Message/ [...]
 "arrow_row":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_row/struct.OwnedRow.html\" title=\"struct arrow_row::OwnedRow\">OwnedRow</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html\" title=\"trait core::hash::Hash\">Hash</a> for <a class=\"struct\" href=\"arrow_row/interner/struct.Interned.html\" title=\"struct a [...]
diff --git a/implementors/core/marker/trait.Copy.js b/implementors/core/marker/trait.Copy.js
index c26e24ceab..b5518263a1 100644
--- a/implementors/core/marker/trait.Copy.js
+++ b/implementors/core/marker/trait.Copy.js
@@ -2,7 +2,7 @@
 "arrow_arith":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_arith/numeric/enum.Op.html\" title=\"enum arrow_arith::numeric::Op\">Op</a>"]],
 "arrow_array":[["impl&lt;'a, R: <a class=\"trait\" href=\"arrow_array/types/trait.RunEndIndexType.html\" title=\"trait arrow_array::types::RunEndIndexType\">RunEndIndexType</a>, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"arrow_array/array/run_array/struct.TypedRunArray.html\" title=\"struct arrow_array::array::run_array::TypedRunArray\">TypedRunArray</a>&lt;'a,  [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"arrow_buffer/bigint/struct.i256.html\" title=\"struct arrow_buffer::bigint::i256\">i256</a>"]],
-"arrow_cast":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_cast/parse/enum.IntervalUnit.html\" title=\"enum arrow_cast::parse::IntervalUnit\">IntervalUnit</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"arrow_cast/parse/struct.Inte [...]
+"arrow_cast":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_cast/display/enum.DurationFormat.html\" title=\"enum arrow_cast::display::DurationFormat\">DurationFormat</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_cast/parse/enu [...]
 "arrow_csv":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"arrow_csv/reader/records/struct.StringRecord.html\" title=\"struct arrow_csv::reader::records::StringRecord\">StringRecord</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"st [...]
 "arrow_data":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"arrow_data/data/buffers/struct.Buffers.html\" title=\"struct arrow_data::data::buffers::Buffers\">Buffers</a>&lt;'a&gt;"]],
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_flight/sql/gen/enum.Nullable.html\" title=\"enum arrow_flight::sql::gen::Nullable\">Nullable</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"arrow_flight/sql/gen/enum.SqlTr [...]
diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js
index 04844bf3bf..8caba94365 100644
--- a/implementors/core/marker/trait.Freeze.js
+++ b/implementors/core/marker/trait.Freeze.js
@@ -3,7 +3,7 @@
 "arrow_arith":[["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"arrow_arith/aggregate/simd/struct.SumAggregate.html\" title=\"struct arrow_arith::aggregate::simd::SumAggregate\">SumAggregate</a>&lt;T&gt;",1,["arrow_arith::aggregate::simd::SumAggregate"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freez [...]
 "arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"arrow_array/array/boolean_array/struct.BooleanArray.html\" title=\"struct arrow_array::array::boolean_array::BooleanArray\">BooleanArray</a>",1,["arrow_array::array::boolean_array::BooleanArray"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.h [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"arrow_buffer/alloc/enum.Deallocation.html\" title=\"enum arrow_buffer::alloc::Deallocation\">Deallocation</a>",1,["arrow_buffer::alloc::Deallocation"]],["impl&lt;O&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Fre [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker:: [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">F [...]
 "arrow_csv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"arrow_csv/reader/records/struct.RecordDecoder.html\" title=\"struct arrow_csv::reader::records::RecordDecoder\">RecordDecoder</a>",1,["arrow_csv::reader::records::RecordDecoder"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trai [...]
 "arrow_data":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"arrow_data/data/buffers/struct.Buffers.html\" title=\"struct arrow_data::data::buffers::Buffers\">Buffers</a>&lt;'a&gt;",1,["arrow_data::data::buffers::Buffers"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core [...]
 "arrow_file_to_stream":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"arrow_file_to_stream/struct.Args.html\" title=\"struct arrow_file_to_stream::Args\">Args</a>",1,["arrow_file_to_stream::Args"]]],
diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js
index 19c8707b51..eb7f8a0408 100644
--- a/implementors/core/marker/trait.Send.js
+++ b/implementors/core/marker/trait.Send.js
@@ -3,7 +3,7 @@
 "arrow_arith":[["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"arrow_arith/aggregate/simd/struct.SumAggregate.html\" title=\"struct arrow_arith::aggregate::simd::SumAggregate\">SumAggregate</a>&lt;T&gt;<span class=\"where fmt-newline\">where\n    T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core: [...]
 "arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"arrow_array/array/boolean_array/struct.BooleanArray.html\" title=\"struct arrow_array::array::boolean_array::BooleanArray\">BooleanArray</a>",1,["arrow_array::array::boolean_array::BooleanArray"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" ti [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"arrow_buffer/alloc/enum.Deallocation.html\" title=\"enum arrow_buffer::alloc::Deallocation\">Deallocation</a>",1,["arrow_buffer::alloc::Deallocation"]],["impl&lt;O&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for  [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">S [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> fo [...]
 "arrow_csv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"arrow_csv/reader/records/struct.RecordDecoder.html\" title=\"struct arrow_csv::reader::records::RecordDecoder\">RecordDecoder</a>",1,["arrow_csv::reader::records::RecordDecoder"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core:: [...]
 "arrow_data":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"arrow_data/data/buffers/struct.Buffers.html\" title=\"struct arrow_data::data::buffers::Buffers\">Buffers</a>&lt;'a&gt;",1,["arrow_data::data::buffers::Buffers"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker [...]
 "arrow_file_to_stream":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"arrow_file_to_stream/struct.Args.html\" title=\"struct arrow_file_to_stream::Args\">Args</a>",1,["arrow_file_to_stream::Args"]]],
diff --git a/implementors/core/marker/trait.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js
index 6e68198f90..bfa934d044 100644
--- a/implementors/core/marker/trait.StructuralEq.js
+++ b/implementors/core/marker/trait.StructuralEq.js
@@ -1,6 +1,6 @@
 (function() {var implementors = {
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"arrow_buffer/buffer/null/struct.NullBuffer.html\" title=\"struct arrow_buffer::buffer::null::NullBuffer\">NullBuffer</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">Structura [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"arrow_cast/display/struct.FormatOptions.html\" title=\"struct arrow_cast::display::FormatOptions\">FormatOptions</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker:: [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq [...]
 "arrow_data":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"arrow_data/data/struct.DataTypeLayout.html\" title=\"struct arrow_data::data::DataTypeLayout\">DataTypeLayout</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">Structur [...]
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"arrow_flight/sql/gen/enum.XdbcDatetimeSubcode.html\" title=\"enum arrow_flight::sql::gen::XdbcDatetimeSubcode\">XdbcDatetimeSubcode</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralE [...]
 "arrow_ipc":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"struct\" href=\"arrow_ipc/gen/Message/struct.MessageHeader.html\" title=\"struct arrow_ipc::gen::Message::MessageHeader\">MessageHeader</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">Structura [...]
diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js
index fcf9d3ed09..cdfa9e5708 100644
--- a/implementors/core/marker/trait.StructuralPartialEq.js
+++ b/implementors/core/marker/trait.StructuralPartialEq.js
@@ -1,7 +1,7 @@
 (function() {var implementors = {
 "arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"arrow_array/record_batch/struct.RecordBatch.html\" title=\"struct arrow_array::record_batch::RecordBatch\">RecordBatch</a>"]],
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"arrow_buffer/bigint/struct.i256.html\" title=\"struct arrow_buffer::bigint::i256\">i256</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">Str [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::ma [...]
+"arrow_cast":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"arrow_cast/display/enum.DurationFormat.html\" title=\"enum arrow_cast::display::DurationFormat\">DurationFormat</a>"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::mar [...]
 "arrow_data":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"arrow_data/data/enum.BufferSpec.html\" title=\"enum arrow_data::data::BufferSpec\">BufferSpec</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">S [...]
 "arrow_flight":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"arrow_flight/gen/struct.SchemaResult.html\" title=\"struct arrow_flight::gen::SchemaResult\">SchemaResult</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::Structu [...]
 "arrow_ipc":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"struct\" href=\"arrow_ipc/gen/Schema/struct.Bool.html\" title=\"struct arrow_ipc::gen::Schema::Bool\">Bool</a>&lt;'a&gt;"],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::mar [...]
diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js
index 989503daf0..a04a8c650f 100644
--- a/implementors/core/marker/trait.Sync.js
+++ b/implementors/core/marker/trait.Sync.js
@@ -3,7 +3,7 @@
 "arrow_arith":[["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"arrow_arith/aggregate/simd/struct.SumAggregate.html\" title=\"struct arrow_arith::aggregate::simd::SumAggregate\">SumAggregate</a>&lt;T&gt;<span class=\"where fmt-newline\">where\n    T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core: [...]
 "arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"arrow_array/array/boolean_array/struct.BooleanArray.html\" title=\"struct arrow_array::array::boolean_array::BooleanArray\">BooleanArray</a>",1,["arrow_array::array::boolean_array::BooleanArray"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" ti [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"arrow_buffer/alloc/enum.Deallocation.html\" title=\"enum arrow_buffer::alloc::Deallocation\">Deallocation</a>",1,["arrow_buffer::alloc::Deallocation"]],["impl&lt;O&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for  [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">S [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> fo [...]
 "arrow_csv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"arrow_csv/reader/records/struct.RecordDecoder.html\" title=\"struct arrow_csv::reader::records::RecordDecoder\">RecordDecoder</a>",1,["arrow_csv::reader::records::RecordDecoder"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core:: [...]
 "arrow_data":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"arrow_data/data/buffers/struct.Buffers.html\" title=\"struct arrow_data::data::buffers::Buffers\">Buffers</a>&lt;'a&gt;",1,["arrow_data::data::buffers::Buffers"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker [...]
 "arrow_file_to_stream":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"arrow_file_to_stream/struct.Args.html\" title=\"struct arrow_file_to_stream::Args\">Args</a>",1,["arrow_file_to_stream::Args"]]],
diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js
index 50c4bd2a19..7da27b8c91 100644
--- a/implementors/core/marker/trait.Unpin.js
+++ b/implementors/core/marker/trait.Unpin.js
@@ -3,7 +3,7 @@
 "arrow_arith":[["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"arrow_arith/aggregate/simd/struct.SumAggregate.html\" title=\"struct arrow_arith::aggregate::simd::SumAggregate\">SumAggregate</a>&lt;T&gt;<span class=\"where fmt-newline\">where\n    T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait c [...]
 "arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"arrow_array/array/boolean_array/struct.BooleanArray.html\" title=\"struct arrow_array::array::boolean_array::BooleanArray\">BooleanArray</a>",1,["arrow_array::array::boolean_array::BooleanArray"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\ [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"arrow_buffer/alloc/enum.Deallocation.html\" title=\"enum arrow_buffer::alloc::Deallocation\">Deallocation</a>",1,["arrow_buffer::alloc::Deallocation"]],["impl&lt;O&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpi [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin< [...]
 "arrow_csv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"arrow_csv/reader/records/struct.RecordDecoder.html\" title=\"struct arrow_csv::reader::records::RecordDecoder\">RecordDecoder</a>",1,["arrow_csv::reader::records::RecordDecoder"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait co [...]
 "arrow_data":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"arrow_data/data/buffers/struct.Buffers.html\" title=\"struct arrow_data::data::buffers::Buffers\">Buffers</a>&lt;'a&gt;",1,["arrow_data::data::buffers::Buffers"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::ma [...]
 "arrow_file_to_stream":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"arrow_file_to_stream/struct.Args.html\" title=\"struct arrow_file_to_stream::Args\">Args</a>",1,["arrow_file_to_stream::Args"]]],
diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
index 2da13d4efe..35407a6dd5 100644
--- a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
+++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
@@ -3,7 +3,7 @@
 "arrow_arith":[["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"arrow_arith/aggregate/simd/struct.SumAggregate.html\" title=\"struct arrow_arith::aggregate::simd::SumAggregate\">SumAggregate</a>&lt;T&gt;<span class=\"where fmt-newline\">where\n    T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly [...]
 "arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"arrow_array/array/boolean_array/struct.BooleanArray.html\" title=\"struct arrow_array::array::boolean_array::BooleanArray\">BooleanArray</a>",1,["arrow_array::array::boolean_array::BooleanArray"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"arrow_buffer/alloc/enum.Deallocation.html\" title=\"enum arrow_buffer::alloc::Deallocation\">Deallocation</a>",1,["arrow_buffer::alloc::Deallocation"]],["impl&lt;O&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwin [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/tra [...]
 "arrow_csv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"arrow_csv/reader/records/struct.RecordDecoder.html\" title=\"struct arrow_csv::reader::records::RecordDecoder\">RecordDecoder</a>",1,["arrow_csv::reader::records::RecordDecoder"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/ [...]
 "arrow_data":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"arrow_data/data/buffers/struct.Buffers.html\" title=\"struct arrow_data::data::buffers::Buffers\">Buffers</a>&lt;'a&gt;",1,["arrow_data::data::buffers::Buffers"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/p [...]
 "arrow_file_to_stream":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"arrow_file_to_stream/struct.Args.html\" title=\"struct arrow_file_to_stream::Args\">Args</a>",1,["arrow_file_to_stream::Args"]]],
diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
index f88109bba5..d3779539ad 100644
--- a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
+++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
@@ -3,7 +3,7 @@
 "arrow_arith":[["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"arrow_arith/aggregate/simd/struct.SumAggregate.html\" title=\"struct arrow_arith::aggregate::simd::SumAggregate\">SumAggregate</a>&lt;T&gt;<span class=\"where fmt-newline\">where\n    T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/pan [...]
 "arrow_array":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"arrow_array/array/boolean_array/struct.BooleanArray.html\" title=\"struct arrow_array::array::boolean_array::BooleanArray\">BooleanArray</a>",1,["arrow_array::array::boolean_array::BooleanArray"]],["impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org [...]
 "arrow_buffer":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"arrow_buffer/alloc/enum.Deallocation.html\" title=\"enum arrow_buffer::alloc::Deallocation\">Deallocation</a>",1,["arrow_buffer::alloc::Deallocation"]],["impl&lt;O&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSa [...]
-"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/tr [...]
+"arrow_cast":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"arrow_cast/cast/struct.CastOptions.html\" title=\"struct arrow_cast::cast::CastOptions\">CastOptions</a>&lt;'a&gt;",1,["arrow_cast::cast::CastOptions"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.Unwind [...]
 "arrow_csv":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"arrow_csv/reader/records/struct.RecordDecoder.html\" title=\"struct arrow_csv::reader::records::RecordDecoder\">RecordDecoder</a>",1,["arrow_csv::reader::records::RecordDecoder"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/pani [...]
 "arrow_data":[["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"arrow_data/data/buffers/struct.Buffers.html\" title=\"struct arrow_data::data::buffers::Buffers\">Buffers</a>&lt;'a&gt;",1,["arrow_data::data::buffers::Buffers"]],["impl&lt;'a&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwi [...]
 "arrow_file_to_stream":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"arrow_file_to_stream/struct.Args.html\" title=\"struct arrow_file_to_stream::Args\">Args</a>",1,["arrow_file_to_stream::Args"]]],
diff --git a/search-index.js b/search-index.js
index 60890edf54..f40a165279 100644
--- a/search-index.js
+++ b/search-index.js
@@ -1,9 +1,9 @@
 var searchIndex = JSON.parse('{\
-"arrow":{"doc":"A complete, safe, native Rust implementation of Apache …","t":"AAAACAOOAAACCAACAAARININIIDDGDGIINGGGGNDDDGDEESSSDGGGGGGGGGGGGNDGGGGGGGGGGGGGDDGDDGNGGGGGGGGGGGGDDDDDGDGGGSGGGGGGGGGGGGGGGGGGGGGGGGGGGGQGGGGGGGGGGNGGDGDDDQDDDISDDDGDDGGGGNDDGGGGGGGGGGGGGGGGGGGGGGGGDDGGGGGGGGGGGGGGGGDDNMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMKKLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLFKLLKLFLFKLLFKLFFFFLFKLLFKLFLFKLFLLLLLFLLFKLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL [...]
+"arrow":{"doc":"A complete, safe, native Rust implementation of Apache …","t":"AAAACAOOAAACCAACAAARININIIDDGDGIINGGGGNDDDGDEESSSDGGGGGGGGGGGGNDGGGGGGGGGGGGGDDGDDGNGGGGGGGGGGGGDDDDDGDGGGSGGGGGGGGGGGGGGGGGGGGGGGGGGGGQGGGGGGGGGGNGGDGDDDQDDDISDDDGDDGGGGNDDGGGGGGGGGGGGGGGGGGGGGGGGDDGGGGGGGGGGGGGGGGDDNMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMKKLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLFKLLKLFLFKLLFKLFFFFLFKLLFKLFLFKLFLLLLLFLLFKLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL [...]
 "arrow_arith":{"doc":"Arrow arithmetic and aggregation kernels","t":"AAAAAAFOFFFFFFFFFFFFFFFFFAFFFFDDQQIDKLLLKLLLKLLLLLLLLLLLLLLLLLLKLLLKLLLLLLMMMKLLLFLLLLLLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFNNINQINNENNNIFKKKKKFKKFLLLLLLOFFFFFLLLLFFLFFFOFOOOFFKKKKKFKKOFLLLLOOLIFFFFFFFFFFFFFFFFFFFFKFFKFFKKFOFFFFFFFFF","n":["aggregate","arity","bitwise","boolean","numeric","temporal","bit_and","bit_operation","bit_or","bit_xor","bool_and","bool_or","is_nan","max","max_array","max_binary","max_boolean" [...]
 "arrow_array":{"doc":"The central type in Apache Arrow are arrays, which are a …","t":"IIISDDDIIDQQSKKAAKAAKMKAKKOOOOOOOOKKKKKMMKKAKKKKKKKKKKKMKKKKKKKAKKAMMAAKMKKAAAAKKKISSKKKKKKLLLLLLLLLLKKKKKOOKKKKKKIIGCGDGGGGDGGGGDDGGGGDDGSGGGGGGGGGGGGGGQGGGGDDDISDDGDGGGGGGGGDDGGGGGGGGDKLLLLLLLLLLLLLLLLLAAAKLMMMMMMMMMMMAMLLMMAALLKLKLFKLKLLLMLLMKLMMMMAFAMFFALLKLMMMMMMMMKLMAFAMMKLAAKLMAKMMMMMMMKMMMMMMMMGGGLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMSDLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLL [...]
 "arrow_buffer":{"doc":"Low-level buffer abstractions for Apache Arrow Rust","t":"IIAKAAAAAAAAKMDMAKKKKARINENALLLLLLLLRENNSSSSDSLLLLLLLLLLLLLLLLLLLLLLLLLOOLLLLLLLLLLLLLLLLLLLLLLLLLLMDLLLLLMLFLFLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDGMMMMMMMMMMMMMDDDMMMMMMMMMMFFFFFFFFFFFDDDDDDDFFFAMMMFFFFMMAMMMMMAAMAMMAMMAMADLLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLDLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLDDLLLLLLLLLLLFMLLLLLLLLLLLLLLLLLLLLLLLMLMMMLLLLLLLLLLLLLLLLLLLLLLLDLLLMLLLLLLLLLLLLLLLLLLL [...]
-"arrow_cast":{"doc":"Cast kernel for Apache Arrow","t":"AAAADIFFFLLFFLFFFFFFFFFFFFFFFFFFFOFFFFFFFFFFFFFFLLFFLFLLLLMLLKLLFFFFFFFMFFKKLLLFLFFDDNIIGNEDGQGDMFFLLLLLLLLLLLLLLLLLFMMOLOLLLLLMMLLLLLLLLLLLLLMLLLLLFFMMKOMMMOMOMMLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLFFNNNRRNRDDDENNNNGRRRRNINDNNLLLLLLLLLLLLLLLLLLLLLMLMMLLLLMLLLLLLLLLLLLMLLLLLMMMLLLKLFFLFFFFFOFFFFLLLLLLFLLLLLLLLLLLLLLLLFFFFFFFF","n":["cast","display","parse","pretty","CastOptions","DecimalCast","adjust_timestamp_to_timezone","as_time_res_wi [...]
+"arrow_cast":{"doc":"Cast kernel for Apache Arrow","t":"AAAADIFFFLLFFLFFFFFFFFFFFFFFFFFFFOFFFFFFFFFFFFFFLLFFLFLLLLMLLKLLFFFFFFFMFFKKLLLFLFFDDNIIEGNEDGNNQGDMFFLLLLLLLLLLLLLLLLLLLLLLFMMOLOOMLLLLLLLLLMMLLLLLLLLLLLLLLLLMLLLLLLFFLMMKOMMMOMOMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLFFNNNRRNRDDDENNNNGRRRRNINDNNLLLLLLLLLLLLLLLLLLLLLMLMMLLLLMLLLLLLLLLLLLMLLLLLMMMLLLKLFFLFFFFFOFFFFLLLLLLFLLLLLLLLLLLLLLLLFFFFFFFF","n":["cast","display","parse","pretty","CastOptions","DecimalCast","adjust_timestamp_to_t [...]
 "arrow_csv":{"doc":"Transfer data between the Arrow memory format and CSV …","t":"CCCCCFAAGDDDDDGDMMMLLLLLLLLLLLLMLFLFLLFLFFLLLLLLLLLLLLMLLMLMMLLLLLMLLLLLLLLLLLLLLMFFLFLLLLLLLMLLMFFMMMLMMALLLMMMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRRDDDLLLLLLLLLLLLMMMMMLMLLLLLLLLLLLLLLLLLLLMLMMMMMMMMLLLLLLLLLLRRRRRDDMLLLLLLLLLLMMMMLMLLLLLLLMMLLLLLMMMMMMMMLLLLLLLLLLLLLLLLM","n":["Reader","ReaderBuilder","Writer","WriterBuilder","infer_schema_from_files","map_csv_error","reader","writer","Bounds","BufReader" [...]
 "arrow_data":{"doc":"Low-level array data abstractions for Apache Arrow Rust","t":"NDDGNEDDNDNAAMMMMMMAMMAAAFMMMMMMMMAMDDDLLLLLLMMMMMMMLLLLLLLLLLLMMMLLLLLLLFLLLLLLLLLFNDDGNEDNNLLLLLLLLLLLALLMMMLLLMLLLLMMLLFFLLMMLLLLLLLLLLLLLLLLLLLLLLLFLLLLFLLMMLLFLLLLLLMLLMLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMDDGLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRRRRRRRRRFFAAFFFAAAAAAAAAAFFFFFFFRFFFFFFFFFFFFFDDFLLLLLMMMLMMLMMLLLLLLLLLLMMMLLMLLLMMMFLLLLLLNNENGGGNDNDMALLLLLLMMFFFFMLLMMMLMLMMAALLLLLLLLLLLLLLMALALMLMFAALLLLLL [...]
 "arrow_file_to_stream":{"doc":"","t":"DLLLLLLLMLLLLLLLFLLLLLL","n":["Args","augment_args","augment_args_for_update","borrow","borrow_mut","cast","command","command_for_update","file_name","fmt","from","from_arg_matches","from_arg_matches_mut","from_cast","group_id","into","main","try_from","try_into","type_id","update_from_arg_matches","update_from_arg_matches_mut","vzip"],"q":[[0,"arrow_file_to_stream"]],"d":["","","","","","","","","","","Returns the argument unchanged.","","","","","C [...]
diff --git a/src/arrow_cast/cast.rs.html b/src/arrow_cast/cast.rs.html
index 814bd33b6b..0609900344 100644
--- a/src/arrow_cast/cast.rs.html
+++ b/src/arrow_cast/cast.rs.html
@@ -8960,6 +8960,16 @@
 <a href="#8960" id="8960">8960</a>
 <a href="#8961" id="8961">8961</a>
 <a href="#8962" id="8962">8962</a>
+<a href="#8963" id="8963">8963</a>
+<a href="#8964" id="8964">8964</a>
+<a href="#8965" id="8965">8965</a>
+<a href="#8966" id="8966">8966</a>
+<a href="#8967" id="8967">8967</a>
+<a href="#8968" id="8968">8968</a>
+<a href="#8969" id="8969">8969</a>
+<a href="#8970" id="8970">8970</a>
+<a href="#8971" id="8971">8971</a>
+<a href="#8972" id="8972">8972</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -17921,5 +17931,15 @@
         <span class="macro">assert_eq!</span>(formatted.value(<span class="number">0</span>).to_string(), <span class="string">&quot;[[1], [2], [3]]&quot;</span>);
         <span class="macro">assert_eq!</span>(formatted.value(<span class="number">1</span>).to_string(), <span class="string">&quot;[[4], [null], [6]]&quot;</span>);
     }
+
+    <span class="kw">const </span>CAST_OPTIONS: CastOptions&lt;<span class="lifetime">&#39;static</span>&gt; = CastOptions {
+        safe: <span class="bool-val">true</span>,
+        format_options: FormatOptions::new(),
+    };
+
+    <span class="attr">#[test]
+    </span><span class="kw">fn </span>test_const_options() {
+        <span class="macro">assert!</span>(CAST_OPTIONS.safe)
+    }
 }
 </code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/src/arrow_cast/display.rs.html b/src/arrow_cast/display.rs.html
index b7629852de..07f6e1bfee 100644
--- a/src/arrow_cast/display.rs.html
+++ b/src/arrow_cast/display.rs.html
@@ -909,6 +909,194 @@
 <a href="#909" id="909">909</a>
 <a href="#910" id="910">910</a>
 <a href="#911" id="911">911</a>
+<a href="#912" id="912">912</a>
+<a href="#913" id="913">913</a>
+<a href="#914" id="914">914</a>
+<a href="#915" id="915">915</a>
+<a href="#916" id="916">916</a>
+<a href="#917" id="917">917</a>
+<a href="#918" id="918">918</a>
+<a href="#919" id="919">919</a>
+<a href="#920" id="920">920</a>
+<a href="#921" id="921">921</a>
+<a href="#922" id="922">922</a>
+<a href="#923" id="923">923</a>
+<a href="#924" id="924">924</a>
+<a href="#925" id="925">925</a>
+<a href="#926" id="926">926</a>
+<a href="#927" id="927">927</a>
+<a href="#928" id="928">928</a>
+<a href="#929" id="929">929</a>
+<a href="#930" id="930">930</a>
+<a href="#931" id="931">931</a>
+<a href="#932" id="932">932</a>
+<a href="#933" id="933">933</a>
+<a href="#934" id="934">934</a>
+<a href="#935" id="935">935</a>
+<a href="#936" id="936">936</a>
+<a href="#937" id="937">937</a>
+<a href="#938" id="938">938</a>
+<a href="#939" id="939">939</a>
+<a href="#940" id="940">940</a>
+<a href="#941" id="941">941</a>
+<a href="#942" id="942">942</a>
+<a href="#943" id="943">943</a>
+<a href="#944" id="944">944</a>
+<a href="#945" id="945">945</a>
+<a href="#946" id="946">946</a>
+<a href="#947" id="947">947</a>
+<a href="#948" id="948">948</a>
+<a href="#949" id="949">949</a>
+<a href="#950" id="950">950</a>
+<a href="#951" id="951">951</a>
+<a href="#952" id="952">952</a>
+<a href="#953" id="953">953</a>
+<a href="#954" id="954">954</a>
+<a href="#955" id="955">955</a>
+<a href="#956" id="956">956</a>
+<a href="#957" id="957">957</a>
+<a href="#958" id="958">958</a>
+<a href="#959" id="959">959</a>
+<a href="#960" id="960">960</a>
+<a href="#961" id="961">961</a>
+<a href="#962" id="962">962</a>
+<a href="#963" id="963">963</a>
+<a href="#964" id="964">964</a>
+<a href="#965" id="965">965</a>
+<a href="#966" id="966">966</a>
+<a href="#967" id="967">967</a>
+<a href="#968" id="968">968</a>
+<a href="#969" id="969">969</a>
+<a href="#970" id="970">970</a>
+<a href="#971" id="971">971</a>
+<a href="#972" id="972">972</a>
+<a href="#973" id="973">973</a>
+<a href="#974" id="974">974</a>
+<a href="#975" id="975">975</a>
+<a href="#976" id="976">976</a>
+<a href="#977" id="977">977</a>
+<a href="#978" id="978">978</a>
+<a href="#979" id="979">979</a>
+<a href="#980" id="980">980</a>
+<a href="#981" id="981">981</a>
+<a href="#982" id="982">982</a>
+<a href="#983" id="983">983</a>
+<a href="#984" id="984">984</a>
+<a href="#985" id="985">985</a>
+<a href="#986" id="986">986</a>
+<a href="#987" id="987">987</a>
+<a href="#988" id="988">988</a>
+<a href="#989" id="989">989</a>
+<a href="#990" id="990">990</a>
+<a href="#991" id="991">991</a>
+<a href="#992" id="992">992</a>
+<a href="#993" id="993">993</a>
+<a href="#994" id="994">994</a>
+<a href="#995" id="995">995</a>
+<a href="#996" id="996">996</a>
+<a href="#997" id="997">997</a>
+<a href="#998" id="998">998</a>
+<a href="#999" id="999">999</a>
+<a href="#1000" id="1000">1000</a>
+<a href="#1001" id="1001">1001</a>
+<a href="#1002" id="1002">1002</a>
+<a href="#1003" id="1003">1003</a>
+<a href="#1004" id="1004">1004</a>
+<a href="#1005" id="1005">1005</a>
+<a href="#1006" id="1006">1006</a>
+<a href="#1007" id="1007">1007</a>
+<a href="#1008" id="1008">1008</a>
+<a href="#1009" id="1009">1009</a>
+<a href="#1010" id="1010">1010</a>
+<a href="#1011" id="1011">1011</a>
+<a href="#1012" id="1012">1012</a>
+<a href="#1013" id="1013">1013</a>
+<a href="#1014" id="1014">1014</a>
+<a href="#1015" id="1015">1015</a>
+<a href="#1016" id="1016">1016</a>
+<a href="#1017" id="1017">1017</a>
+<a href="#1018" id="1018">1018</a>
+<a href="#1019" id="1019">1019</a>
+<a href="#1020" id="1020">1020</a>
+<a href="#1021" id="1021">1021</a>
+<a href="#1022" id="1022">1022</a>
+<a href="#1023" id="1023">1023</a>
+<a href="#1024" id="1024">1024</a>
+<a href="#1025" id="1025">1025</a>
+<a href="#1026" id="1026">1026</a>
+<a href="#1027" id="1027">1027</a>
+<a href="#1028" id="1028">1028</a>
+<a href="#1029" id="1029">1029</a>
+<a href="#1030" id="1030">1030</a>
+<a href="#1031" id="1031">1031</a>
+<a href="#1032" id="1032">1032</a>
+<a href="#1033" id="1033">1033</a>
+<a href="#1034" id="1034">1034</a>
+<a href="#1035" id="1035">1035</a>
+<a href="#1036" id="1036">1036</a>
+<a href="#1037" id="1037">1037</a>
+<a href="#1038" id="1038">1038</a>
+<a href="#1039" id="1039">1039</a>
+<a href="#1040" id="1040">1040</a>
+<a href="#1041" id="1041">1041</a>
+<a href="#1042" id="1042">1042</a>
+<a href="#1043" id="1043">1043</a>
+<a href="#1044" id="1044">1044</a>
+<a href="#1045" id="1045">1045</a>
+<a href="#1046" id="1046">1046</a>
+<a href="#1047" id="1047">1047</a>
+<a href="#1048" id="1048">1048</a>
+<a href="#1049" id="1049">1049</a>
+<a href="#1050" id="1050">1050</a>
+<a href="#1051" id="1051">1051</a>
+<a href="#1052" id="1052">1052</a>
+<a href="#1053" id="1053">1053</a>
+<a href="#1054" id="1054">1054</a>
+<a href="#1055" id="1055">1055</a>
+<a href="#1056" id="1056">1056</a>
+<a href="#1057" id="1057">1057</a>
+<a href="#1058" id="1058">1058</a>
+<a href="#1059" id="1059">1059</a>
+<a href="#1060" id="1060">1060</a>
+<a href="#1061" id="1061">1061</a>
+<a href="#1062" id="1062">1062</a>
+<a href="#1063" id="1063">1063</a>
+<a href="#1064" id="1064">1064</a>
+<a href="#1065" id="1065">1065</a>
+<a href="#1066" id="1066">1066</a>
+<a href="#1067" id="1067">1067</a>
+<a href="#1068" id="1068">1068</a>
+<a href="#1069" id="1069">1069</a>
+<a href="#1070" id="1070">1070</a>
+<a href="#1071" id="1071">1071</a>
+<a href="#1072" id="1072">1072</a>
+<a href="#1073" id="1073">1073</a>
+<a href="#1074" id="1074">1074</a>
+<a href="#1075" id="1075">1075</a>
+<a href="#1076" id="1076">1076</a>
+<a href="#1077" id="1077">1077</a>
+<a href="#1078" id="1078">1078</a>
+<a href="#1079" id="1079">1079</a>
+<a href="#1080" id="1080">1080</a>
+<a href="#1081" id="1081">1081</a>
+<a href="#1082" id="1082">1082</a>
+<a href="#1083" id="1083">1083</a>
+<a href="#1084" id="1084">1084</a>
+<a href="#1085" id="1085">1085</a>
+<a href="#1086" id="1086">1086</a>
+<a href="#1087" id="1087">1087</a>
+<a href="#1088" id="1088">1088</a>
+<a href="#1089" id="1089">1089</a>
+<a href="#1090" id="1090">1090</a>
+<a href="#1091" id="1091">1091</a>
+<a href="#1092" id="1092">1092</a>
+<a href="#1093" id="1093">1093</a>
+<a href="#1094" id="1094">1094</a>
+<a href="#1095" id="1095">1095</a>
+<a href="#1096" id="1096">1096</a>
+<a href="#1097" id="1097">1097</a>
+<a href="#1098" id="1098">1098</a>
+<a href="#1099" id="1099">1099</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -945,6 +1133,16 @@
 
 <span class="kw">type </span>TimeFormat&lt;<span class="lifetime">&#39;a</span>&gt; = <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;;
 
+<span class="doccomment">/// Format for displaying durations
+</span><span class="attr">#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
+#[non_exhaustive]
+</span><span class="kw">pub enum </span>DurationFormat {
+    <span class="doccomment">/// ISO 8601 - `P198DT72932.972880S`
+    </span>ISO8601,
+    <span class="doccomment">/// A human readable representation - `198 days 16 hours 34 mins 15.407810000 secs`
+    </span>Pretty,
+}
+
 <span class="doccomment">/// Options for formatting arrays
 ///
 /// By default nulls are formatted as `&quot;&quot;` and temporal types formatted
@@ -967,10 +1165,18 @@
     </span>timestamp_tz_format: TimeFormat&lt;<span class="lifetime">&#39;a</span>&gt;,
     <span class="doccomment">/// Time format for time arrays
     </span>time_format: TimeFormat&lt;<span class="lifetime">&#39;a</span>&gt;,
+    <span class="doccomment">/// Duration format
+    </span>duration_format: DurationFormat,
 }
 
 <span class="kw">impl</span>&lt;<span class="lifetime">&#39;a</span>&gt; Default <span class="kw">for </span>FormatOptions&lt;<span class="lifetime">&#39;a</span>&gt; {
     <span class="kw">fn </span>default() -&gt; <span class="self">Self </span>{
+        <span class="self">Self</span>::new()
+    }
+}
+
+<span class="kw">impl</span>&lt;<span class="lifetime">&#39;a</span>&gt; FormatOptions&lt;<span class="lifetime">&#39;a</span>&gt; {
+    <span class="kw">pub const fn </span>new() -&gt; <span class="self">Self </span>{
         <span class="self">Self </span>{
             safe: <span class="bool-val">true</span>,
             null: <span class="string">&quot;&quot;</span>,
@@ -979,14 +1185,13 @@
             timestamp_format: <span class="prelude-val">None</span>,
             timestamp_tz_format: <span class="prelude-val">None</span>,
             time_format: <span class="prelude-val">None</span>,
+            duration_format: DurationFormat::ISO8601,
         }
     }
-}
 
-<span class="kw">impl</span>&lt;<span class="lifetime">&#39;a</span>&gt; FormatOptions&lt;<span class="lifetime">&#39;a</span>&gt; {
     <span class="doccomment">/// If set to `true` any formatting errors will be written to the output
     /// instead of being converted into a [`std::fmt::Error`]
-    </span><span class="kw">pub fn </span>with_display_error(<span class="kw-2">mut </span><span class="self">self</span>, safe: bool) -&gt; <span class="self">Self </span>{
+    </span><span class="kw">pub const fn </span>with_display_error(<span class="kw-2">mut </span><span class="self">self</span>, safe: bool) -&gt; <span class="self">Self </span>{
         <span class="self">self</span>.safe = safe;
         <span class="self">self
     </span>}
@@ -994,12 +1199,12 @@
     <span class="doccomment">/// Overrides the string used to represent a null
     ///
     /// Defaults to `&quot;&quot;`
-    </span><span class="kw">pub fn </span>with_null(<span class="self">self</span>, null: <span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str) -&gt; <span class="self">Self </span>{
+    </span><span class="kw">pub const fn </span>with_null(<span class="self">self</span>, null: <span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str) -&gt; <span class="self">Self </span>{
         <span class="self">Self </span>{ null, ..<span class="self">self </span>}
     }
 
     <span class="doccomment">/// Overrides the format used for [`DataType::Date32`] columns
-    </span><span class="kw">pub fn </span>with_date_format(<span class="self">self</span>, date_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
+    </span><span class="kw">pub const fn </span>with_date_format(<span class="self">self</span>, date_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
         <span class="self">Self </span>{
             date_format,
             ..<span class="self">self
@@ -1007,7 +1212,7 @@
     }
 
     <span class="doccomment">/// Overrides the format used for [`DataType::Date64`] columns
-    </span><span class="kw">pub fn </span>with_datetime_format(<span class="self">self</span>, datetime_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
+    </span><span class="kw">pub const fn </span>with_datetime_format(<span class="self">self</span>, datetime_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
         <span class="self">Self </span>{
             datetime_format,
             ..<span class="self">self
@@ -1015,7 +1220,7 @@
     }
 
     <span class="doccomment">/// Overrides the format used for [`DataType::Timestamp`] columns without a timezone
-    </span><span class="kw">pub fn </span>with_timestamp_format(<span class="self">self</span>, timestamp_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
+    </span><span class="kw">pub const fn </span>with_timestamp_format(<span class="self">self</span>, timestamp_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
         <span class="self">Self </span>{
             timestamp_format,
             ..<span class="self">self
@@ -1023,7 +1228,10 @@
     }
 
     <span class="doccomment">/// Overrides the format used for [`DataType::Timestamp`] columns with a timezone
-    </span><span class="kw">pub fn </span>with_timestamp_tz_format(<span class="self">self</span>, timestamp_tz_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
+    </span><span class="kw">pub const fn </span>with_timestamp_tz_format(
+        <span class="self">self</span>,
+        timestamp_tz_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;,
+    ) -&gt; <span class="self">Self </span>{
         <span class="self">Self </span>{
             timestamp_tz_format,
             ..<span class="self">self
@@ -1031,12 +1239,22 @@
     }
 
     <span class="doccomment">/// Overrides the format used for [`DataType::Time32`] and [`DataType::Time64`] columns
-    </span><span class="kw">pub fn </span>with_time_format(<span class="self">self</span>, time_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
+    </span><span class="kw">pub const fn </span>with_time_format(<span class="self">self</span>, time_format: <span class="prelude-ty">Option</span>&lt;<span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>str&gt;) -&gt; <span class="self">Self </span>{
         <span class="self">Self </span>{
             time_format,
             ..<span class="self">self
         </span>}
     }
+
+    <span class="doccomment">/// Overrides the format used for duration columns
+    ///
+    /// Defaults to [`DurationFormat::ISO8601`]
+    </span><span class="kw">pub const fn </span>with_duration_format(<span class="self">self</span>, duration_format: DurationFormat) -&gt; <span class="self">Self </span>{
+        <span class="self">Self </span>{
+            duration_format,
+            ..<span class="self">self
+        </span>}
+    }
 }
 
 <span class="doccomment">/// Implements [`Display`] for a specific array value
@@ -1445,20 +1663,82 @@
 <span class="macro">temporal_display!</span>(time64ns_to_time, time_format, Time64NanosecondType);
 
 <span class="macro">macro_rules! </span>duration_display {
-    (<span class="macro-nonterminal">$convert</span>:ident, <span class="macro-nonterminal">$t</span>:ty) =&gt; {
-        <span class="kw">impl</span>&lt;<span class="lifetime">&#39;a</span>&gt; DisplayIndex <span class="kw">for </span><span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>PrimitiveArray&lt;<span class="macro-nonterminal">$t</span>&gt; {
-            <span class="kw">fn </span>write(<span class="kw-2">&amp;</span><span class="self">self</span>, idx: usize, f: <span class="kw-2">&amp;mut </span><span class="kw">dyn </span>Write) -&gt; FormatResult {
-                <span class="macro">write!</span>(f, <span class="string">&quot;{}&quot;</span>, <span class="macro-nonterminal">$convert</span>(<span class="self">self</span>.value(idx)))<span class="question-mark">?</span>;
+    (<span class="macro-nonterminal">$convert</span>:ident, <span class="macro-nonterminal">$t</span>:ty, <span class="macro-nonterminal">$scale</span>:tt) =&gt; {
+        <span class="kw">impl</span>&lt;<span class="lifetime">&#39;a</span>&gt; DisplayIndexState&lt;<span class="lifetime">&#39;a</span>&gt; <span class="kw">for </span><span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>PrimitiveArray&lt;<span class="macro-nonterminal">$t</span>&gt; {
+            <span class="kw">type </span>State = DurationFormat;
+
+            <span class="kw">fn </span>prepare(
+                <span class="kw-2">&amp;</span><span class="self">self</span>,
+                options: <span class="kw-2">&amp;</span>FormatOptions&lt;<span class="lifetime">&#39;a</span>&gt;,
+            ) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="self">Self</span>::State, ArrowError&gt; {
+                <span class="prelude-val">Ok</span>(options.duration_format)
+            }
+
+            <span class="kw">fn </span>write(
+                <span class="kw-2">&amp;</span><span class="self">self</span>,
+                fmt: <span class="kw-2">&amp;</span><span class="self">Self</span>::State,
+                idx: usize,
+                f: <span class="kw-2">&amp;mut </span><span class="kw">dyn </span>Write,
+            ) -&gt; FormatResult {
+                <span class="kw">let </span>v = <span class="self">self</span>.value(idx);
+                <span class="kw">match </span>fmt {
+                    DurationFormat::ISO8601 =&gt; <span class="macro">write!</span>(f, <span class="string">&quot;{}&quot;</span>, <span class="macro-nonterminal">$convert</span>(v))<span class="question-mark">?</span>,
+                    DurationFormat::Pretty =&gt; <span class="macro">duration_fmt!</span>(f, v, <span class="macro-nonterminal">$scale</span>)<span class="question-mark">?</span>,
+                }
                 <span class="prelude-val">Ok</span>(())
             }
         }
     };
 }
 
-<span class="macro">duration_display!</span>(duration_s_to_duration, DurationSecondType);
-<span class="macro">duration_display!</span>(duration_ms_to_duration, DurationMillisecondType);
-<span class="macro">duration_display!</span>(duration_us_to_duration, DurationMicrosecondType);
-<span class="macro">duration_display!</span>(duration_ns_to_duration, DurationNanosecondType);
+<span class="macro">macro_rules! </span>duration_fmt {
+    (<span class="macro-nonterminal">$f</span>:ident, <span class="macro-nonterminal">$v</span>:expr, <span class="number">0</span>) =&gt; {{
+        <span class="kw">let </span>secs = <span class="macro-nonterminal">$v</span>;
+        <span class="kw">let </span>mins = secs / <span class="number">60</span>;
+        <span class="kw">let </span>hours = mins / <span class="number">60</span>;
+        <span class="kw">let </span>days = hours / <span class="number">24</span>;
+
+        <span class="kw">let </span>secs = secs - (mins * <span class="number">60</span>);
+        <span class="kw">let </span>mins = mins - (hours * <span class="number">60</span>);
+        <span class="macro">write!</span>(<span class="macro-nonterminal">$f</span>, <span class="string">&quot;{days} days {hours} hours {mins} mins {secs} secs&quot;</span>)
+    }};
+    (<span class="macro-nonterminal">$f</span>:ident, <span class="macro-nonterminal">$v</span>:expr, <span class="macro-nonterminal">$scale</span>:tt) =&gt; {{
+        <span class="kw">let </span>subsec = <span class="macro-nonterminal">$v</span>;
+        <span class="kw">let </span>secs = subsec / <span class="number">10_i64</span>.pow(<span class="macro-nonterminal">$scale</span>);
+        <span class="kw">let </span>mins = secs / <span class="number">60</span>;
+        <span class="kw">let </span>hours = mins / <span class="number">60</span>;
+        <span class="kw">let </span>days = hours / <span class="number">24</span>;
+
+        <span class="kw">let </span>subsec = subsec - (secs * <span class="number">10_i64</span>.pow(<span class="macro-nonterminal">$scale</span>));
+        <span class="kw">let </span>secs = secs - (mins * <span class="number">60</span>);
+        <span class="kw">let </span>mins = mins - (hours * <span class="number">60</span>);
+        <span class="kw">match </span>subsec.is_negative() {
+            <span class="bool-val">true </span>=&gt; {
+                <span class="macro">write!</span>(
+                    <span class="macro-nonterminal">$f</span>,
+                    <span class="macro">concat!</span>(<span class="string">&quot;{} days {} hours {} mins -{}.{:0&quot;</span>, <span class="macro-nonterminal">$scale</span>, <span class="string">&quot;} secs&quot;</span>),
+                    days,
+                    hours,
+                    mins,
+                    secs.abs(),
+                    subsec.abs()
+                )
+            }
+            <span class="bool-val">false </span>=&gt; {
+                <span class="macro">write!</span>(
+                    <span class="macro-nonterminal">$f</span>,
+                    <span class="macro">concat!</span>(<span class="string">&quot;{} days {} hours {} mins {}.{:0&quot;</span>, <span class="macro-nonterminal">$scale</span>, <span class="string">&quot;} secs&quot;</span>),
+                    days, hours, mins, secs, subsec
+                )
+            }
+        }
+    }};
+}
+
+<span class="macro">duration_display!</span>(duration_s_to_duration, DurationSecondType, <span class="number">0</span>);
+<span class="macro">duration_display!</span>(duration_ms_to_duration, DurationMillisecondType, <span class="number">3</span>);
+<span class="macro">duration_display!</span>(duration_us_to_duration, DurationMicrosecondType, <span class="number">6</span>);
+<span class="macro">duration_display!</span>(duration_ns_to_duration, DurationNanosecondType, <span class="number">9</span>);
 
 <span class="kw">impl</span>&lt;<span class="lifetime">&#39;a</span>&gt; DisplayIndex <span class="kw">for </span><span class="kw-2">&amp;</span><span class="lifetime">&#39;a </span>PrimitiveArray&lt;IntervalYearMonthType&gt; {
     <span class="kw">fn </span>write(<span class="kw-2">&amp;</span><span class="self">self</span>, idx: usize, f: <span class="kw-2">&amp;mut </span><span class="kw">dyn </span>Write) -&gt; FormatResult {
@@ -1777,8 +2057,18 @@
 </span><span class="kw">mod </span>tests {
     <span class="kw">use super</span>::<span class="kw-2">*</span>;
 
+    <span class="doccomment">/// Test to verify options can be constant. See #4580
+    </span><span class="kw">const </span>TEST_CONST_OPTIONS: FormatOptions&lt;<span class="lifetime">&#39;static</span>&gt; = FormatOptions::new()
+        .with_date_format(<span class="prelude-val">Some</span>(<span class="string">&quot;foo&quot;</span>))
+        .with_timestamp_format(<span class="prelude-val">Some</span>(<span class="string">&quot;404&quot;</span>));
+
     <span class="attr">#[test]
-    </span><span class="kw">fn </span>test_map_arry_to_string() {
+    </span><span class="kw">fn </span>test_const_options() {
+        <span class="macro">assert_eq!</span>(TEST_CONST_OPTIONS.date_format, <span class="prelude-val">Some</span>(<span class="string">&quot;foo&quot;</span>));
+    }
+
+    <span class="attr">#[test]
+    </span><span class="kw">fn </span>test_map_array_to_string() {
         <span class="kw">let </span>keys = <span class="macro">vec!</span>[<span class="string">&quot;a&quot;</span>, <span class="string">&quot;b&quot;</span>, <span class="string">&quot;c&quot;</span>, <span class="string">&quot;d&quot;</span>, <span class="string">&quot;e&quot;</span>, <span class="string">&quot;f&quot;</span>, <span class="string">&quot;g&quot;</span>, <span class="string">&quot;h&quot;</span>];
         <span class="kw">let </span>values_data = UInt32Array::from(<span class="macro">vec!</span>[<span class="number">0u32</span>, <span class="number">10</span>, <span class="number">20</span>, <span class="number">30</span>, <span class="number">40</span>, <span class="number">50</span>, <span class="number">60</span>, <span class="number">70</span>]);
 
@@ -1798,26 +2088,112 @@
         );
     }
 
+    <span class="kw">fn </span>format_array(array: <span class="kw-2">&amp;</span><span class="kw">dyn </span>Array, fmt: <span class="kw-2">&amp;</span>FormatOptions) -&gt; Vec&lt;String&gt; {
+        <span class="kw">let </span>fmt = ArrayFormatter::try_new(array, fmt).unwrap();
+        (<span class="number">0</span>..array.len()).map(|x| fmt.value(x).to_string()).collect()
+    }
+
     <span class="attr">#[test]
     </span><span class="kw">fn </span>test_array_value_to_string_duration() {
-        <span class="kw">let </span>ns_array = DurationNanosecondArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>]);
-        <span class="macro">assert_eq!</span>(
-            array_value_to_string(<span class="kw-2">&amp;</span>ns_array, <span class="number">0</span>).unwrap(),
-            <span class="string">&quot;PT0.000000001S&quot;
-        </span>);
-        <span class="macro">assert_eq!</span>(array_value_to_string(<span class="kw-2">&amp;</span>ns_array, <span class="number">1</span>).unwrap(), <span class="string">&quot;&quot;</span>);
-
-        <span class="kw">let </span>us_array = DurationMicrosecondArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>]);
-        <span class="macro">assert_eq!</span>(array_value_to_string(<span class="kw-2">&amp;</span>us_array, <span class="number">0</span>).unwrap(), <span class="string">&quot;PT0.000001S&quot;</span>);
-        <span class="macro">assert_eq!</span>(array_value_to_string(<span class="kw-2">&amp;</span>us_array, <span class="number">1</span>).unwrap(), <span class="string">&quot;&quot;</span>);
-
-        <span class="kw">let </span>ms_array = DurationMillisecondArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>]);
-        <span class="macro">assert_eq!</span>(array_value_to_string(<span class="kw-2">&amp;</span>ms_array, <span class="number">0</span>).unwrap(), <span class="string">&quot;PT0.001S&quot;</span>);
-        <span class="macro">assert_eq!</span>(array_value_to_string(<span class="kw-2">&amp;</span>ms_array, <span class="number">1</span>).unwrap(), <span class="string">&quot;&quot;</span>);
-
-        <span class="kw">let </span>s_array = DurationSecondArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>]);
-        <span class="macro">assert_eq!</span>(array_value_to_string(<span class="kw-2">&amp;</span>s_array, <span class="number">0</span>).unwrap(), <span class="string">&quot;PT1S&quot;</span>);
-        <span class="macro">assert_eq!</span>(array_value_to_string(<span class="kw-2">&amp;</span>s_array, <span class="number">1</span>).unwrap(), <span class="string">&quot;&quot;</span>);
+        <span class="kw">let </span>iso_fmt = FormatOptions::new();
+        <span class="kw">let </span>pretty_fmt =
+            FormatOptions::new().with_duration_format(DurationFormat::Pretty);
+
+        <span class="kw">let </span>array = DurationNanosecondArray::from(<span class="macro">vec!</span>[
+            <span class="number">1</span>,
+            -<span class="number">1</span>,
+            <span class="number">1000</span>,
+            -<span class="number">1000</span>,
+            (<span class="number">45 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">24 </span>+ <span class="number">14 </span>* <span class="number">60 </span>* <span class="number">60 </span>+ <span class="number">2 </span>* <span class="number">60 </span>+ <span class="number">34</span>) * <span class="number">1_000_000_000 </span>+ <span class="number">123456789</span>,
+            -(<span class="number">45 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">24 </span>+ <span class="number">14 </span>* <span class="number">60 </span>* <span class="number">60 </span>+ <span class="number">2 </span>* <span class="number">60 </span>+ <span class="number">34</span>) * <span class="number">1_000_000_000 </span>- <span class="number">123456789</span>,
+        ]);
+        <span class="kw">let </span>iso = format_array(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>iso_fmt);
+        <span class="kw">let </span>pretty = format_array(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>pretty_fmt);
+
+        <span class="macro">assert_eq!</span>(iso[<span class="number">0</span>], <span class="string">&quot;PT0.000000001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">0</span>], <span class="string">&quot;0 days 0 hours 0 mins 0.000000001 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">1</span>], <span class="string">&quot;-PT0.000000001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">1</span>], <span class="string">&quot;0 days 0 hours 0 mins -0.000000001 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">2</span>], <span class="string">&quot;PT0.000001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">2</span>], <span class="string">&quot;0 days 0 hours 0 mins 0.000001000 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">3</span>], <span class="string">&quot;-PT0.000001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">3</span>], <span class="string">&quot;0 days 0 hours 0 mins -0.000001000 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">4</span>], <span class="string">&quot;P45DT50554.123456789S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">4</span>], <span class="string">&quot;45 days 1094 hours 2 mins 34.123456789 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">5</span>], <span class="string">&quot;-P45DT50554.123456789S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">5</span>], <span class="string">&quot;-45 days -1094 hours -2 mins -34.123456789 secs&quot;</span>);
+
+        <span class="kw">let </span>array = DurationMicrosecondArray::from(<span class="macro">vec!</span>[
+            <span class="number">1</span>,
+            -<span class="number">1</span>,
+            <span class="number">1000</span>,
+            -<span class="number">1000</span>,
+            (<span class="number">45 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">24 </span>+ <span class="number">14 </span>* <span class="number">60 </span>* <span class="number">60 </span>+ <span class="number">2 </span>* <span class="number">60 </span>+ <span class="number">34</span>) * <span class="number">1_000_000 </span>+ <span class="number">123456</span>,
+            -(<span class="number">45 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">24 </span>+ <span class="number">14 </span>* <span class="number">60 </span>* <span class="number">60 </span>+ <span class="number">2 </span>* <span class="number">60 </span>+ <span class="number">34</span>) * <span class="number">1_000_000 </span>- <span class="number">123456</span>,
+        ]);
+        <span class="kw">let </span>iso = format_array(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>iso_fmt);
+        <span class="kw">let </span>pretty = format_array(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>pretty_fmt);
+
+        <span class="macro">assert_eq!</span>(iso[<span class="number">0</span>], <span class="string">&quot;PT0.000001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">0</span>], <span class="string">&quot;0 days 0 hours 0 mins 0.000001 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">1</span>], <span class="string">&quot;-PT0.000001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">1</span>], <span class="string">&quot;0 days 0 hours 0 mins -0.000001 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">2</span>], <span class="string">&quot;PT0.001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">2</span>], <span class="string">&quot;0 days 0 hours 0 mins 0.001000 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">3</span>], <span class="string">&quot;-PT0.001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">3</span>], <span class="string">&quot;0 days 0 hours 0 mins -0.001000 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">4</span>], <span class="string">&quot;P45DT50554.123456S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">4</span>], <span class="string">&quot;45 days 1094 hours 2 mins 34.123456 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">5</span>], <span class="string">&quot;-P45DT50554.123456S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">5</span>], <span class="string">&quot;-45 days -1094 hours -2 mins -34.123456 secs&quot;</span>);
+
+        <span class="kw">let </span>array = DurationMillisecondArray::from(<span class="macro">vec!</span>[
+            <span class="number">1</span>,
+            -<span class="number">1</span>,
+            <span class="number">1000</span>,
+            -<span class="number">1000</span>,
+            (<span class="number">45 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">24 </span>+ <span class="number">14 </span>* <span class="number">60 </span>* <span class="number">60 </span>+ <span class="number">2 </span>* <span class="number">60 </span>+ <span class="number">34</span>) * <span class="number">1_000 </span>+ <span class="number">123</span>,
+            -(<span class="number">45 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">24 </span>+ <span class="number">14 </span>* <span class="number">60 </span>* <span class="number">60 </span>+ <span class="number">2 </span>* <span class="number">60 </span>+ <span class="number">34</span>) * <span class="number">1_000 </span>- <span class="number">123</span>,
+        ]);
+        <span class="kw">let </span>iso = format_array(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>iso_fmt);
+        <span class="kw">let </span>pretty = format_array(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>pretty_fmt);
+
+        <span class="macro">assert_eq!</span>(iso[<span class="number">0</span>], <span class="string">&quot;PT0.001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">0</span>], <span class="string">&quot;0 days 0 hours 0 mins 0.001 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">1</span>], <span class="string">&quot;-PT0.001S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">1</span>], <span class="string">&quot;0 days 0 hours 0 mins -0.001 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">2</span>], <span class="string">&quot;PT1S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">2</span>], <span class="string">&quot;0 days 0 hours 0 mins 1.000 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">3</span>], <span class="string">&quot;-PT1S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">3</span>], <span class="string">&quot;0 days 0 hours 0 mins -1.000 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">4</span>], <span class="string">&quot;P45DT50554.123S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">4</span>], <span class="string">&quot;45 days 1094 hours 2 mins 34.123 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">5</span>], <span class="string">&quot;-P45DT50554.123S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">5</span>], <span class="string">&quot;-45 days -1094 hours -2 mins -34.123 secs&quot;</span>);
+
+        <span class="kw">let </span>array = DurationSecondArray::from(<span class="macro">vec!</span>[
+            <span class="number">1</span>,
+            -<span class="number">1</span>,
+            <span class="number">1000</span>,
+            -<span class="number">1000</span>,
+            <span class="number">45 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">24 </span>+ <span class="number">14 </span>* <span class="number">60 </span>* <span class="number">60 </span>+ <span class="number">2 </span>* <span class="number">60 </span>+ <span class="number">34</span>,
+            -<span class="number">45 </span>* <span class="number">60 </span>* <span class="number">60 </span>* <span class="number">24 </span>- <span class="number">14 </span>* <span class="number">60 </span>* <span class="number">60 </span>- <span class="number">2 </span>* <span class="number">60 </span>- <span class="number">34</span>,
+        ]);
+        <span class="kw">let </span>iso = format_array(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>iso_fmt);
+        <span class="kw">let </span>pretty = format_array(<span class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>pretty_fmt);
+
+        <span class="macro">assert_eq!</span>(iso[<span class="number">0</span>], <span class="string">&quot;PT1S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">0</span>], <span class="string">&quot;0 days 0 hours 0 mins 1 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">1</span>], <span class="string">&quot;-PT1S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">1</span>], <span class="string">&quot;0 days 0 hours 0 mins -1 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">2</span>], <span class="string">&quot;PT1000S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">2</span>], <span class="string">&quot;0 days 0 hours 16 mins 40 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">3</span>], <span class="string">&quot;-PT1000S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">3</span>], <span class="string">&quot;0 days 0 hours -16 mins -40 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">4</span>], <span class="string">&quot;P45DT50554S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">4</span>], <span class="string">&quot;45 days 1094 hours 2 mins 34 secs&quot;</span>);
+        <span class="macro">assert_eq!</span>(iso[<span class="number">5</span>], <span class="string">&quot;-P45DT50554S&quot;</span>);
+        <span class="macro">assert_eq!</span>(pretty[<span class="number">5</span>], <span class="string">&quot;-45 days -1094 hours -2 mins -34 secs&quot;</span>);
     }
 }
 </code></pre></div></section></main></body></html>
\ No newline at end of file