Adding large folders

This commit is contained in:
2026-02-26 12:00:21 -05:00
parent 5400d82acd
commit 49701c85ad
47332 changed files with 1942573 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +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="This module contains scaffolding for baked providers, typically generated using databake."><title>icu_provider::baked - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module baked</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module baked</a></h2><h3><a href="#modules">Module Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a></div><h1>Module <span>baked</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/baked.rs.html#5-38">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This module contains scaffolding for baked providers, typically generated using
databake.</p>
<p>It can be glob-imported, and includes the icu_provider prelude.</p>
<p>This needs the <code>"baked"</code> feature to be enabled.</p>
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="zerotrie/index.html" title="mod icu_provider::baked::zerotrie">zerotrie</a></dt><dd>Data stored as as <a href="zerotrie/struct.ZeroTrieSimpleAscii.html" title="struct icu_provider::baked::zerotrie::ZeroTrieSimpleAscii"><code>ZeroTrieSimpleAscii</code></a></dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.DataStore.html" title="trait icu_provider::baked::DataStore">Data<wbr>Store</a></dt><dd>A backing store for baked data</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"mod":["zerotrie"],"trait":["DataStore"]};

View File

@@ -0,0 +1,15 @@
<!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 backing store for baked data"><title>DataStore in icu_provider::baked - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">DataStore</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Data<wbr>Store</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.get" title="get">get</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>baked</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a>::<wbr><a href="index.html">baked</a></div><h1>Trait <span class="trait">Data<wbr>Store</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/baked.rs.html#16-34">Source</a> </span></div><pre class="rust item-decl"><code>pub trait DataStore&lt;M: <a class="trait" href="../trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a>&gt;: Sealed {
// Required method
fn <a href="#tymethod.get" class="fn">get</a>(
&amp;self,
req: <a class="struct" href="../struct.DataIdentifierBorrowed.html" title="struct icu_provider::DataIdentifierBorrowed">DataIdentifierBorrowed</a>&lt;'_&gt;,
attributes_prefix_match: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../struct.DataPayload.html" title="struct icu_provider::DataPayload">DataPayload</a>&lt;M&gt;&gt;;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A backing store for baked data</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.get" class="method"><a class="src rightside" href="../../src/icu_provider/baked.rs.html#18-22">Source</a><h4 class="code-header">fn <a href="#tymethod.get" class="fn">get</a>(
&amp;self,
req: <a class="struct" href="../struct.DataIdentifierBorrowed.html" title="struct icu_provider::DataIdentifierBorrowed">DataIdentifierBorrowed</a>&lt;'_&gt;,
attributes_prefix_match: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.bool.html">bool</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../struct.DataPayload.html" title="struct icu_provider::DataPayload">DataPayload</a>&lt;M&gt;&gt;</h4></section></summary><div class="docblock"><p>Get the value for a key</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-DataStore%3CM%3E-for-Data%3CM%3E" class="impl"><a class="src rightside" href="../../src/icu_provider/baked/zerotrie.rs.html#87-108">Source</a><a href="#impl-DataStore%3CM%3E-for-Data%3CM%3E" class="anchor">§</a><h3 class="code-header">impl&lt;M: <a class="trait" href="../trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a>&gt; <a class="trait" href="trait.DataStore.html" title="trait icu_provider::baked::DataStore">DataStore</a>&lt;M&gt; for <a class="struct" href="zerotrie/struct.Data.html" title="struct icu_provider::baked::zerotrie::Data">Data</a>&lt;M&gt;</h3></section><section id="impl-DataStore%3CM%3E-for-DataForVarULEs%3CM%3E" class="impl"><a class="src rightside" href="../../src/icu_provider/baked/zerotrie.rs.html#192-218">Source</a><a href="#impl-DataStore%3CM%3E-for-DataForVarULEs%3CM%3E" class="anchor">§</a><h3 class="code-header">impl&lt;M: <a class="trait" href="../trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a>&gt; <a class="trait" href="trait.DataStore.html" title="trait icu_provider::baked::DataStore">DataStore</a>&lt;M&gt; for <a class="struct" href="zerotrie/struct.DataForVarULEs.html" title="struct icu_provider::baked::zerotrie::DataForVarULEs">DataForVarULEs</a>&lt;M&gt;<div class="where">where
M::<a class="associatedtype" href="../trait.DynamicDataMarker.html#associatedtype.DataStruct" title="type icu_provider::DynamicDataMarker::DataStruct">DataStruct</a>: <a class="trait" href="../ule/trait.MaybeAsVarULE.html" title="trait icu_provider::ule::MaybeAsVarULE">MaybeAsVarULE</a> + <a class="trait" href="../../zerofrom/zero_from/trait.ZeroFrom.html" title="trait zerofrom::zero_from::ZeroFrom">ZeroFrom</a>&lt;'static, &lt;M::<a class="associatedtype" href="../trait.DynamicDataMarker.html#associatedtype.DataStruct" title="type icu_provider::DynamicDataMarker::DataStruct">DataStruct</a> as <a class="trait" href="../ule/trait.MaybeAsVarULE.html" title="trait icu_provider::ule::MaybeAsVarULE">MaybeAsVarULE</a>&gt;::<a class="associatedtype" href="../ule/trait.MaybeAsVarULE.html#associatedtype.EncodedStruct" title="type icu_provider::ule::MaybeAsVarULE::EncodedStruct">EncodedStruct</a>&gt;,</div></h3></section><section id="impl-DataStore%3CM%3E-for-DataRef%3CM%3E" class="impl"><a class="src rightside" href="../../src/icu_provider/baked/zerotrie.rs.html#132-154">Source</a><a href="#impl-DataStore%3CM%3E-for-DataRef%3CM%3E" class="anchor">§</a><h3 class="code-header">impl&lt;M: <a class="trait" href="../trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a>&gt; <a class="trait" href="trait.DataStore.html" title="trait icu_provider::baked::DataStore">DataStore</a>&lt;M&gt; for <a class="struct" href="zerotrie/struct.DataRef.html" title="struct icu_provider::baked::zerotrie::DataRef">DataRef</a>&lt;M&gt;</h3></section></div><script src="../../trait.impl/icu_provider/baked/trait.DataStore.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +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="This is a valid separator as `DataLocale` will never produce it."><title>ID_SEPARATOR in icu_provider::baked::zerotrie - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">ID_SEPARATOR</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>baked::<wbr>zerotrie</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">icu_provider</a>::<wbr><a href="../index.html">baked</a>::<wbr><a href="index.html">zerotrie</a></div><h1>Constant <span class="constant">ID_<wbr>SEPARATOR</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/icu_provider/baked/zerotrie.rs.html#10">Source</a> </span></div><pre class="rust item-decl"><code>pub const ID_SEPARATOR: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.u8.html">u8</a> = 0x1E;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>This is a valid separator as <code>DataLocale</code> will never produce it.</p>
<p>Mostly for internal use</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +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="Data stored as as `ZeroTrieSimpleAscii`"><title>icu_provider::baked::zerotrie - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module zerotrie</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module zerotrie</a></h2><h3><a href="#reexports">Module Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#constants" title="Constants">Constants</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In icu_<wbr>provider::<wbr>baked</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">icu_provider</a>::<wbr><a href="../index.html">baked</a></div><h1>Module <span>zerotrie</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/icu_provider/baked/zerotrie.rs.html#5-218">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Data stored as as <a href="struct.ZeroTrieSimpleAscii.html" title="struct icu_provider::baked::zerotrie::ZeroTrieSimpleAscii"><code>ZeroTrieSimpleAscii</code></a></p>
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.DynamicDataMarker"><code>pub use crate::<a class="trait" href="../../trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker">DynamicDataMarker</a>;</code></dt></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Data.html" title="struct icu_provider::baked::zerotrie::Data">Data</a></dt><dd>Regular baked data: a trie for lookups and a slice of values</dd><dt><a class="struct" href="struct.DataForVarULEs.html" title="struct icu_provider::baked::zerotrie::DataForVarULEs">Data<wbr>ForVarUL<wbr>Es</a></dt><dd>Optimized data stored as a single VarZeroSlice to reduce token count</dd><dt><a class="struct" href="struct.DataRef.html" title="struct icu_provider::baked::zerotrie::DataRef">DataRef</a></dt><dd>Regular baked data: a trie for lookups and a slice of values</dd><dt><a class="struct" href="struct.ZeroTrieSimpleAscii.html" title="struct icu_provider::baked::zerotrie::ZeroTrieSimpleAscii">Zero<wbr>Trie<wbr>Simple<wbr>Ascii</a></dt><dd>A data structure that compactly maps from ASCII strings to integers.</dd></dl><h2 id="constants" class="section-header">Constants<a href="#constants" class="anchor">§</a></h2><dl class="item-table"><dt><a class="constant" href="constant.ID_SEPARATOR.html" title="constant icu_provider::baked::zerotrie::ID_SEPARATOR">ID_<wbr>SEPARATOR</a></dt><dd>This is a valid separator as <code>DataLocale</code> will never produce it.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"constant":["ID_SEPARATOR"],"struct":["Data","DataForVarULEs","DataRef","ZeroTrieSimpleAscii"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +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="Traits for data providers that produce opaque buffers."><title>icu_provider::buf - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module buf</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module buf</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a></div><h1>Module <span>buf</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/buf.rs.html#5-133">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Traits for data providers that produce opaque buffers.</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.BufferMarker.html" title="struct icu_provider::buf::BufferMarker">Buffer<wbr>Marker</a></dt><dd><a href="../trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker"><code>DynamicDataMarker</code></a> for raw buffers. Returned by <a href="trait.BufferProvider.html" title="trait icu_provider::buf::BufferProvider"><code>BufferProvider</code></a>.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.BufferFormat.html" title="enum icu_provider::buf::BufferFormat">Buffer<wbr>Format</a></dt><dd>An enum expressing all Serde formats known to ICU4X.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.BufferProvider.html" title="trait icu_provider::buf::BufferProvider">Buffer<wbr>Provider</a></dt><dd>A data provider that returns opaque bytes.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["BufferFormat"],"struct":["BufferMarker"],"trait":["BufferProvider"]};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,60 @@
<!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 data provider that returns opaque bytes."><title>BufferProvider in icu_provider::buf - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">BufferProvider</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Buffer<wbr>Provider</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#examples" title="Examples">Examples</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>buf</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a>::<wbr><a href="index.html">buf</a></div><h1>Trait <span class="trait">Buffer<wbr>Provider</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/buf.rs.html#96">Source</a> </span></div><pre class="rust item-decl"><code>pub trait BufferProvider: <a class="trait" href="../trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider">DynamicDataProvider</a>&lt;<a class="struct" href="struct.BufferMarker.html" title="struct icu_provider::buf::BufferMarker">BufferMarker</a>&gt; { }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A data provider that returns opaque bytes.</p>
<p>Generally, these bytes are expected to be deserializable with Serde. To get an object
implementing <a href="../trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> via Serde, use <a href="AsDeserializingBufferProvider::as_deserializing"><code>as_deserializing()</code></a>.</p>
<p>Passing a <code>BufferProvider</code> to a <code>*_with_buffer_provider</code> constructor requires enabling
the deserialization Cargo feature for the expected format(s):</p>
<ul>
<li><code>deserialize_json</code></li>
<li><code>deserialize_postcard_1</code></li>
<li><code>deserialize_bincode_1</code></li>
</ul>
<p>Along with <a href="../trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a>, this is one of the two foundational traits in this crate.</p>
<p><a href="trait.BufferProvider.html" title="trait icu_provider::buf::BufferProvider"><code>BufferProvider</code></a> can be made into a trait object. It is used over FFI.</p>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>icu_locale_core::langid;
<span class="kw">use </span>icu_provider::hello_world::<span class="kw-2">*</span>;
<span class="kw">use </span>icu_provider::prelude::<span class="kw-2">*</span>;
<span class="kw">use </span>std::borrow::Cow;
<span class="kw">let </span>buffer_provider = HelloWorldProvider.into_json_provider();
<span class="comment">// Deserializing manually
</span><span class="macro">assert_eq!</span>(
serde_json::from_slice::&lt;HelloWorld&gt;(
buffer_provider
.load_data(
HelloWorldV1::INFO,
DataRequest {
id: DataIdentifierBorrowed::for_locale(
<span class="kw-2">&amp;</span><span class="macro">langid!</span>(<span class="string">"de"</span>).into()
),
..Default::default()
}
)
.expect(<span class="string">"load should succeed"</span>)
.payload
.get()
)
.expect(<span class="string">"should deserialize"</span>),
HelloWorld {
message: Cow::Borrowed(<span class="string">"Hallo Welt"</span>),
},
);
<span class="comment">// Deserialize automatically
</span><span class="kw">let </span>deserializing_provider: <span class="kw-2">&amp;</span><span class="kw">dyn </span>DataProvider&lt;HelloWorldV1&gt; =
<span class="kw-2">&amp;</span>buffer_provider.as_deserializing();
<span class="macro">assert_eq!</span>(
deserializing_provider
.load(DataRequest {
id: DataIdentifierBorrowed::for_locale(<span class="kw-2">&amp;</span><span class="macro">langid!</span>(<span class="string">"de"</span>).into()),
..Default::default()
})
.expect(<span class="string">"load should succeed"</span>)
.payload
.get(),
<span class="kw-2">&amp;</span>HelloWorld {
message: Cow::Borrowed(<span class="string">"Hallo Welt"</span>),
},
);</code></pre></div></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-BufferProvider-for-P" class="impl"><a class="src rightside" href="../../src/icu_provider/buf.rs.html#98">Source</a><a href="#impl-BufferProvider-for-P" class="anchor">§</a><h3 class="code-header">impl&lt;P: <a class="trait" href="../trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider">DynamicDataProvider</a>&lt;<a class="struct" href="struct.BufferMarker.html" title="struct icu_provider::buf::BufferMarker">BufferMarker</a>&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt; <a class="trait" href="trait.BufferProvider.html" title="trait icu_provider::buf::BufferProvider">BufferProvider</a> for P</h3></section></div><script src="../../trait.impl/icu_provider/buf/trait.BufferProvider.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1,71 @@
<!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="📚 This module documents ICU4X constructor signatures."><title>icu_provider::constructors - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module constructors</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module constructors</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#which-constructor-should-i-use" title="Which constructor should I use?">Which constructor should I use?</a><ul><li><a href="#when-to-use-" title="When to use `*`">When to use <code>*</code></a></li><li><a href="#when-to-use-_unstable" title="When to use `*_unstable`">When to use <code>*_unstable</code></a></li><li><a href="#when-to-use-_with_buffer_provider" title="When to use `*_with_buffer_provider`">When to use <code>*_with_buffer_provider</code></a></li></ul></li><li><a href="#data-versioning-policy" title="Data Versioning Policy">Data Versioning Policy</a></li><li><a href="#data-providers-over-ffi" title="Data Providers Over FFI">Data Providers Over FFI</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a></div><h1>Module <span>constructors</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/constructors.rs.html#5-226">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>📚 <em>This module documents ICU4X constructor signatures.</em></p>
<p>One of the key differences between ICU4X and its parent projects, ICU4C and ICU4J, is in how
it deals with locale data.</p>
<p>In ICU4X, data can always be explicitly passed to any function that requires data.
This enables ICU4X to achieve the following value propositions:</p>
<ol>
<li>Configurable data sources (machine-readable data file, baked into code, JSON, etc).</li>
<li>Dynamic data loading at runtime (load data on demand).</li>
<li>Reduced overhead and code size (data is resolved locally at each call site).</li>
<li>Explicit support for multiple ICU4X instances sharing data.</li>
</ol>
<p>However, as manual data management can be tedious, ICU4X also has a <code>compiled_data</code>
default Cargo feature that includes data and makes ICU4X work out-of-the box.</p>
<p>Subsequently, there are 3 versions of all Rust ICU4X functions that use data:</p>
<ol>
<li><code>*</code></li>
<li><code>*_unstable</code></li>
<li><code>*_with_buffer_provider</code></li>
</ol>
<h2 id="which-constructor-should-i-use"><a class="doc-anchor" href="#which-constructor-should-i-use">§</a>Which constructor should I use?</h2><h3 id="when-to-use-"><a class="doc-anchor" href="#when-to-use-">§</a>When to use <code>*</code></h3>
<p>If you dont want to customize data at runtime (i.e. if you dont care about code size,
updating your data, etc.) you can use the <code>compiled_data</code> Cargo feature and dont have to think
about where your data comes from.</p>
<p>These constructors are sometimes <code>const</code> functions, this way Rust can most effectively optimize
your usage of ICU4X.</p>
<h3 id="when-to-use-_unstable"><a class="doc-anchor" href="#when-to-use-_unstable">§</a>When to use <code>*_unstable</code></h3>
<p>Use this constructor if your data provider implements the <a href="../trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> trait for all
data structs in <em>current and future</em> ICU4X versions. Examples:</p>
<ol>
<li><code>BakedDataProvider</code> generated for the specific ICU4X minor version</li>
<li>Anything with a <em>blanket</em> <a href="../trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> impl</li>
</ol>
<p>Since the exact set of bounds may change at any time, including in minor SemVer releases,
it is the clients responsibility to guarantee that the requirement is upheld.</p>
<h3 id="when-to-use-_with_buffer_provider"><a class="doc-anchor" href="#when-to-use-_with_buffer_provider">§</a>When to use <code>*_with_buffer_provider</code></h3>
<p>Use this constructor if your data originates as byte buffers that need to be deserialized.
All such providers should implement <a href="../buf/trait.BufferProvider.html" title="trait icu_provider::buf::BufferProvider"><code>BufferProvider</code></a>. Examples:</p>
<ol>
<li><a href="../../icu_provider_blob/struct.BlobDataProvider.html"><code>BlobDataProvider</code></a></li>
<li><a href="../../icu_provider_blob/struct.FsDataProvider.html"><code>FsDataProvider</code></a></li>
<li><a href="../../icu_provider_adapters/fork/struct.ForkByMarkerProvider.html"><code>ForkByMarkerProvider</code></a> between two providers implementing <a href="../buf/trait.BufferProvider.html" title="trait icu_provider::buf::BufferProvider"><code>BufferProvider</code></a></li>
</ol>
<p>Please note that you must enable the <code>serde</code> Cargo feature on each crate in which you use the
<code>*_with_buffer_provider</code> constructor.</p>
<h2 id="data-versioning-policy"><a class="doc-anchor" href="#data-versioning-policy">§</a>Data Versioning Policy</h2>
<p>The <code>*_with_buffer_provider</code> functions will succeed to compile and
run if given a data provider supporting all of the markers required for the object being
constructed, either the current or any previous version within the same SemVer major release.
For example, if a data file is built to support FooFormatter version 1.1, then FooFormatter
version 1.2 will be able to read the same data file. Likewise, backwards-compatible markers can
always be included by <code>icu_provider_export</code> to support older library versions.</p>
<p>The <code>*_unstable</code> functions are only guaranteed to work on data built for the exact same minor version
of ICU4X. The advantage of the <code>*_unstable</code> functions is that they result in the smallest code
size and allow for automatic data slicing when <code>BakedDataProvider</code> is used. However, the type
bounds of this function may change over time, breaking SemVer guarantees. These functions
should therefore only be used when you have full control over your data lifecycle at compile
time.</p>
<h2 id="data-providers-over-ffi"><a class="doc-anchor" href="#data-providers-over-ffi">§</a>Data Providers Over FFI</h2>
<p>Over FFI, there is only one data provider type: <a href="../../icu_capi/provider/ffi/struct.ICU4XDataProvider.html"><code>ICU4XDataProvider</code></a>. Internally, it is an
<code>enum</code> between<code>dyn </code><a href="../buf/trait.BufferProvider.html" title="trait icu_provider::buf::BufferProvider"><code>BufferProvider</code></a> and a unit compiled data variant.</p>
<p>To control for code size, there are two Cargo features, <code>compiled_data</code> and <code>buffer_provider</code>,
that enable the corresponding items in the enum.</p>
<p>In Rust ICU4X, a similar enum approach was not taken because:</p>
<ol>
<li>Feature-gating the enum branches gets complex across crates.</li>
<li>Without feature gating, users need to carry Serde code even if theyre not using it,
violating one of the core value propositions of ICU4X.</li>
<li>We could reduce the number of constructors from 4 to 2 but not to 1, so the educational
benefit is limited.</li>
</ol>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {};

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataProviderWithMarker.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataProviderWithMarker.html">../../icu_provider/struct.DataProviderWithMarker.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataProviderWithMarker.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/trait.BoundDataProvider.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/trait.BoundDataProvider.html">../../icu_provider/trait.BoundDataProvider.html</a>...</p>
<script>location.replace("../../icu_provider/trait.BoundDataProvider.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/trait.DataProvider.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/trait.DataProvider.html">../../icu_provider/trait.DataProvider.html</a>...</p>
<script>location.replace("../../icu_provider/trait.DataProvider.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/trait.DryDataProvider.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/trait.DryDataProvider.html">../../icu_provider/trait.DryDataProvider.html</a>...</p>
<script>location.replace("../../icu_provider/trait.DryDataProvider.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/trait.DynamicDataProvider.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/trait.DynamicDataProvider.html">../../icu_provider/trait.DynamicDataProvider.html</a>...</p>
<script>location.replace("../../icu_provider/trait.DynamicDataProvider.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/trait.DynamicDryDataProvider.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/trait.DynamicDryDataProvider.html">../../icu_provider/trait.DynamicDryDataProvider.html</a>...</p>
<script>location.replace("../../icu_provider/trait.DynamicDryDataProvider.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +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="Utilities for using trait objects with `DataPayload`."><title>icu_provider::dynutil - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module dynutil</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module dynutil</a></h2><h3><a href="#macros">Module Items</a></h3><ul class="block"><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a></div><h1>Module <span>dynutil</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/dynutil.rs.html#5-184">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Utilities for using trait objects with <code>DataPayload</code>.</p>
</div></details><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><dl class="item-table"><dt><a class="macro" href="macro.impl_casting_upcast.html" title="macro icu_provider::dynutil::impl_casting_upcast">impl_<wbr>casting_<wbr>upcast</a></dt><dd>Implements <a href="trait.UpcastDataPayload.html" title="trait icu_provider::dynutil::UpcastDataPayload"><code>UpcastDataPayload</code></a> from several data markers to a single data marker
that all share the same <a href="../trait.DynamicDataMarker.html#associatedtype.DataStruct" title="associated type icu_provider::DynamicDataMarker::DataStruct"><code>DynamicDataMarker::DataStruct</code></a>.</dd><dt><a class="macro" href="macro.impl_dynamic_data_provider.html" title="macro icu_provider::dynutil::impl_dynamic_data_provider">impl_<wbr>dynamic_<wbr>data_<wbr>provider</a></dt><dd>Implements <a href="../trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider"><code>DynamicDataProvider</code></a> for a marker type <code>S</code> on a type that already implements
<a href="../trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider"><code>DynamicDataProvider</code></a> or <a href="../trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> for one or more <code>M</code>, where <code>M</code> is a concrete type
that is convertible to <code>S</code> via <a href="trait.UpcastDataPayload.html" title="trait icu_provider::dynutil::UpcastDataPayload"><code>UpcastDataPayload</code></a>.</dd><dt><a class="macro" href="macro.impl_iterable_dynamic_data_provider.html" title="macro icu_provider::dynutil::impl_iterable_dynamic_data_provider">impl_<wbr>iterable_<wbr>dynamic_<wbr>data_<wbr>provider</a></dt></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.UpcastDataPayload.html" title="trait icu_provider::dynutil::UpcastDataPayload">Upcast<wbr>Data<wbr>Payload</a></dt><dd>Trait to allow conversion from <code>DataPayload&lt;T&gt;</code> to <code>DataPayload&lt;S&gt;</code>.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.impl_casting_upcast.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.impl_casting_upcast.html">macro.impl_casting_upcast.html</a>...</p>
<script>location.replace("macro.impl_casting_upcast.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,23 @@
<!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 `UpcastDataPayload` from several data markers to a single data marker that all share the same `DynamicDataMarker::DataStruct`."><title>impl_casting_upcast in icu_provider::dynutil - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">impl_casting_upcast</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">impl_<wbr>casting_<wbr>upcast</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#examples" title="Examples">Examples</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>dynutil</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a>::<wbr><a href="index.html">dynutil</a></div><h1>Macro <span class="macro">impl_<wbr>casting_<wbr>upcast</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/dynutil.rs.html#48-58">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! impl_casting_upcast {
($dyn_m:path, [ $($struct_m:ident),+, ]) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Implements <a href="trait.UpcastDataPayload.html" title="trait icu_provider::dynutil::UpcastDataPayload"><code>UpcastDataPayload</code></a> from several data markers to a single data marker
that all share the same <a href="../trait.DynamicDataMarker.html#associatedtype.DataStruct" title="associated type icu_provider::DynamicDataMarker::DataStruct"><code>DynamicDataMarker::DataStruct</code></a>.</p>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>icu_provider::prelude::<span class="kw-2">*</span>;
<span class="kw">use </span>std::borrow::Cow;
<span class="kw">struct </span>FooV1;
<span class="kw">impl </span>DynamicDataMarker <span class="kw">for </span>FooV1 {
<span class="kw">type </span>DataStruct = Foo&lt;<span class="lifetime">'static</span>&gt;;
}
<span class="macro">icu_provider::data_marker!</span>(BarV1, Foo&lt;<span class="lifetime">'static</span>&gt;);
<span class="macro">icu_provider::data_marker!</span>(BazV1, Foo&lt;<span class="lifetime">'static</span>&gt;);
<span class="attr">#[derive(yoke::Yokeable)]
</span><span class="kw">pub struct </span>Foo&lt;<span class="lifetime">'data</span>&gt; {
message: Cow&lt;<span class="lifetime">'data</span>, str&gt;,
};
<span class="macro">icu_provider::data_struct!</span>(Foo&lt;<span class="lifetime">'_</span>&gt;);
<span class="macro">icu_provider::dynutil::impl_casting_upcast!</span>(FooV1, [BarV1, BazV1,]);</code></pre></div></div></details></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.impl_dynamic_data_provider.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.impl_dynamic_data_provider.html">macro.impl_dynamic_data_provider.html</a>...</p>
<script>location.replace("macro.impl_dynamic_data_provider.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +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 `DynamicDataProvider` for a marker type `S` on a type that already implements `DynamicDataProvider` or `DataProvider` for one or more `M`, where `M` is a concrete type that is convertible to `S` via `UpcastDataPayload`."><title>impl_dynamic_data_provider in icu_provider::dynutil - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">impl_dynamic_data_provider</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">impl_<wbr>dynamic_<wbr>data_<wbr>provider</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#wrapping-dataprovider" title="Wrapping DataProvider">Wrapping DataProvider</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>dynutil</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a>::<wbr><a href="index.html">dynutil</a></div><h1>Macro <span class="macro">impl_<wbr>dynamic_<wbr>data_<wbr>provider</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/dynutil.rs.html#78-160">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! impl_dynamic_data_provider {
($provider:ty, $arms:tt, $one:path, $($rest:path),+) =&gt; { ... };
($provider:ty, { $($ident:ident = $marker:path =&gt; $struct_m:ty),+, $(_ =&gt; $struct_d:ty,)?}, $dyn_m:ty) =&gt; { ... };
($provider:ty, [ $($(#[$cfg:meta])? $struct_m:ty),+, ], $dyn_m:path) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Implements <a href="../trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider"><code>DynamicDataProvider</code></a> for a marker type <code>S</code> on a type that already implements
<a href="../trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider"><code>DynamicDataProvider</code></a> or <a href="../trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> for one or more <code>M</code>, where <code>M</code> is a concrete type
that is convertible to <code>S</code> via <a href="trait.UpcastDataPayload.html" title="trait icu_provider::dynutil::UpcastDataPayload"><code>UpcastDataPayload</code></a>.</p>
<h3 id="wrapping-dataprovider"><a class="doc-anchor" href="#wrapping-dataprovider">§</a>Wrapping DataProvider</h3>
<p>If your type implements <a href="../trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a>, pass a list of markers as the second argument.
This results in a <code>DynamicDataProvider</code> that delegates to a specific marker if the marker
matches or else returns <a href="(crate::DataErrorKind::MarkerNotFound)"><code>DataErrorKind::MarkerNotFound</code></a>.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.impl_iterable_dynamic_data_provider.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.impl_iterable_dynamic_data_provider.html">macro.impl_iterable_dynamic_data_provider.html</a>...</p>
<script>location.replace("macro.impl_iterable_dynamic_data_provider.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +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 `impl_iterable_dynamic_data_provider` macro in crate `icu_provider`."><title>impl_iterable_dynamic_data_provider in icu_provider::dynutil - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">impl_iterable_dynamic_data_provider</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>dynutil</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a>::<wbr><a href="index.html">dynutil</a></div><h1>Macro <span class="macro">impl_<wbr>iterable_<wbr>dynamic_<wbr>data_<wbr>provider</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/dynutil.rs.html#166-182">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! impl_iterable_dynamic_data_provider {
($provider:ty, [ $($(#[$cfg:meta])? $struct_m:ty),+, ], $dyn_m:path) =&gt; { ... };
}</code></pre></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"macro":["impl_casting_upcast","impl_dynamic_data_provider","impl_iterable_dynamic_data_provider"],"trait":["UpcastDataPayload"]};

View File

@@ -0,0 +1,9 @@
<!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="Trait to allow conversion from `DataPayload&#60;T&#62;` to `DataPayload&#60;S&#62;`."><title>UpcastDataPayload in icu_provider::dynutil - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">UpcastDataPayload</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Upcast<wbr>Data<wbr>Payload</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.upcast" title="upcast">upcast</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>dynutil</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a>::<wbr><a href="index.html">dynutil</a></div><h1>Trait <span class="trait">Upcast<wbr>Data<wbr>Payload</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/dynutil.rs.html#10-17">Source</a> </span></div><pre class="rust item-decl"><code>pub trait UpcastDataPayload&lt;M&gt;<div class="where">where
M: <a class="trait" href="../trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker">DynamicDataMarker</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="../trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker">DynamicDataMarker</a>,</div>{
// Required method
fn <a href="#tymethod.upcast" class="fn">upcast</a>(other: <a class="struct" href="../struct.DataPayload.html" title="struct icu_provider::DataPayload">DataPayload</a>&lt;M&gt;) -&gt; <a class="struct" href="../struct.DataPayload.html" title="struct icu_provider::DataPayload">DataPayload</a>&lt;Self&gt;;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait to allow conversion from <code>DataPayload&lt;T&gt;</code> to <code>DataPayload&lt;S&gt;</code>.</p>
<p>This trait can be manually implemented in order to enable <a href="macro.impl_dynamic_data_provider.html" title="macro icu_provider::dynutil::impl_dynamic_data_provider"><code>impl_dynamic_data_provider</code></a>.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.upcast" class="method"><a class="src rightside" href="../../src/icu_provider/dynutil.rs.html#16">Source</a><h4 class="code-header">fn <a href="#tymethod.upcast" class="fn">upcast</a>(other: <a class="struct" href="../struct.DataPayload.html" title="struct icu_provider::DataPayload">DataPayload</a>&lt;M&gt;) -&gt; <a class="struct" href="../struct.DataPayload.html" title="struct icu_provider::DataPayload">DataPayload</a>&lt;Self&gt;</h4></section></summary><div class="docblock"><p>Upcast a <code>DataPayload&lt;T&gt;</code> to a <code>DataPayload&lt;S&gt;</code> where <code>T</code> implements trait <code>S</code>.</p>
</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../../trait.impl/icu_provider/dynutil/trait.UpcastDataPayload.js" async></script></section></div></main></body></html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/enum.DataErrorKind.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/enum.DataErrorKind.html">../../icu_provider/enum.DataErrorKind.html</a>...</p>
<script>location.replace("../../icu_provider/enum.DataErrorKind.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataError.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataError.html">../../icu_provider/struct.DataError.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataError.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/trait.ResultDataError.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/trait.ResultDataError.html">../../icu_provider/trait.ResultDataError.html</a>...</p>
<script>location.replace("../../icu_provider/trait.ResultDataError.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,56 @@
<!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="`icu_provider` is one of the `ICU4X` components."><title>icu_provider - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Crate icu_provider</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#dynamic-data-providers" title="Dynamic Data Providers">Dynamic Data Providers</a><ul><li><a href="#bufferprovider" title="BufferProvider">BufferProvider</a></li></ul></li><li><a href="#provider-adapters" title="Provider Adapters">Provider Adapters</a></li><li><a href="#testing-provider" title="Testing Provider">Testing Provider</a></li><li><a href="#types-and-lifetimes" title="Types and Lifetimes">Types and Lifetimes</a></li></ul><h3><a href="#modules">Crate Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>icu_<wbr>provider</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/icu_provider/lib.rs.html#5-231">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><code>icu_provider</code> is one of the <code>ICU4X</code> components.</p>
<p>Unicodes experience with ICU4Xs parent projects, ICU4C and ICU4J, led the team to realize
that data management is the most critical aspect of deploying internationalization, and that it requires
a high level of customization for the needs of the platform it is embedded in. As a result
ICU4X comes with a selection of providers that should allow for ICU4X to naturally fit into
different business and technological needs of customers.</p>
<p><code>icu_provider</code> defines traits and structs for transmitting data through the ICU4X locale
data pipeline. The primary trait is <a href="trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a>. It is parameterized by a
<a href="trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a>, which is the type-system-level data identifier. <a href="trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> has a single method,
<a href="trait.DataProvider.html#tymethod.load" title="method icu_provider::DataProvider::load"><code>DataProvider::load</code></a>, which transforms a <a href="struct.DataRequest.html" title="struct icu_provider::DataRequest"><code>DataRequest</code></a> into a <a href="struct.DataResponse.html" title="struct icu_provider::DataResponse"><code>DataResponse</code></a>.</p>
<ul>
<li><a href="struct.DataRequest.html" title="struct icu_provider::DataRequest"><code>DataRequest</code></a> contains selectors to choose a specific variant of the marker, such as a locale.</li>
<li><a href="struct.DataResponse.html" title="struct icu_provider::DataResponse"><code>DataResponse</code></a> contains the data if the request was successful.</li>
</ul>
<p>The most common types required for this crate are included via the prelude:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>icu_provider::prelude::<span class="kw-2">*</span>;</code></pre></div><h3 id="dynamic-data-providers"><a class="doc-anchor" href="#dynamic-data-providers">§</a>Dynamic Data Providers</h3>
<p>If the type system cannot be leveraged to load data (such as when dynamically loading from I/O),
theres another form of the <a href="trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a>: <a href="trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider"><code>DynamicDataProvider</code></a>. While <a href="trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> is parametrized
on the type-system level by a <a href="trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a> (which are distinct types implementing this trait),
<a href="trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider"><code>DynamicDataProvider</code></a>s are parametrized at runtime by a <a href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo"><code>DataMarkerInfo</code></a> struct, which essentially is the runtime
representation of the <a href="trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a> type.</p>
<p>The <a href="trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider"><code>DynamicDataProvider</code></a> is still type-level parametrized by the type that it loads, and there are two
implementations that should be called out</p>
<ul>
<li><a href="trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider"><code>DynamicDataProvider&lt;BufferMarker&gt;</code></a>, a.k.a. <a href="buf/trait.BufferProvider.html" title="trait icu_provider::buf::BufferProvider"><code>BufferProvider</code></a> returns data as <code>[u8]</code> buffers.</li>
</ul>
<h4 id="bufferprovider"><a class="doc-anchor" href="#bufferprovider">§</a>BufferProvider</h4>
<p>These providers are able to return unstructured data typically represented as
[<code>serde</code>]-serialized buffers. Users can call <a href="buf::AsDeserializingBufferProvider::as_deserializing"><code>as_deserializing()</code></a> to get an object
implementing <a href="trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> by invoking Serde Deserialize.</p>
<p>Examples of BufferProviders:</p>
<ul>
<li><a href="https://docs.rs/icu_provider_fs/latest/icu_provider_fs/struct.FsDataProvider.html"><code>FsDataProvider</code></a> reads individual buffers from the filesystem.</li>
<li><a href="https://docs.rs/icu_provider_blob/latest/icu_provider_blob/struct.BlobDataProvider.html"><code>BlobDataProvider</code></a> reads buffers from a large in-memory blob.</li>
</ul>
<h3 id="provider-adapters"><a class="doc-anchor" href="#provider-adapters">§</a>Provider Adapters</h3>
<p>ICU4X offers several built-in modules to combine providers in interesting ways.
These can be found in the <a href="https://docs.rs/icu_provider_adapters/latest/icu_provider_adapters/index.html"><code>icu_provider_adapters</code></a> crate.</p>
<h3 id="testing-provider"><a class="doc-anchor" href="#testing-provider">§</a>Testing Provider</h3>
<p>This crate also contains a concrete provider for demonstration purposes:</p>
<ul>
<li><a href="hello_world::HelloWorldProvider"><code>HelloWorldProvider</code></a> returns “hello world” strings in several languages.</li>
</ul>
<h3 id="types-and-lifetimes"><a class="doc-anchor" href="#types-and-lifetimes">§</a>Types and Lifetimes</h3>
<p>Types compatible with <a href="../yoke/yokeable/trait.Yokeable.html" title="trait yoke::yokeable::Yokeable"><code>Yokeable</code></a> can be passed through the data provider, so long as they are
associated with a marker type implementing <a href="trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker"><code>DynamicDataMarker</code></a>.</p>
<p>Data structs should generally have one lifetime argument: <code>'data</code>. This lifetime allows data
structs to borrow zero-copy data.</p>
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="baked/index.html" title="mod icu_provider::baked">baked</a></dt><dd>This module contains scaffolding for baked providers, typically generated using
databake.</dd><dt><a class="mod" href="buf/index.html" title="mod icu_provider::buf">buf</a></dt><dd>Traits for data providers that produce opaque buffers.</dd><dt><a class="mod" href="constructors/index.html" title="mod icu_provider::constructors">constructors</a></dt><dd>📚 <em>This module documents ICU4X constructor signatures.</em></dd><dt><a class="mod" href="dynutil/index.html" title="mod icu_provider::dynutil">dynutil</a></dt><dd>Utilities for using trait objects with <code>DataPayload</code>.</dd><dt><a class="mod" href="marker/index.html" title="mod icu_provider::marker">marker</a></dt><dd>Additional <a href="trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a> helpers.</dd><dt><a class="mod" href="prelude/index.html" title="mod icu_provider::prelude">prelude</a></dt><dd>Core selection of APIs and structures for the ICU4X data provider.</dd><dt><a class="mod" href="ule/index.html" title="mod icu_provider::ule">ule</a></dt><dd>Traits that data provider implementations can use to optimize storage
by using <a href="../zerovec/ule/trait.VarULE.html" title="trait zerovec::ule::VarULE"><code>VarULE</code></a>.</dd></dl><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><dl class="item-table"><dt><a class="macro" href="macro._internal_noop_log.html" title="macro icu_provider::_internal_noop_log">_internal_<wbr>noop_<wbr>log</a></dt><dt><a class="macro" href="macro.data_marker.html" title="macro icu_provider::data_marker">data_<wbr>marker</a></dt><dd>Creates a data marker.</dd><dt><a class="macro" href="macro.data_struct.html" title="macro icu_provider::data_struct">data_<wbr>struct</a></dt><dd>Implements required traits on data structs, such as [<code>MaybeEncodeAsVarULE</code>].</dd></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.AttributeParseError.html" title="struct icu_provider::AttributeParseError">Attribute<wbr>Parse<wbr>Error</a></dt><dd>Invalid character</dd><dt><a class="struct" href="struct.Cart.html" title="struct icu_provider::Cart">Cart</a></dt><dd>The type of the “cart” that is used by <a href="struct.DataPayload.html" title="struct icu_provider::DataPayload"><code>DataPayload</code></a>.</dd><dt><a class="struct" href="struct.DataError.html" title="struct icu_provider::DataError">Data<wbr>Error</a></dt><dd>The error type for ICU4X data provider operations.</dd><dt><a class="struct" href="struct.DataIdentifierBorrowed.html" title="struct icu_provider::DataIdentifierBorrowed">Data<wbr>Identifier<wbr>Borrowed</a></dt><dd>The borrowed version of a [<code>DataIdentifierCow</code>].</dd><dt><a class="struct" href="struct.DataLocale.html" title="struct icu_provider::DataLocale">Data<wbr>Locale</a></dt><dd>A locale type optimized for use in fallbacking and the ICU4X data pipeline.</dd><dt><a class="struct" href="struct.DataMarkerAttributes.html" title="struct icu_provider::DataMarkerAttributes">Data<wbr>Marker<wbr>Attributes</a></dt><dd>An additional key to identify data beyond a <a href="struct.DataLocale.html" title="struct icu_provider::DataLocale"><code>DataLocale</code></a>.</dd><dt><a class="struct" href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo">Data<wbr>Marker<wbr>Info</a></dt><dd>Used for loading data from a dynamic ICU4X data provider.</dd><dt><a class="struct" href="struct.DataPayload.html" title="struct icu_provider::DataPayload">Data<wbr>Payload</a></dt><dd>A container for data payloads returned from a data provider.</dd><dt><a class="struct" href="struct.DataProviderWithMarker.html" title="struct icu_provider::DataProviderWithMarker">Data<wbr>Provider<wbr>With<wbr>Marker</a></dt><dd>A <a href="trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> associated with a specific marker.</dd><dt><a class="struct" href="struct.DataRequest.html" title="struct icu_provider::DataRequest">Data<wbr>Request</a></dt><dd>The request type passed into all data provider implementations.</dd><dt><a class="struct" href="struct.DataRequestMetadata.html" title="struct icu_provider::DataRequestMetadata">Data<wbr>Request<wbr>Metadata</a></dt><dd>Metadata for data requests. This is currently empty, but it may be extended with options
for tuning locale fallback, buffer layout, and so forth.</dd><dt><a class="struct" href="struct.DataResponse.html" title="struct icu_provider::DataResponse">Data<wbr>Response</a></dt><dd>A response object containing an object as payload and metadata about it.</dd><dt><a class="struct" href="struct.DataResponseMetadata.html" title="struct icu_provider::DataResponseMetadata">Data<wbr>Response<wbr>Metadata</a></dt><dd>A response object containing metadata about the returned data.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.DataErrorKind.html" title="enum icu_provider::DataErrorKind">Data<wbr>Error<wbr>Kind</a></dt><dd>A list specifying general categories of data provider error.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.BoundDataProvider.html" title="trait icu_provider::BoundDataProvider">Bound<wbr>Data<wbr>Provider</a></dt><dd>A data provider that loads data for a specific data type.</dd><dt><a class="trait" href="trait.DataMarker.html" title="trait icu_provider::DataMarker">Data<wbr>Marker</a></dt><dd>A <a href="trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker"><code>DynamicDataMarker</code></a> with a <a href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo"><code>DataMarkerInfo</code></a> attached.</dd><dt><a class="trait" href="trait.DataProvider.html" title="trait icu_provider::DataProvider">Data<wbr>Provider</a></dt><dd>A data provider that loads data for a specific <a href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo"><code>DataMarkerInfo</code></a>.</dd><dt><a class="trait" href="trait.DryDataProvider.html" title="trait icu_provider::DryDataProvider">DryData<wbr>Provider</a></dt><dd>A data provider that can determine whether it can load a particular data identifier,
potentially cheaper than actually performing the load.</dd><dt><a class="trait" href="trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker">Dynamic<wbr>Data<wbr>Marker</a></dt><dd>Trait marker for data structs. All types delivered by the data provider must be associated with
something implementing this trait.</dd><dt><a class="trait" href="trait.DynamicDataProvider.html" title="trait icu_provider::DynamicDataProvider">Dynamic<wbr>Data<wbr>Provider</a></dt><dd>A data provider that loads data for a specific data type.</dd><dt><a class="trait" href="trait.DynamicDryDataProvider.html" title="trait icu_provider::DynamicDryDataProvider">Dynamic<wbr>DryData<wbr>Provider</a></dt><dd>A dynanmic data provider that can determine whether it can load a particular data identifier,
potentially cheaper than actually performing the load.</dd><dt><a class="trait" href="trait.ResultDataError.html" title="trait icu_provider::ResultDataError">Result<wbr>Data<wbr>Error</a></dt><dd>Extension trait for <code>Result&lt;T, DataError&gt;</code>.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.debug.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.debug.html">macro.debug.html</a>...</p>
<script>location.replace("macro.debug.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/macro._internal_noop_log.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/macro._internal_noop_log.html">../../icu_provider/macro._internal_noop_log.html</a>...</p>
<script>location.replace("../../icu_provider/macro._internal_noop_log.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.error.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.error.html">macro.error.html</a>...</p>
<script>location.replace("macro.error.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/macro._internal_noop_log.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/macro._internal_noop_log.html">../../icu_provider/macro._internal_noop_log.html</a>...</p>
<script>location.replace("../../icu_provider/macro._internal_noop_log.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.info.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.info.html">macro.info.html</a>...</p>
<script>location.replace("macro.info.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/macro._internal_noop_log.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/macro._internal_noop_log.html">../../icu_provider/macro._internal_noop_log.html</a>...</p>
<script>location.replace("../../icu_provider/macro._internal_noop_log.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.trace.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.trace.html">macro.trace.html</a>...</p>
<script>location.replace("macro.trace.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/macro._internal_noop_log.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/macro._internal_noop_log.html">../../icu_provider/macro._internal_noop_log.html</a>...</p>
<script>location.replace("../../icu_provider/macro._internal_noop_log.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.warn.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.warn.html">macro.warn.html</a>...</p>
<script>location.replace("macro.warn.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/macro._internal_noop_log.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/macro._internal_noop_log.html">../../icu_provider/macro._internal_noop_log.html</a>...</p>
<script>location.replace("../../icu_provider/macro._internal_noop_log.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro._internal_noop_log.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro._internal_noop_log.html">macro._internal_noop_log.html</a>...</p>
<script>location.replace("macro._internal_noop_log.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +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 `_internal_noop_log` macro in crate `icu_provider`."><title>_internal_noop_log in icu_provider - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">_internal_noop_log</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">icu_provider</a></div><h1>Macro <span class="macro">_internal_<wbr>noop_<wbr>log</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/icu_provider/lib.rs.html#217-219">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! _internal_noop_log {
($($t:expr),*) =&gt; { ... };
}</code></pre></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.data_marker.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.data_marker.html">macro.data_marker.html</a>...</p>
<script>location.replace("macro.data_marker.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,9 @@
<!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="Creates a data marker."><title>data_marker in icu_provider - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">data_marker</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">data_<wbr>marker</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#examples" title="Examples">Examples</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">icu_provider</a></div><h1>Macro <span class="macro">data_<wbr>marker</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/icu_provider/marker.rs.html#551-594">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! data_marker {
($(#[$doc:meta])* $name:ident, $($debug:literal,)? $struct:ty $(, $(#[$meta:meta])* $info_field:ident = $info_val:expr)* $(,)?) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Creates a data marker.</p>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">icu_provider::data_marker!</span>(DummyV1, <span class="kw-2">&amp;</span><span class="lifetime">'static </span>str);</code></pre></div>
<p>The identifier needs to end with a <code>V</code> followed by one or more digits (the version number).</p>
<p>Invalid identifiers are compile-time errors (as <a href="macro.data_marker.html" title="macro icu_provider::data_marker"><code>data_marker!</code></a> uses <code>const</code>).</p>
<div class="example-wrap compile_fail"><a href="#" class="tooltip" title="This example deliberately fails to compile"></a><pre class="rust rust-example-rendered"><code><span class="macro">icu_provider::data_marker!</span>(Dummy, <span class="kw-2">&amp;</span><span class="lifetime">'static </span>str);</code></pre></div></div></details></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.data_struct.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.data_struct.html">macro.data_struct.html</a>...</p>
<script>location.replace("macro.data_struct.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!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 required traits on data structs, such as [`MaybeEncodeAsVarULE`]."><title>data_struct in icu_provider - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">data_struct</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">icu_provider</a></div><h1>Macro <span class="macro">data_<wbr>struct</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/icu_provider/varule_traits.rs.html#40-81">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! data_struct {
(&lt;$generic:ident: $bound:tt&gt; $ty:path $(, $(#[$attr:meta])*)?) =&gt; { ... };
($ty:path $(, $(#[$attr:meta])*)?) =&gt; { ... };
(
$ty:ty,
varule: $varule:ty,
$(#[$attr:meta])*
encode_as_varule: $encode_as_varule:expr
) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Implements required traits on data structs, such as [<code>MaybeEncodeAsVarULE</code>].</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +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="Additional `DataMarker` helpers."><title>icu_provider::marker - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module marker</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module marker</a></h2><h3><a href="#macros">Module Items</a></h3><ul class="block"><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a></div><h1>Module <span>marker</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/lib.rs.html#138">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Additional <a href="../trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a> helpers.</p>
</div></details><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><dl class="item-table"><dt><a class="macro" href="macro.impl_data_provider_never_marker.html" title="macro icu_provider::marker::impl_data_provider_never_marker">impl_<wbr>data_<wbr>provider_<wbr>never_<wbr>marker</a></dt><dd>Implements <code>DataProvider&lt;NeverMarker&lt;Y&gt;&gt;</code> on a struct.</dd></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.DataMarkerId.html" title="struct icu_provider::marker::DataMarkerId">Data<wbr>Marker<wbr>Id</a></dt><dd>The ID of a data marker.</dd><dt><a class="struct" href="struct.DataMarkerIdHash.html" title="struct icu_provider::marker::DataMarkerIdHash">Data<wbr>Marker<wbr>IdHash</a></dt><dd>A compact hash of a <a href="../struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo"><code>DataMarkerInfo</code></a>. Useful for keys in maps.</dd><dt><a class="struct" href="struct.ErasedMarker.html" title="struct icu_provider::marker::ErasedMarker">Erased<wbr>Marker</a></dt><dd>A marker for the given <code>DataStruct</code>.</dd><dt><a class="struct" href="struct.NeverMarker.html" title="struct icu_provider::marker::NeverMarker">Never<wbr>Marker</a></dt><dd>A <a href="../trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker"><code>DynamicDataMarker</code></a> that never returns data.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.DataMarkerExt.html" title="trait icu_provider::marker::DataMarkerExt">Data<wbr>Marker<wbr>Ext</a></dt><dd>Extension trait for methods on <a href="../trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a></dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.impl_data_provider_never_marker.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.impl_data_provider_never_marker.html">macro.impl_data_provider_never_marker.html</a>...</p>
<script>location.replace("macro.impl_data_provider_never_marker.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,29 @@
<!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 `DataProvider&#60;NeverMarker&#60;Y&#62;&#62;` on a struct."><title>impl_data_provider_never_marker in icu_provider::marker - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">impl_data_provider_never_marker</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">impl_<wbr>data_<wbr>provider_<wbr>never_<wbr>marker</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#examples" title="Examples">Examples</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>marker</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a>::<wbr><a href="index.html">marker</a></div><h1>Macro <span class="macro">impl_<wbr>data_<wbr>provider_<wbr>never_<wbr>marker</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/marker.rs.html#193-211">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! impl_data_provider_never_marker {
($ty:path) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Implements <code>DataProvider&lt;NeverMarker&lt;Y&gt;&gt;</code> on a struct.</p>
<p>For more information, see <a href="struct.NeverMarker.html" title="struct icu_provider::marker::NeverMarker"><code>NeverMarker</code></a>.</p>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>icu_locale_core::langid;
<span class="kw">use </span>icu_provider::hello_world::<span class="kw-2">*</span>;
<span class="kw">use </span>icu_provider::marker::NeverMarker;
<span class="kw">use </span>icu_provider::prelude::<span class="kw-2">*</span>;
<span class="kw">struct </span>MyProvider;
<span class="macro">icu_provider::marker::impl_data_provider_never_marker!</span>(MyProvider);
<span class="kw">let </span>result = DataProvider::&lt;NeverMarker&lt;HelloWorld&lt;<span class="lifetime">'static</span>&gt;&gt;&gt;::load(
<span class="kw-2">&amp;</span>MyProvider,
DataRequest {
id: DataIdentifierBorrowed::for_locale(<span class="kw-2">&amp;</span><span class="macro">langid!</span>(<span class="string">"und"</span>).into()),
..Default::default()
},
);
<span class="macro">assert!</span>(<span class="macro">matches!</span>(
result,
<span class="prelude-val">Err</span>(DataError {
kind: DataErrorKind::MarkerNotFound,
..
})
));</code></pre></div></div></details></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"macro":["impl_data_provider_never_marker"],"struct":["DataMarkerId","DataMarkerIdHash","ErasedMarker","NeverMarker"],"trait":["DataMarkerExt"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
<!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="Extension trait for methods on `DataMarker`"><title>DataMarkerExt in icu_provider::marker - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">DataMarkerExt</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Data<wbr>Marker<wbr>Ext</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.bind" title="bind">bind</a></li><li><a href="#tymethod.make_locale" title="make_locale">make_locale</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In icu_<wbr>provider::<wbr>marker</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">icu_provider</a>::<wbr><a href="index.html">marker</a></div><h1>Trait <span class="trait">Data<wbr>Marker<wbr>Ext</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/icu_provider/marker.rs.html#81-88">Source</a> </span></div><pre class="rust item-decl"><code>pub trait DataMarkerExt: <a class="trait" href="../trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
// Required methods
fn <a href="#tymethod.bind" class="fn">bind</a>&lt;P&gt;(provider: P) -&gt; <a class="struct" href="../struct.DataProviderWithMarker.html" title="struct icu_provider::DataProviderWithMarker">DataProviderWithMarker</a>&lt;Self, P&gt;
<span class="where">where P: <a class="trait" href="../trait.DataProvider.html" title="trait icu_provider::DataProvider">DataProvider</a>&lt;Self&gt;</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.make_locale" class="fn">make_locale</a>(locale: <a class="struct" href="../../icu_locale_core/preferences/locale/struct.LocalePreferences.html" title="struct icu_locale_core::preferences::locale::LocalePreferences">LocalePreferences</a>) -&gt; <a class="struct" href="../struct.DataLocale.html" title="struct icu_provider::DataLocale">DataLocale</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Extension trait for methods on <a href="../trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a></p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.bind" class="method"><a class="src rightside" href="../../src/icu_provider/marker.rs.html#83-85">Source</a><h4 class="code-header">fn <a href="#tymethod.bind" class="fn">bind</a>&lt;P&gt;(provider: P) -&gt; <a class="struct" href="../struct.DataProviderWithMarker.html" title="struct icu_provider::DataProviderWithMarker">DataProviderWithMarker</a>&lt;Self, P&gt;<div class="where">where
P: <a class="trait" href="../trait.DataProvider.html" title="trait icu_provider::DataProvider">DataProvider</a>&lt;Self&gt;,</div></h4></section></summary><div class="docblock"><p>Binds a <a href="../trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a> to a provider supporting it.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.make_locale" class="method"><a class="src rightside" href="../../src/icu_provider/marker.rs.html#87">Source</a><h4 class="code-header">fn <a href="#tymethod.make_locale" class="fn">make_locale</a>(locale: <a class="struct" href="../../icu_locale_core/preferences/locale/struct.LocalePreferences.html" title="struct icu_locale_core::preferences::locale::LocalePreferences">LocalePreferences</a>) -&gt; <a class="struct" href="../struct.DataLocale.html" title="struct icu_provider::DataLocale">DataLocale</a></h4></section></summary><div class="docblock"><p>Constructs a <a href="../struct.DataLocale.html" title="struct icu_provider::DataLocale"><code>DataLocale</code></a> using fallback preferences from this <a href="../trait.DataMarker.html" title="trait icu_provider::DataMarker"><code>DataMarker</code></a>.</p>
</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-DataMarkerExt-for-M" class="impl"><a class="src rightside" href="../../src/icu_provider/marker.rs.html#90-101">Source</a><a href="#impl-DataMarkerExt-for-M" class="anchor">§</a><h3 class="code-header">impl&lt;M: <a class="trait" href="../trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>&gt; <a class="trait" href="trait.DataMarkerExt.html" title="trait icu_provider::marker::DataMarkerExt">DataMarkerExt</a> for M</h3></section></div><script src="../../trait.impl/icu_provider/marker_full/trait.DataMarkerExt.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/marker/struct.DataMarkerId.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/marker/struct.DataMarkerId.html">../../icu_provider/marker/struct.DataMarkerId.html</a>...</p>
<script>location.replace("../../icu_provider/marker/struct.DataMarkerId.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/marker/struct.DataMarkerIdHash.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/marker/struct.DataMarkerIdHash.html">../../icu_provider/marker/struct.DataMarkerIdHash.html</a>...</p>
<script>location.replace("../../icu_provider/marker/struct.DataMarkerIdHash.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataMarkerInfo.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataMarkerInfo.html">../../icu_provider/struct.DataMarkerInfo.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataMarkerInfo.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/marker/struct.ErasedMarker.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/marker/struct.ErasedMarker.html">../../icu_provider/marker/struct.ErasedMarker.html</a>...</p>
<script>location.replace("../../icu_provider/marker/struct.ErasedMarker.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/marker/struct.NeverMarker.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/marker/struct.NeverMarker.html">../../icu_provider/marker/struct.NeverMarker.html</a>...</p>
<script>location.replace("../../icu_provider/marker/struct.NeverMarker.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/trait.DataMarker.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/trait.DataMarker.html">../../icu_provider/trait.DataMarker.html</a>...</p>
<script>location.replace("../../icu_provider/trait.DataMarker.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/marker/trait.DataMarkerExt.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/marker/trait.DataMarkerExt.html">../../icu_provider/marker/trait.DataMarkerExt.html</a>...</p>
<script>location.replace("../../icu_provider/marker/trait.DataMarkerExt.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/trait.DynamicDataMarker.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/trait.DynamicDataMarker.html">../../icu_provider/trait.DynamicDataMarker.html</a>...</p>
<script>location.replace("../../icu_provider/trait.DynamicDataMarker.html" + location.search + location.hash);</script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {};

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.AttributeParseError.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.AttributeParseError.html">../../icu_provider/struct.AttributeParseError.html</a>...</p>
<script>location.replace("../../icu_provider/struct.AttributeParseError.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataIdentifierBorrowed.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataIdentifierBorrowed.html">../../icu_provider/struct.DataIdentifierBorrowed.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataIdentifierBorrowed.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataLocale.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataLocale.html">../../icu_provider/struct.DataLocale.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataLocale.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataMarkerAttributes.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataMarkerAttributes.html">../../icu_provider/struct.DataMarkerAttributes.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataMarkerAttributes.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataRequest.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataRequest.html">../../icu_provider/struct.DataRequest.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataRequest.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataRequestMetadata.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataRequestMetadata.html">../../icu_provider/struct.DataRequestMetadata.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataRequestMetadata.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.Cart.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.Cart.html">../../icu_provider/struct.Cart.html</a>...</p>
<script>location.replace("../../icu_provider/struct.Cart.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataPayload.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataPayload.html">../../icu_provider/struct.DataPayload.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataPayload.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataResponse.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataResponse.html">../../icu_provider/struct.DataResponse.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataResponse.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../icu_provider/struct.DataResponseMetadata.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../icu_provider/struct.DataResponseMetadata.html">../../icu_provider/struct.DataResponseMetadata.html</a>...</p>
<script>location.replace("../../icu_provider/struct.DataResponseMetadata.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["DataErrorKind"],"macro":["_internal_noop_log","data_marker","data_struct"],"mod":["baked","buf","constructors","dynutil","marker","prelude","ule"],"struct":["AttributeParseError","Cart","DataError","DataIdentifierBorrowed","DataLocale","DataMarkerAttributes","DataMarkerInfo","DataPayload","DataProviderWithMarker","DataRequest","DataRequestMetadata","DataResponse","DataResponseMetadata"],"trait":["BoundDataProvider","DataMarker","DataProvider","DryDataProvider","DynamicDataMarker","DynamicDataProvider","DynamicDryDataProvider","ResultDataError"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,25 @@
<!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 data provider that loads data for a specific data type."><title>BoundDataProvider in icu_provider - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">BoundDataProvider</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Bound<wbr>Data<wbr>Provider</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.bound_marker" title="bound_marker">bound_marker</a></li><li><a href="#tymethod.load_bound" title="load_bound">load_bound</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-BoundDataProvider%3CM%3E-for-%26P" title="&#38;P">&#38;P</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">icu_provider</a></div><h1>Trait <span class="trait">Bound<wbr>Data<wbr>Provider</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/icu_provider/data_provider.rs.html#343-354">Source</a> </span></div><pre class="rust item-decl"><code>pub trait BoundDataProvider&lt;M&gt;<div class="where">where
M: <a class="trait" href="trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker">DynamicDataMarker</a>,</div>{
// Required methods
fn <a href="#tymethod.load_bound" class="fn">load_bound</a>(
&amp;self,
req: <a class="struct" href="struct.DataRequest.html" title="struct icu_provider::DataRequest">DataRequest</a>&lt;'_&gt;,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.DataResponse.html" title="struct icu_provider::DataResponse">DataResponse</a>&lt;M&gt;, <a class="struct" href="struct.DataError.html" title="struct icu_provider::DataError">DataError</a>&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.bound_marker" class="fn">bound_marker</a>(&amp;self) -&gt; <a class="struct" href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo">DataMarkerInfo</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A data provider that loads data for a specific data type.</p>
<p>Unlike <a href="trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a>, the provider is bound to a specific marker ahead of time.</p>
<p>This crate provides <a href="struct.DataProviderWithMarker.html" title="struct icu_provider::DataProviderWithMarker"><code>DataProviderWithMarker</code></a> which implements this trait on a single provider
with a single marker. However, this trait can also be implemented on providers that fork between
multiple markers that all return the same data type. For example, it can abstract over many
calendar systems in the datetime formatter.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.load_bound" class="method"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#351">Source</a><h4 class="code-header">fn <a href="#tymethod.load_bound" class="fn">load_bound</a>(&amp;self, req: <a class="struct" href="struct.DataRequest.html" title="struct icu_provider::DataRequest">DataRequest</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.DataResponse.html" title="struct icu_provider::DataResponse">DataResponse</a>&lt;M&gt;, <a class="struct" href="struct.DataError.html" title="struct icu_provider::DataError">DataError</a>&gt;</h4></section></summary><div class="docblock"><p>Query the provider for data, returning the result.</p>
<p>Returns <a href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html#variant.Ok" title="variant core::result::Result::Ok"><code>Ok</code></a> if the request successfully loaded data. If data failed to load, returns an
Error with more information.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.bound_marker" class="method"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#353">Source</a><h4 class="code-header">fn <a href="#tymethod.bound_marker" class="fn">bound_marker</a>(&amp;self) -&gt; <a class="struct" href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo">DataMarkerInfo</a></h4></section></summary><div class="docblock"><p>Returns the <a href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo"><code>DataMarkerInfo</code></a> that this provider uses for loading data.</p>
</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-BoundDataProvider%3CM%3E-for-%26P" class="impl"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#356-369">Source</a><a href="#impl-BoundDataProvider%3CM%3E-for-%26P" class="anchor">§</a><h3 class="code-header">impl&lt;M, P&gt; <a class="trait" href="trait.BoundDataProvider.html" title="trait icu_provider::BoundDataProvider">BoundDataProvider</a>&lt;M&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;P</a><div class="where">where
M: <a class="trait" href="trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker">DynamicDataMarker</a>,
P: <a class="trait" href="trait.BoundDataProvider.html" title="trait icu_provider::BoundDataProvider">BoundDataProvider</a>&lt;M&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.load_bound" class="method trait-impl"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#362-364">Source</a><a href="#method.load_bound" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.load_bound" class="fn">load_bound</a>(&amp;self, req: <a class="struct" href="struct.DataRequest.html" title="struct icu_provider::DataRequest">DataRequest</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.DataResponse.html" title="struct icu_provider::DataResponse">DataResponse</a>&lt;M&gt;, <a class="struct" href="struct.DataError.html" title="struct icu_provider::DataError">DataError</a>&gt;</h4></section><section id="method.bound_marker" class="method trait-impl"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#366-368">Source</a><a href="#method.bound_marker" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.bound_marker" class="fn">bound_marker</a>(&amp;self) -&gt; <a class="struct" href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo">DataMarkerInfo</a></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-BoundDataProvider%3CM0%3E-for-DataProviderWithMarker%3CM,+P%3E" class="impl"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#443-458">Source</a><a href="#impl-BoundDataProvider%3CM0%3E-for-DataProviderWithMarker%3CM,+P%3E" class="anchor">§</a><h3 class="code-header">impl&lt;M, M0, Y, P&gt; <a class="trait" href="trait.BoundDataProvider.html" title="trait icu_provider::BoundDataProvider">BoundDataProvider</a>&lt;M0&gt; for <a class="struct" href="struct.DataProviderWithMarker.html" title="struct icu_provider::DataProviderWithMarker">DataProviderWithMarker</a>&lt;M, P&gt;<div class="where">where
M: <a class="trait" href="trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a>&lt;DataStruct = Y&gt;,
M0: <a class="trait" href="trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker">DynamicDataMarker</a>&lt;DataStruct = Y&gt;,
Y: for&lt;'a&gt; <a class="trait" href="../yoke/yokeable/trait.Yokeable.html" title="trait yoke::yokeable::Yokeable">Yokeable</a>&lt;'a&gt;,
P: <a class="trait" href="trait.DataProvider.html" title="trait icu_provider::DataProvider">DataProvider</a>&lt;M&gt;,</div></h3></section></div><script src="../trait.impl/icu_provider/data_provider/trait.BoundDataProvider.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1,14 @@
<!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 `DynamicDataMarker` with a `DataMarkerInfo` attached."><title>DataMarker in icu_provider - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">DataMarker</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Data<wbr>Marker</a></h2><h3><a href="#required-associated-consts">Required Associated Constants</a></h3><ul class="block"><li><a href="#associatedconstant.INFO" title="INFO">INFO</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">icu_provider</a></div><h1>Trait <span class="trait">Data<wbr>Marker</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/icu_provider/marker.rs.html#75-78">Source</a> </span></div><pre class="rust item-decl"><code>pub trait DataMarker: <a class="trait" href="trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker">DynamicDataMarker</a> {
const <a href="#associatedconstant.INFO" class="constant">INFO</a>: <a class="struct" href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo">DataMarkerInfo</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A <a href="trait.DynamicDataMarker.html" title="trait icu_provider::DynamicDataMarker"><code>DynamicDataMarker</code></a> with a <a href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo"><code>DataMarkerInfo</code></a> attached.</p>
<p>Structs implementing this trait are normally generated with the <a href="macro.data_struct.html" title="macro icu_provider::data_struct"><code>data_struct!</code></a> macro.</p>
<p>Implementing this trait enables this marker to be used with the main <a href="trait.DataProvider.html" title="trait icu_provider::DataProvider"><code>DataProvider</code></a> trait.
Most markers should be associated with a specific marker and should therefore implement this
trait.</p>
<p><a href="buf/struct.BufferMarker.html" title="struct icu_provider::buf::BufferMarker"><code>BufferMarker</code></a> is an example of a marker that does <em>not</em> implement this trait.</p>
<p>Note: <code>DataMarker</code>s are quasi-const-generic compile-time objects, and as such are expected
to be unit structs. As this is not something that can be enforced by the type system, we
currently only have a <code>'static</code> bound on them (which is needed by a lot of our code).</p>
</div></details><h2 id="required-associated-consts" class="section-header">Required Associated Constants<a href="#required-associated-consts" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedconstant.INFO" class="method"><a class="src rightside" href="../src/icu_provider/marker.rs.html#77">Source</a><h4 class="code-header">const <a href="#associatedconstant.INFO" class="constant">INFO</a>: <a class="struct" href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo">DataMarkerInfo</a></h4></section></summary><div class="docblock"><p>The single <a href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo"><code>DataMarkerInfo</code></a> associated with this marker.</p>
</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-DataMarker-for-NeverMarker%3CY%3E" class="impl"><a class="src rightside" href="../src/icu_provider/marker.rs.html#148-157">Source</a><a href="#impl-DataMarker-for-NeverMarker%3CY%3E" class="anchor">§</a><h3 class="code-header">impl&lt;Y&gt; <a class="trait" href="trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a> for <a class="struct" href="marker/struct.NeverMarker.html" title="struct icu_provider::marker::NeverMarker">NeverMarker</a>&lt;Y&gt;<div class="where">where
for&lt;'a&gt; Y: <a class="trait" href="../yoke/yokeable/trait.Yokeable.html" title="trait yoke::yokeable::Yokeable">Yokeable</a>&lt;'a&gt;,</div></h3></section></summary><div class="impl-items"><section id="associatedconstant.INFO-1" class="associatedconstant trait-impl"><a class="src rightside" href="../src/icu_provider/marker.rs.html#152-156">Source</a><a href="#associatedconstant.INFO-1" class="anchor">§</a><h4 class="code-header">const <a href="#associatedconstant.INFO" class="constant">INFO</a>: <a class="struct" href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo">DataMarkerInfo</a></h4></section></div></details></div><script src="../trait.impl/icu_provider/marker_full/trait.DataMarker.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!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 data provider that loads data for a specific `DataMarkerInfo`."><title>DataProvider in icu_provider - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="icu_provider" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">DataProvider</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../icu_provider/index.html">icu_<wbr>provider</a><span class="version">2.1.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Data<wbr>Provider</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.load" title="load">load</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-DataProvider%3CM%3E-for-%26P" title="&#38;P">&#38;P</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate icu_<wbr>provider</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">icu_provider</a></div><h1>Trait <span class="trait">Data<wbr>Provider</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/icu_provider/data_provider.rs.html#11-20">Source</a> </span></div><pre class="rust item-decl"><code>pub trait DataProvider&lt;M&gt;<div class="where">where
M: <a class="trait" href="trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a>,</div>{
// Required method
fn <a href="#tymethod.load" class="fn">load</a>(&amp;self, req: <a class="struct" href="struct.DataRequest.html" title="struct icu_provider::DataRequest">DataRequest</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.DataResponse.html" title="struct icu_provider::DataResponse">DataResponse</a>&lt;M&gt;, <a class="struct" href="struct.DataError.html" title="struct icu_provider::DataError">DataError</a>&gt;;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A data provider that loads data for a specific <a href="struct.DataMarkerInfo.html" title="struct icu_provider::DataMarkerInfo"><code>DataMarkerInfo</code></a>.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.load" class="method"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#19">Source</a><h4 class="code-header">fn <a href="#tymethod.load" class="fn">load</a>(&amp;self, req: <a class="struct" href="struct.DataRequest.html" title="struct icu_provider::DataRequest">DataRequest</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.DataResponse.html" title="struct icu_provider::DataResponse">DataResponse</a>&lt;M&gt;, <a class="struct" href="struct.DataError.html" title="struct icu_provider::DataError">DataError</a>&gt;</h4></section></summary><div class="docblock"><p>Query the provider for data, returning the result.</p>
<p>Returns <a href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html#variant.Ok" title="variant core::result::Result::Ok"><code>Ok</code></a> if the request successfully loaded data. If data failed to load, returns an
Error with more information.</p>
</div></details></div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-DataProvider%3CM%3E-for-%26P" class="impl"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#22-31">Source</a><a href="#impl-DataProvider%3CM%3E-for-%26P" class="anchor">§</a><h3 class="code-header">impl&lt;M, P&gt; <a class="trait" href="trait.DataProvider.html" title="trait icu_provider::DataProvider">DataProvider</a>&lt;M&gt; for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/core/primitive.reference.html">&amp;P</a><div class="where">where
M: <a class="trait" href="trait.DataMarker.html" title="trait icu_provider::DataMarker">DataMarker</a>,
P: <a class="trait" href="trait.DataProvider.html" title="trait icu_provider::DataProvider">DataProvider</a>&lt;M&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><section id="method.load" class="method trait-impl"><a class="src rightside" href="../src/icu_provider/data_provider.rs.html#28-30">Source</a><a href="#method.load" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.load" class="fn">load</a>(&amp;self, req: <a class="struct" href="struct.DataRequest.html" title="struct icu_provider::DataRequest">DataRequest</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.DataResponse.html" title="struct icu_provider::DataResponse">DataResponse</a>&lt;M&gt;, <a class="struct" href="struct.DataError.html" title="struct icu_provider::DataError">DataError</a>&gt;</h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/icu_provider/data_provider/trait.DataProvider.js" async></script></section></div></main></body></html>

Some files were not shown because too many files have changed in this diff Show More