<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `ROOT_PLAYER_DIR` struct in crate `abstio`."><metaname="keywords"content="rust, rustlang, rust-lang, ROOT_PLAYER_DIR"><title>ROOT_PLAYER_DIR in abstio::abst_paths - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="stylesheet"type="text/css"href="../../light.css"id="themeStyle"><scriptid="default-settings"></script><scriptsrc="../../storage.js"></script><scriptsrc="../../crates.js"></script><scriptdefersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../abstio/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><h2class="location"><ahref="#">ROOT_PLAYER_DIR</a></h2><divclass="sidebar-elems"><section><divclass="block"><h3class="sidebar-title"><ahref="#fields">Fields</a></h3><ul><li><ahref="#structfield.__private_field">__private_field</a></li></ul></div><divclass="block"><h3class="sidebar-title"><ahref="#deref-methods-String">Methods from Deref<Target=String></a></h3><ul><li><ahref="#method.as_bytes">as_bytes</a></li><li><ahref="#method.as_str">as_str</a></li><li><ahref="#method.capacity">capacity</a></li><li><ahref="#method.is_empty">is_empty</a></li><li><ahref="#method.len">len</a></li></ul></div><divclass="block"><h3class="sidebar-title"><ahref="#deref-methods-str">Methods from Deref<Target=str></a></h3><ul><li><ahref="#method.as_bytes">as_bytes</a></li><li><ahref="#method.as_ptr">as_ptr</a></li><li><ahref="#method.bytes">bytes</a></li><li><ahref="#method.ceil_char_boundary">ceil_char_boundary</a></li><li><ahref="#method.char_indices">char_indices</a></li><li><ahref="#method.chars">chars</a></li><li><ahref="#method.contains">contains</a></li><li><ahref="#method.encode_utf16">encode_utf16</a></li><li><ahref="#method.ends_with">ends_with</a></li><li><ahref="#method.eq_ignore_ascii_case">eq_ignore_ascii_case</a></li><li><ahref="#method.escape_debug">escape_debug</a></li><li><ahref="#method.escape_default">escape_default</a></li><li><ahref="#method.escape_unicode">escape_unicode</a></li><li><ahref="#method.find">find</a></li><li><ahref="#method.floor_char_boundary">floor_char_boundary</a></li><li><ahref="#method.get">get</a></li><li><ahref="#method.get_unchecked">get_unchecked</a></li><li><ahref="#method.is_ascii">is_ascii</a></li><li><ahref="#method.is_char_boundary">is_char_boundary</a></li><li><ahref="#method.is_empty">is_empty</a></li><li><ahref="#method.len">len</a></li><li><ahref="#method.lines">lines</a></li><li><ahref="#method.lines_any">lines_any</a></li><li><ahref="#method.match_indices">match_indices</a></li><li><ahref="#method.matches">matches</a></li><li><ahref="#method.parse">parse</a></li><li><ahref="#method.repeat">repeat</a></li><li><ahref="#method.replace">replace</a></li><li><ahref="#method.replacen">replacen</a></li><li><ahref="#method.rfind">rfind</a></li><li><ahref="#method.rmatch_indices">rmatch_indices</a></li><li><ahref="#method.rmatches">rmatches</a></li><li><ahref="#method.rsplit">rsplit</a></li><li><ahref="#method.rsplit_once">rsplit_once</a></li><li><ahref="#method.rsplit_terminator">rsplit_terminator</a></li><li><ahref="#method.rsplitn">rsplitn</a></li><li><ahref="#method.slice_unchecked">slice_unchecked</a></li><li><ahref="#method.split">split</a></li><li><ahref="#method.split_ascii_whitespace">split_ascii_whitespace</a></li><li><ahref="#method.split_at">split_at</a></li><li><ahref="#method.split_inclusive">split_inclusive</a></li><li><ahref="#method.split_once">split_once</a></li><li><ahref="#method.split_terminator">split_terminator</a></li><li><ahref="#method.split_whitespace">split_whitespace</a></li><li><ahref="#method.splitn">splitn</a></li><li><ahref="#method.starts_with">starts_with</a></li><li><ahref="#method.strip_prefix">strip_prefix</a></li><li><ahref="#method.strip_suffix">strip_suffix</a></li><li><ahref="#method.to_ascii_lowercase">to_ascii_lowercase</a></li><li><ahref="#method.to_ascii_uppercase">to_ascii_uppercase</a></li><li><ahref="#method.to_lowercase">to_lowercase</a></li><li><ahref="#method.to_uppercase">to_uppercase</a></li><li><ahref="#method.trim">trim</a></li><li><ahref="#method.trim_end">trim_end</a></li><li><ahref="#method.trim_end_matches">trim_end_matches</a></li><li><ahref="#method.trim_left">trim_left</a></li><li><ahref="#method.trim_left_matches">trim_left_matches</a></li><li><ahref="#method.trim_matches">trim_matches</a></li><li><ahref="#method.trim_right">trim_right</a></li><li><ahref="#method.trim_right_matches">trim_right_matches</a></li><li><ahref="#method.trim_start">trim_start</a></li><li><ahref="#method.trim_start_matches">trim_start_matches</a></li></ul></
<h1class="fqn"><spanclass="in-band">Struct <ahref="../index.html">abstio</a>::<wbr><ahref="index.html">abst_paths</a>::<wbr><aclass="struct"href="#">ROOT_PLAYER_DIR</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/abstio/abst_paths.rs.html#14-57">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust struct"><code>struct ROOT_PLAYER_DIR {
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.capacity"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/string.rs.html#903">source</a></span><ahref="#method.capacity"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.capacity"class="fnname">capacity</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass="docblock"><p>Returns this <code>String</code>’s capacity, in bytes.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.as_bytes"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/string.rs.html#1171">source</a></span><ahref="#method.as_bytes"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.as_bytes"class="fnname">as_bytes</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">&[</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">]</a><spanclass="notable-traits"><spanclass="notable-traits-tooltip">ⓘ<spanclass="notable-traits-tooltiptext"><spanclass="docblock"><spanclass="notable">Notable traits for <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">&'_ mut [</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">]</a></span><codeclass="content"><spanclass="where fmt-newline">impl<'_><aclass="trait"href="https://doc.rust-lang.org/1.60.0/std/io/trait.Write.html"title="trait std::io::Write">Write</a> for <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">&'_ mut [</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">]</a></span><spanclass="where fmt-newline">impl<'_><aclass="trait"href="https://doc.rust-lang.org/1.60.0/std/io/trait.Read.html"title="trait std::io::Read">Read</a> for <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">&'_ [</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">]</a></span></code></span></span></span></span></h4></section></summary><divclass="docblock"><p>Returns a byte slice of this <code>String</code>’s contents.</p>
<p>The inverse of this method is <ahref="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html#method.from_utf8"><code>from_utf8</code></a>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.len"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/string.rs.html#1550">source</a></span><ahref="#method.len"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.len"class="fnname">len</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass="docblock"><p>Returns the length of this <code>String</code>, in bytes, not <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"title="char"><code>char</code></a>s or
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.is_empty"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/string.rs.html#1570">source</a></span><ahref="#method.is_empty"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.is_empty"class="fnname">is_empty</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if this <code>String</code> has a length of zero, and <code>false</code> otherwise.</p>
</div></details></div><h2id="deref-methods-str"class="small-section-header"><span>Methods from <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/ops/deref/trait.Deref.html"title="trait core::ops::deref::Deref">Deref</a><Target = <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a>></span><ahref="#deref-methods-str"class="anchor"></a></h2><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.len-1"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#142">source</a></span><ahref="#method.len-1"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.len-1"class="fnname">len</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass="docblock"><p>Returns the length of <code>self</code>.</p>
<p>This length is in bytes, not <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s or graphemes. In other words,
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.is_empty-1"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#163">source</a></span><ahref="#method.is_empty-1"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.is_empty-1"class="fnname">is_empty</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if <code>self</code> has a length of zero bytes.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.is_char_boundary"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.9.0">1.9.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#193">source</a></span><ahref="#method.is_char_boundary"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.is_char_boundary"class="fnname">is_char_boundary</a>(&self, index: <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Checks that <code>index</code>-th byte is the first byte in a UTF-8 code point
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.floor_char_boundary"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#240">source</a></span><ahref="#method.floor_char_boundary"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.floor_char_boundary"class="fnname">floor_char_boundary</a>(&self, index: <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a></h4></section><divclass="item-info"><divclass="stab unstable"><spanclass="emoji">🔬</span> This is a nightly-only experimental API. (<code>round_char_boundary</code>)</div></div></summary><divclass="docblock"><p>Finds the closest <code>x</code> not exceeding <code>index</code> where <code>is_char_boundary(x)</code> is <code>true</code>.</p>
<p>This method can help you truncate a string so that it’s still valid UTF-8, but doesn’t
exceed a given number of bytes. Note that this is done purely at the character level
and can still visually split graphemes, even though the underlying characters aren’t
split. For example, the emoji 🧑🔬 (scientist) could be split so that the string only
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.ceil_char_boundary"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#279">source</a></span><ahref="#method.ceil_char_boundary"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.ceil_char_boundary"class="fnname">ceil_char_boundary</a>(&self, index: <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a></h4></section><divclass="item-info"><divclass="stab unstable"><spanclass="emoji">🔬</span> This is a nightly-only experimental API. (<code>round_char_boundary</code>)</div></div></summary><divclass="docblock"><p>Finds the closest <code>x</code> not below <code>index</code> where <code>is_char_boundary(x)</code> is <code>true</code>.</p>
<p>This method is the natural complement to <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.floor_char_boundary"><code>floor_char_boundary</code></a>. See that method
for more details.</p>
<h5id="panics"><ahref="#panics">Panics</a></h5>
<p>Panics if <code>index > self.len()</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.as_bytes-1"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#307">source</a></span><ahref="#method.as_bytes-1"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.as_bytes-1"class="fnname">as_bytes</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">&[</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">]</a><spanclass="notable-traits"><spanclass="notable-traits-tooltip">ⓘ<spanclass="notable-traits-tooltiptext"><spanclass="docblock"><spanclass="notable">Notable traits for <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">&'_ mut [</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">]</a></span><codeclass="content"><spanclass="where fmt-newline">impl<'_><aclass="trait"href="https://doc.rust-lang.org/1.60.0/std/io/trait.Write.html"title="trait std::io::Write">Write</a> for <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">&'_ mut [</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">]</a></span><spanclass="where fmt-newline">impl<'_><aclass="trait"href="https://doc.rust-lang.org/1.60.0/std/io/trait.Read.html"title="trait std::io::Read">Read</a> for <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">&'_ [</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.slice.html">]</a></span></code></span></span></span></span></h4></section></summary><divclass="docblock"><p>Converts a string slice to a byte slice. To convert the byte slice back
into a string slice, use the <ahref="https://doc.rust-lang.org/1.60.0/core/str/converts/fn.from_utf8.html"title="from_utf8"><code>from_utf8</code></a> function.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.as_ptr"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#382">source</a></span><ahref="#method.as_ptr"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.as_ptr"class="fnname">as_ptr</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.pointer.html">*const </a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html">u8</a></h4></section></summary><divclass="docblock"><p>Converts a string slice to a raw pointer.</p>
<ahref="https://doc.rust-lang.org/1.60.0/std/primitive.u8.html"title="u8"><code>u8</code></a>. This pointer will be pointing to the first byte of the string
If you need to mutate the contents of the string slice, use <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.as_mut_ptr"><code>as_mut_ptr</code></a>.</p>
alternative see <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html"title="str"><code>str</code></a> and <ahref="https://doc.rust-lang.org/1.60.0/core/ops/index/trait.Index.html"><code>Index</code></a>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.split_at"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.4.0">1.4.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#647">source</a></span><ahref="#method.split_at"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.split_at"class="fnname">split_at</a>(&self, mid: <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.tuple.html">(</a>&<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a>, &<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.tuple.html">)</a></h4></section></summary><divclass="docblock"><p>Divide one string slice into two at an index.</p>
<p>To get mutable string slices instead, see the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.split_at_mut"><code>split_at_mut</code></a>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.chars"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#757">source</a></span><ahref="#method.chars"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.chars"class="fnname">chars</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.Chars.html"title="struct core::str::iter::Chars">Chars</a><'_></h4></section></summary><divclass="docblock"><p>Returns an iterator over the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s of a string slice.</p>
<p>Remember, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s might not match your intuition about characters:</p>
<spanclass="macro">assert_eq!</span>(<spanclass="prelude-val">Some</span>(<spanclass="string">'y'</span>), <spanclass="ident">chars</span>.<spanclass="ident">next</span>()); <spanclass="comment">// not 'y̆'</span>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.char_indices"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#814">source</a></span><ahref="#method.char_indices"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.char_indices"class="fnname">char_indices</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.CharIndices.html"title="struct core::str::iter::CharIndices">CharIndices</a><'_></h4></section></summary><divclass="docblock"><p>Returns an iterator over the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s of a string slice, and their
<p>Remember, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s might not match your intuition about characters:</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.bytes"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#839">source</a></span><ahref="#method.bytes"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.bytes"class="fnname">bytes</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.Bytes.html"title="struct core::str::iter::Bytes">Bytes</a><'_></h4></section></summary><divclass="docblock"><p>An iterator over the bytes of a string slice.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.split_whitespace"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.1.0">1.1.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#884">source</a></span><ahref="#method.split_whitespace"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.split_whitespace"class="fnname">split_whitespace</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.SplitWhitespace.html"title="struct core::str::iter::SplitWhitespace">SplitWhitespace</a><'_></h4></section></summary><divclass="docblock"><p>Splits a string slice by whitespace.</p>
instead, use <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.split_ascii_whitespace"><code>split_ascii_whitespace</code></a>.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="kw-2">mut</span><spanclass="ident">iter</span><spanclass="op">=</span><spanclass="string">"A few words"</span>.<spanclass="ident">split_whitespace</span>();
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.split_ascii_whitespace"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.34.0">1.34.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#927">source</a></span><ahref="#method.split_ascii_whitespace"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.split_ascii_whitespace"class="fnname">split_ascii_whitespace</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.SplitAsciiWhitespace.html"title="struct core::str::iter::SplitAsciiWhitespace">SplitAsciiWhitespace</a><'_></h4></section></summary><divclass="docblock"><p>Splits a string slice by ASCII whitespace.</p>
<p>To split by Unicode <code>Whitespace</code> instead, use <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.split_whitespace"><code>split_whitespace</code></a>.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="kw-2">mut</span><spanclass="ident">iter</span><spanclass="op">=</span><spanclass="string">"A few words"</span>.<spanclass="ident">split_ascii_whitespace</span>();
<p>All kinds of ASCII whitespace are considered:</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="kw-2">mut</span><spanclass="ident">iter</span><spanclass="op">=</span><spanclass="string">" Mary had\ta little \n\t lamb"</span>.<spanclass="ident">split_ascii_whitespace</span>();
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.lines"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#973">source</a></span><ahref="#method.lines"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.lines"class="fnname">lines</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.Lines.html"title="struct core::str::iter::Lines">Lines</a><'_></h4></section></summary><divclass="docblock"><p>An iterator over the lines of a string, as string slices.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.encode_utf16"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.8.0">1.8.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1003">source</a></span><ahref="#method.encode_utf16"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.encode_utf16"class="fnname">encode_utf16</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.EncodeUtf16.html"title="struct core::str::iter::EncodeUtf16">EncodeUtf16</a><'_></h4></section></summary><divclass="docblock"><p>Returns an iterator of <code>u16</code> over the string encoded as UTF-16.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.contains"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1030">source</a></span><ahref="#method.contains"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.contains"class="fnname">contains</a><'a, P>(&'a self, pat: P) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if the given pattern matches a sub-slice of
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.starts_with"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1056">source</a></span><ahref="#method.starts_with"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.starts_with"class="fnname">starts_with</a><'a, P>(&'a self, pat: P) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if the given pattern matches a prefix of this
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.ends_with"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1082-1084">source</a></span><ahref="#method.ends_with"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.ends_with"class="fnname">ends_with</a><'a, P>(&'a self, pat: P) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.bool.html">bool</a><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.ReverseSearcher.html"title="trait core::str::pattern::ReverseSearcher">ReverseSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Returns <code>true</code> if the given pattern matches a suffix of this
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.find"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1133">source</a></span><ahref="#method.find"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.find"class="fnname">find</a><'a, P>(&'a self, pat: P) -><aclass="enum"href="https://doc.rust-lang.org/1.60.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Returns the byte index of the first character of this string slice that
<p>Returns <ahref="https://doc.rust-lang.org/1.60.0/core/option/enum.Option.html#variant.None"title="None"><code>None</code></a> if the pattern doesn’t match.</p>
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.rfind"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1179-1181">source</a></span><ahref="#method.rfind"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.rfind"class="fnname">rfind</a><'a, P>(&'a self, pat: P) -><aclass="enum"href="https://doc.rust-lang.org/1.60.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.ReverseSearcher.html"title="trait core::str::pattern::ReverseSearcher">ReverseSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Returns the byte index for the first character of the rightmost match of the pattern in
<p>Returns <ahref="https://doc.rust-lang.org/1.60.0/core/option/enum.Option.html#variant.None"title="None"><code>None</code></a> if the pattern doesn’t match.</p>
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.split"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1301">source</a></span><ahref="#method.split"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.split"class="fnname">split</a><'a, P>(&'a self, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.Split.html"title="struct core::str::iter::Split">Split</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over substrings of this string slice, separated by
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>The returned iterator will be a <ahref="https://doc.rust-lang.org/1.60.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html"title="DoubleEndedIterator"><code>DoubleEndedIterator</code></a> if the pattern
elements. This is true for, e.g., <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, but not for <code>&str</code>.</p>
from a forward search, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.rsplit"><code>rsplit</code></a> method can be used.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">v</span>: <spanclass="ident">Vec</span><spanclass="op"><</span><spanclass="kw-2">&</span><spanclass="ident">str</span><spanclass="op">></span><spanclass="op">=</span><spanclass="string">"Mary had a little lamb"</span>.<spanclass="ident">split</span>(<spanclass="string">''</span>).<spanclass="ident">collect</span>();
<p>Contiguous separators can lead to possibly surprising behavior
when whitespace is used as the separator. This code is correct:</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">x</span><spanclass="op">=</span><spanclass="string">" a b c"</span>.<spanclass="ident">to_string</span>();
<p>Use <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.split_whitespace"><code>split_whitespace</code></a> for this behavior.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.split_inclusive"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.51.0">1.51.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1341">source</a></span><ahref="#method.split_inclusive"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.split_inclusive"class="fnname">split_inclusive</a><'a, P>(&'a self, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.SplitInclusive.html"title="struct core::str::iter::SplitInclusive">SplitInclusive</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over substrings of this string slice, separated by
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">v</span>: <spanclass="ident">Vec</span><spanclass="op"><</span><spanclass="kw-2">&</span><spanclass="ident">str</span><spanclass="op">></span><spanclass="op">=</span><spanclass="string">"Mary had a little lamb\nlittle lamb\nlittle lamb."</span>
<spanclass="macro">assert_eq!</span>(<spanclass="ident">v</span>, [<spanclass="string">"Mary had a little lamb\n"</span>, <spanclass="string">"little lamb\n"</span>, <spanclass="string">"little lamb."</span>]);</code></pre></div>
<p>If the last element of the string is matched,
that element will be considered the terminator of the preceding substring.
That substring will be the last item returned by the iterator.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">v</span>: <spanclass="ident">Vec</span><spanclass="op"><</span><spanclass="kw-2">&</span><spanclass="ident">str</span><spanclass="op">></span><spanclass="op">=</span><spanclass="string">"Mary had a little lamb\nlittle lamb\nlittle lamb.\n"</span>
<spanclass="macro">assert_eq!</span>(<spanclass="ident">v</span>, [<spanclass="string">"Mary had a little lamb\n"</span>, <spanclass="string">"little lamb\n"</span>, <spanclass="string">"little lamb.\n"</span>]);</code></pre></div>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.rsplit"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1396-1398">source</a></span><ahref="#method.rsplit"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.rsplit"class="fnname">rsplit</a><'a, P>(&'a self, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.RSplit.html"title="struct core::str::iter::RSplit">RSplit</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.ReverseSearcher.html"title="trait core::str::pattern::ReverseSearcher">ReverseSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over substrings of the given string slice, separated by
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
search, and it will be a <ahref="https://doc.rust-lang.org/1.60.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html"title="DoubleEndedIterator"><code>DoubleEndedIterator</code></a> if a forward/reverse
<p>For iterating from the front, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.split"><code>split</code></a> method can be used.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">v</span>: <spanclass="ident">Vec</span><spanclass="op"><</span><spanclass="kw-2">&</span><spanclass="ident">str</span><spanclass="op">></span><spanclass="op">=</span><spanclass="string">"Mary had a little lamb"</span>.<spanclass="ident">rsplit</span>(<spanclass="string">''</span>).<spanclass="ident">collect</span>();
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.split_terminator"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1447">source</a></span><ahref="#method.split_terminator"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.split_terminator"class="fnname">split_terminator</a><'a, P>(&'a self, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.SplitTerminator.html"title="struct core::str::iter::SplitTerminator">SplitTerminator</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over substrings of the given string slice, separated by
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>Equivalent to <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.split"><code>split</code></a>, except that the trailing substring
<p>The returned iterator will be a <ahref="https://doc.rust-lang.org/1.60.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html"title="DoubleEndedIterator"><code>DoubleEndedIterator</code></a> if the pattern
elements. This is true for, e.g., <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, but not for <code>&str</code>.</p>
from a forward search, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.rsplit_terminator"><code>rsplit_terminator</code></a> method can be used.</p>
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>Equivalent to <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.split"><code>split</code></a>, except that the trailing substring is
<p>For iterating from the front, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.split_terminator"><code>split_terminator</code></a> method can be
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.splitn"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1548">source</a></span><ahref="#method.splitn"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.splitn"class="fnname">splitn</a><'a, P>(&'a self, n: <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.SplitN.html"title="struct core::str::iter::SplitN">SplitN</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over substrings of the given string slice, separated by a
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>If the pattern allows a reverse search, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.rsplitn"><code>rsplitn</code></a> method can be
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">v</span>: <spanclass="ident">Vec</span><spanclass="op"><</span><spanclass="kw-2">&</span><spanclass="ident">str</span><spanclass="op">></span><spanclass="op">=</span><spanclass="string">"Mary had a little lambda"</span>.<spanclass="ident">splitn</span>(<spanclass="number">3</span>, <spanclass="string">''</span>).<spanclass="ident">collect</span>();
<spanclass="macro">assert_eq!</span>(<spanclass="ident">v</span>, [<spanclass="string">"Mary"</span>, <spanclass="string">"had"</span>, <spanclass="string">"a little lambda"</span>]);
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.rsplitn"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1597-1599">source</a></span><ahref="#method.rsplitn"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.rsplitn"class="fnname">rsplitn</a><'a, P>(&'a self, n: <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.RSplitN.html"title="struct core::str::iter::RSplitN">RSplitN</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.ReverseSearcher.html"title="trait core::str::pattern::ReverseSearcher">ReverseSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over substrings of this string slice, separated by a
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>For splitting from the front, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.splitn"><code>splitn</code></a> method can be used.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">v</span>: <spanclass="ident">Vec</span><spanclass="op"><</span><spanclass="kw-2">&</span><spanclass="ident">str</span><spanclass="op">></span><spanclass="op">=</span><spanclass="string">"Mary had a little lamb"</span>.<spanclass="ident">rsplitn</span>(<spanclass="number">3</span>, <spanclass="string">''</span>).<spanclass="ident">collect</span>();
<spanclass="macro">assert_eq!</span>(<spanclass="ident">v</span>, [<spanclass="string">"lamb"</span>, <spanclass="string">"little"</span>, <spanclass="string">"Mary had a"</span>]);
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.split_once"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.52.0">1.52.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1616">source</a></span><ahref="#method.split_once"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.split_once"class="fnname">split_once</a><'a, P>(&'a self, delimiter: P) -><aclass="enum"href="https://doc.rust-lang.org/1.60.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.tuple.html">(</a>&'a <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a>, &'a <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.tuple.html">)</a>><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Splits the string on the first occurrence of the specified delimiter and
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.rsplit_once"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.52.0">1.52.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1634-1636">source</a></span><ahref="#method.rsplit_once"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.rsplit_once"class="fnname">rsplit_once</a><'a, P>(&'a self, delimiter: P) -><aclass="enum"href="https://doc.rust-lang.org/1.60.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.tuple.html">(</a>&'a <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a>, &'a <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.tuple.html">)</a>><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.ReverseSearcher.html"title="trait core::str::pattern::ReverseSearcher">ReverseSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Splits the string on the last occurrence of the specified delimiter and
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.matches"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.2.0">1.2.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1676">source</a></span><ahref="#method.matches"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.matches"class="fnname">matches</a><'a, P>(&'a self, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.Matches.html"title="struct core::str::iter::Matches">Matches</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over the disjoint matches of a pattern within the given string
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>The returned iterator will be a <ahref="https://doc.rust-lang.org/1.60.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html"title="DoubleEndedIterator"><code>DoubleEndedIterator</code></a> if the pattern
elements. This is true for, e.g., <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, but not for <code>&str</code>.</p>
from a forward search, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.matches"><code>rmatches</code></a> method can be used.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.rmatches"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.2.0">1.2.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1712-1714">source</a></span><ahref="#method.rmatches"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.rmatches"class="fnname">rmatches</a><'a, P>(&'a self, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.RMatches.html"title="struct core::str::iter::RMatches">RMatches</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.ReverseSearcher.html"title="trait core::str::pattern::ReverseSearcher">ReverseSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over the disjoint matches of a pattern within this string slice,
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
search, and it will be a <ahref="https://doc.rust-lang.org/1.60.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html"title="DoubleEndedIterator"><code>DoubleEndedIterator</code></a> if a forward/reverse
<p>For iterating from the front, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.matches"><code>matches</code></a> method can be used.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.match_indices"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.5.0">1.5.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1758">source</a></span><ahref="#method.match_indices"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.match_indices"class="fnname">match_indices</a><'a, P>(&'a self, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.MatchIndices.html"title="struct core::str::iter::MatchIndices">MatchIndices</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over the disjoint matches of a pattern within this string
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>The returned iterator will be a <ahref="https://doc.rust-lang.org/1.60.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html"title="DoubleEndedIterator"><code>DoubleEndedIterator</code></a> if the pattern
elements. This is true for, e.g., <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, but not for <code>&str</code>.</p>
from a forward search, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.rmatch_indices"><code>rmatch_indices</code></a> method can be used.</p>
<spanclass="macro">assert_eq!</span>(<spanclass="ident">v</span>, [(<spanclass="number">0</span>, <spanclass="string">"aba"</span>)]); <spanclass="comment">// only the first `aba`</span></code></pre></div>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.rmatch_indices"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.5.0">1.5.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1800-1802">source</a></span><ahref="#method.rmatch_indices"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.rmatch_indices"class="fnname">rmatch_indices</a><'a, P>(&'a self, pat: P) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.RMatchIndices.html"title="struct core::str::iter::RMatchIndices">RMatchIndices</a><'a, P><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.ReverseSearcher.html"title="trait core::str::pattern::ReverseSearcher">ReverseSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>An iterator over the disjoint matches of a pattern within <code>self</code>,
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
search, and it will be a <ahref="https://doc.rust-lang.org/1.60.0/core/iter/traits/double_ended/trait.DoubleEndedIterator.html"title="DoubleEndedIterator"><code>DoubleEndedIterator</code></a> if a forward/reverse
<p>For iterating from the front, the <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.match_indices"><code>match_indices</code></a> method can be used.</p>
<spanclass="macro">assert_eq!</span>(<spanclass="ident">v</span>, [(<spanclass="number">2</span>, <spanclass="string">"aba"</span>)]); <spanclass="comment">// only the last `aba`</span></code></pre></div>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.trim"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1825">source</a></span><ahref="#method.trim"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.trim"class="fnname">trim</a>(&self) ->&<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a></h4></section></summary><divclass="docblock"><p>Returns a string slice with leading and trailing whitespace removed.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.trim_start"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.30.0">1.30.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1863">source</a></span><ahref="#method.trim_start"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.trim_start"class="fnname">trim_start</a>(&self) ->&<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a></h4></section></summary><divclass="docblock"><p>Returns a string slice with leading whitespace removed.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">s</span><spanclass="op">=</span><spanclass="string">" English "</span>;
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.trim_end"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.30.0">1.30.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1901">source</a></span><ahref="#method.trim_end"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.trim_end"class="fnname">trim_end</a>(&self) ->&<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a></h4></section></summary><divclass="docblock"><p>Returns a string slice with trailing whitespace removed.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">s</span><spanclass="op">=</span><spanclass="string">" English "</span>;
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.trim_left"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1945">source</a></span><ahref="#method.trim_left"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.trim_left"class="fnname">trim_left</a>(&self) ->&<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a></h4></section><divclass="item-info"><divclass="stab deprecated"><spanclass="emoji">👎</span> Deprecated since 1.33.0: <p>superseded by <code>trim_start</code></p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.trim_right"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#1989">source</a></span><ahref="#method.trim_right"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.trim_right"class="fnname">trim_right</a>(&self) ->&<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a></h4></section><divclass="item-info"><divclass="stab deprecated"><spanclass="emoji">👎</span> Deprecated since 1.33.0: <p>superseded by <code>trim_end</code></p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.trim_matches"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2022-2024">source</a></span><ahref="#method.trim_matches"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.trim_matches"class="fnname">trim_matches</a><'a, P>(&'a self, pat: P) ->&'a <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.DoubleEndedSearcher.html"title="trait core::str::pattern::DoubleEndedSearcher">DoubleEndedSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Returns a string slice with all prefixes and suffixes that match a
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a function
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.trim_start_matches"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.30.0">1.30.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2071">source</a></span><ahref="#method.trim_start_matches"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.trim_start_matches"class="fnname">trim_start_matches</a><'a, P>(&'a self, pat: P) ->&'a <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Returns a string slice with all prefixes that match a pattern
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.trim_end_matches"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.30.0">1.30.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2175-2177">source</a></span><ahref="#method.trim_end_matches"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.trim_end_matches"class="fnname">trim_end_matches</a><'a, P>(&'a self, pat: P) ->&'a <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>,<br> <P as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html#associatedtype.Searcher"title="type core::str::pattern::Pattern::Searcher">Searcher</a>: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.ReverseSearcher.html"title="trait core::str::pattern::ReverseSearcher">ReverseSearcher</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Returns a string slice with all suffixes that match a pattern
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
<p>The <ahref="https://doc.rust-lang.org/1.60.0/core/str/pattern/index.html">pattern</a> can be a <code>&str</code>, <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>, a slice of <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html"><code>char</code></a>s, or a
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.parse"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2316">source</a></span><ahref="#method.parse"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.parse"class="fnname">parse</a><F>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.60.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><F, <F as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/traits/trait.FromStr.html"title="trait core::str::traits::FromStr">FromStr</a>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/str/traits/trait.FromStr.html#associatedtype.Err"title="type core::str::traits::FromStr::Err">Err</a>><spanclass="where fmt-newline">where<br> F: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/traits/trait.FromStr.html"title="trait core::str::traits::FromStr">FromStr</a>, </span></h4></section></summary><divclass="docblock"><p>Parses this string slice into another type.</p>
<p><code>parse</code> can parse into any type that implements the <ahref="https://doc.rust-lang.org/1.60.0/core/str/traits/trait.FromStr.html"title="FromStr"><code>FromStr</code></a> trait.</p>
<h5id="errors"><ahref="#errors">Errors</a></h5>
<p>Will return <ahref="https://doc.rust-lang.org/1.60.0/core/str/traits/trait.FromStr.html#associatedtype.Err"><code>Err</code></a> if it’s not possible to parse this string slice into
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.is_ascii"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.23.0">1.23.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2334">source</a></span><ahref="#method.is_ascii"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.is_ascii"class="fnname">is_ascii</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Checks if all characters in this string are within the ASCII range.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.eq_ignore_ascii_case"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.23.0">1.23.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2356">source</a></span><ahref="#method.eq_ignore_ascii_case"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.eq_ignore_ascii_case"class="fnname">eq_ignore_ascii_case</a>(&self, other: &<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Checks that two strings are an ASCII case-insensitive match.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.escape_debug"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.34.0">1.34.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2451">source</a></span><ahref="#method.escape_debug"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.escape_debug"class="fnname">escape_debug</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.EscapeDebug.html"title="struct core::str::iter::EscapeDebug">EscapeDebug</a><'_></h4></section></summary><divclass="docblock"><p>Return an iterator that escapes each char in <code>self</code> with <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html#method.escape_debug"title="char::escape_debug"><code>char::escape_debug</code></a>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.escape_default"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.34.0">1.34.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2497">source</a></span><ahref="#method.escape_default"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.escape_default"class="fnname">escape_default</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.EscapeDefault.html"title="struct core::str::iter::EscapeDefault">EscapeDefault</a><'_></h4></section></summary><divclass="docblock"><p>Return an iterator that escapes each char in <code>self</code> with <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html#method.escape_default"title="char::escape_default"><code>char::escape_default</code></a>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.escape_unicode"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.34.0">1.34.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/str/mod.rs.html#2535">source</a></span><ahref="#method.escape_unicode"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.escape_unicode"class="fnname">escape_unicode</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/core/str/iter/struct.EscapeUnicode.html"title="struct core::str::iter::EscapeUnicode">EscapeUnicode</a><'_></h4></section></summary><divclass="docblock"><p>Return an iterator that escapes each char in <code>self</code> with <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.char.html#method.escape_unicode"title="char::escape_unicode"><code>char::escape_unicode</code></a>.</p>
</div></details></div><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.replace"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/str.rs.html#287">source</a></span><ahref="#method.replace"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.replace"class="fnname">replace</a><'a, P>(&'a self, from: P, to: &<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a>) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Replaces all matches of a pattern with another string.</p>
<p><code>replace</code> creates a new <ahref="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="String"><code>String</code></a>, and copies the data from this string slice into it.
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">s</span><spanclass="op">=</span><spanclass="string">"this is old"</span>;
<spanclass="macro">assert_eq!</span>(<spanclass="string">"this is new"</span>, <spanclass="ident">s</span>.<spanclass="ident">replace</span>(<spanclass="string">"old"</span>, <spanclass="string">"new"</span>));</code></pre></div>
<p>When the pattern doesn’t match:</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">s</span><spanclass="op">=</span><spanclass="string">"this is old"</span>;
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.replacen"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.16.0">1.16.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/str.rs.html#326">source</a></span><ahref="#method.replacen"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.replacen"class="fnname">replacen</a><'a, P>(&'a self, pat: P, to: &<aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.str.html">str</a>, count: <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a><spanclass="where fmt-newline">where<br> P: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/str/pattern/trait.Pattern.html"title="trait core::str::pattern::Pattern">Pattern</a><'a>, </span></h4></section></summary><divclass="docblock"><p>Replaces first N matches of a pattern with another string.</p>
<p><code>replacen</code> creates a new <ahref="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="String"><code>String</code></a>, and copies the data from this string slice into it.
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">s</span><spanclass="op">=</span><spanclass="string">"this is old"</span>;
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_lowercase"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.2.0">1.2.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/str.rs.html#382">source</a></span><ahref="#method.to_lowercase"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.to_lowercase"class="fnname">to_lowercase</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass="docblock"><p>Returns the lowercase equivalent of this string slice, as a new <ahref="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="String"><code>String</code></a>.</p>
the case, this function returns a <ahref="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="String"><code>String</code></a> instead of modifying the
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_uppercase"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.2.0">1.2.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/str.rs.html#464">source</a></span><ahref="#method.to_uppercase"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.to_uppercase"class="fnname">to_uppercase</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass="docblock"><p>Returns the uppercase equivalent of this string slice, as a new <ahref="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="String"><code>String</code></a>.</p>
the case, this function returns a <ahref="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="String"><code>String</code></a> instead of modifying the
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.repeat"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.16.0">1.16.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/str.rs.html#526">source</a></span><ahref="#method.repeat"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.repeat"class="fnname">repeat</a>(&self, n: <aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.usize.html">usize</a>) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass="docblock"><p>Creates a new <ahref="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="String"><code>String</code></a> by repeating a string <code>n</code> times.</p>
<divclass='information'><divclass='tooltip should_panic'>ⓘ</div></div><divclass="example-wrap"><preclass="rust rust-example-rendered should_panic"><code><spanclass="comment">// this will panic at runtime</span>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_ascii_uppercase"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.23.0">1.23.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/str.rs.html#555">source</a></span><ahref="#method.to_ascii_uppercase"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.to_ascii_uppercase"class="fnname">to_ascii_uppercase</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass="docblock"><p>Returns a copy of this string where each character is mapped to its
<p>To uppercase the value in-place, use <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.make_ascii_uppercase"><code>make_ascii_uppercase</code></a>.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">s</span><spanclass="op">=</span><spanclass="string">"Grüße, Jürgen ❤"</span>;
<spanclass="macro">assert_eq!</span>(<spanclass="string">"GRüßE, JüRGEN ❤"</span>, <spanclass="ident">s</span>.<spanclass="ident">to_ascii_uppercase</span>());</code></pre></div>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_ascii_lowercase"class="method has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.23.0">1.23.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/alloc/str.rs.html#587">source</a></span><ahref="#method.to_ascii_lowercase"class="anchor"></a><h4class="code-header">pub fn <ahref="#method.to_ascii_lowercase"class="fnname">to_ascii_lowercase</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass="docblock"><p>Returns a copy of this string where each character is mapped to its
<p>To lowercase the value in-place, use <ahref="https://doc.rust-lang.org/1.60.0/std/primitive.str.html#method.make_ascii_lowercase"><code>make_ascii_lowercase</code></a>.</p>
<divclass="example-wrap"><preclass="rust rust-example-rendered"><code><spanclass="kw">let</span><spanclass="ident">s</span><spanclass="op">=</span><spanclass="string">"Grüße, Jürgen ❤"</span>;
<spanclass="macro">assert_eq!</span>(<spanclass="string">"grüße, jürgen ❤"</span>, <spanclass="ident">s</span>.<spanclass="ident">to_ascii_lowercase</span>());</code></pre></div>
</div></details></div><h2id="trait-implementations"class="small-section-header">Trait Implementations<ahref="#trait-implementations"class="anchor"></a></h2><divid="trait-implementations-list"><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Deref"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/abstio/abst_paths.rs.html#14-57">source</a></span><ahref="#impl-Deref"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/ops/deref/trait.Deref.html"title="trait core::ops::deref::Deref">Deref</a> for <aclass="struct"href="struct.ROOT_PLAYER_DIR.html"title="struct abstio::abst_paths::ROOT_PLAYER_DIR">ROOT_PLAYER_DIR</a></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Target"class="type trait-impl has-srclink"><ahref="#associatedtype.Target"class="anchor"></a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.60.0/core/ops/deref/trait.Deref.html#associatedtype.Target"class="associatedtype">Target</a> = <aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass='docblock'><p>The resulting type after dereferencing.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.deref"class="method trait-impl has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/abstio/abst_paths.rs.html#14-57">source</a></span><ahref="#method.deref"class="anchor"></a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.60.0/core/ops/deref/trait.Deref.html#tymethod.deref"class="fnname">deref</a>(&self) ->&<aclass="struct"href="https://doc.rust-lang.org/1.60.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass='docblock'><p>Dereferences the value.</p>
</div></details></div></details><sectionid="impl-LazyStatic"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/abstio/abst_paths.rs.html#14-57">source</a></span><ahref="#impl-LazyStatic"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://docs.rs/lazy_static/1.4.0/lazy_static/trait.LazyStatic.html"title="trait lazy_static::LazyStatic">LazyStatic</a> for <aclass="struct"href="struct.ROOT_PLAYER_DIR.html"title="struct abstio::abst_paths::ROOT_PLAYER_DIR">ROOT_PLAYER_DIR</a></h3></section></div><h2id="synthetic-implementations"class="small-section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor"></a></h2><divid="synthetic-implementations-list"><sectionid="impl-RefUnwindSafe"class="impl has-srclink"><ahref="#impl-RefUnwindSafe"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/panic/unwind_safe/trait.RefUnwindSafe.html"title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <aclass="struct"href="struct.ROOT_PLAYER_DIR.html"title="struct abstio::abst_paths::ROOT_PLAYER_DIR">ROOT_PLAYER_DIR</a></h3></section><sectionid="impl-Send"class="impl has-srclink"><ahref="#impl-Send"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="struct.ROOT_PLAYER_DIR.html"title="struct abstio::abst_paths::ROOT_PLAYER_DIR">ROOT_PLAYER_DIR</a></h3></section><sectionid="impl-Sync"class="impl has-srclink"><ahref="#impl-Sync"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="struct.ROOT_PLAYER_DIR.html"title="struct abstio::abst_paths::ROOT_PLAYER_DIR">ROOT_PLAYER_DIR</a></h3></section><sectionid="impl-Unpin"class="impl has-srclink"><ahref="#impl-Unpin"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> for <aclass="struct"href="struct.ROOT_PLAYER_DIR.html"title="struct abstio::abst_paths::ROOT_PLAYER_DIR">ROOT_PLAYER_DIR</a></h3></section><sectionid="impl-UnwindSafe"class="impl has-srclink"><ahref="#impl-UnwindSafe"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/panic/unwind_safe/trait.UnwindSafe.html"title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <aclass="struct"href="struct.ROOT_PLAYER_DIR.html"title="struct abstio::abst_paths::ROOT_PLAYER_DIR">ROOT_PLAYER_DIR</a></h3></section></div><h2id="blanket-implementations"class="small-section-header">Blanket Implementations<ahref="#blanket-implementations"class="anchor"></a></h2><divid="blanket-implementations-list"><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Any"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/any.rs.html#132-136">source</a></span><ahref="#impl-Any"class="anchor"></a><h3class="code-header in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.type_id"class="method trait-impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/any.rs.html#133">source</a></span><ahref="#method.type_id"class="anchor"></a><h4class="code-heade
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Borrow%3CT%3E"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/borrow.rs.html#209-214">source</a></span><ahref="#impl-Borrow%3CT%3E"class="anchor"></a><h3class="code-header in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.borrow"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/91522"title="Tracking issue for const_borrow">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/borrow.rs.html#211">source</a></span><ahref="#method.borrow"class="anchor"></a><h4class="code-header">pub fn <ahref="https://doc.rust-lang.org/1.60.0/core/borrow/trait.Borrow.html#tymethod.borrow"class="fnname">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.reference.html">&</a>T</h4></section></summary><divclass='docblock'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.60.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-BorrowMut%3CT%3E"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/borrow.rs.html#218-222">source</a></span><ahref="#impl-BorrowMut%3CT%3E"class="anchor"></a><h3class="code-header in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.borrow_mut"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/91522"title="Tracking issue for const_borrow">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/borrow.rs.html#219">source</a></span><ahref="#method.borrow_mut"class="anchor"></a><h4class="code-header">pub fn <ahref="https://doc.rust-lang.org/1.60.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fnname">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/1.60.0/std/primitive.reference.html">&mut </a>T</h4></section></summary><divclass='docblock'><p>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.60.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-From%3CT%3E"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/convert/mod.rs.html#553-558">source</a></span><ahref="#impl-From%3CT%3E"class="anchor"></a><h3class="code-header in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.from"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/88674"title="Tracking issue for const_convert">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/convert/mod.rs.html#555">source</a></span><ahref="#method.from"class="anchor"></a><h4class="code-header">pub fn <ahref="https://doc.rust-lang.org/1.60.0/core/convert/trait.From.html#tymethod.from"class="fnname">from</a>(t: T) -> T</h4></section></summary><divclass="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Instrument"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#155">source</a></span><ahref="#impl-Instrument"class="anchor"></a><h3class="code-header in-band">impl<T><aclass="trait"href="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html"title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.instrument"class="method trait-impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#38">source</a></span><ahref="#method.instrument"class="anchor"></a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html#method.instrument"class="fnname">instrument</a>(self, span: <aclass="struct"href="https://docs.rs/tracing/0.1.26/tracing/span/struct.Span.html"title="struct tracing::span::Span">Span</a>) -><aclass="struct"href="https://docs.rs/tracing/0.1.26/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></h4></section></summary><divclass='docblock'><p>Instruments this type with the provided <code>Span</code>, returning an
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.in_current_span"class="method trait-impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://docs.rs/tracing/0.1.26/src/tracing/instrument.rs.html#74">source</a></span><ahref="#method.in_current_span"class="anchor"></a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.26/tracing/instrument/trait.Instrument.html#method.in_current_span"class="fnname">in_current_span</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.26/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></h4></section></summary><divclass='docblock'><p>Instruments this type with the <ahref="../struct.Span.html#method.current">current</a><code>Span</code>, returning an
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Into%3CU%3E"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/convert/mod.rs.html#537-548">source</a></span><ahref="#impl-Into%3CU%3E"class="anchor"></a><h3class="code-header in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T>, </span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.into"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/88674"title="Tracking issue for const_convert">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/convert/mod.rs.html#545">source</a></span><ahref="#method.into"class="anchor"></a><h4class="code-header">pub fn <ahref="https://doc.rust-lang.org/1.60.0/core/convert/trait.Into.html#tymethod.into"class="fnname">into</a>(self) -> U</h4></section></summary><divclass="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><ahref="https://doc.rust-lang.org/1.60.0/core/convert/trait.From.html"title="From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-TryFrom%3CU%3E"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/convert/mod.rs.html#594-603">source</a></span><ahref="#impl-TryFrom%3CU%3E"class="anchor"></a><h3class="code-header in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Error"class="type trait-impl has-srclink"><ahref="#associatedtype.Error"class="anchor"></a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/1.60.0/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></h4></section></summary><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/88674"title="Tracking issue for const_convert">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/convert/mod.rs.html#600">source</a></span><ahref="#method.try_from"class="anchor"></a><h4class="code-header">pub fn <ahref="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html#tymethod.try_from"class="fnname">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/1.60.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'><p>Performs the conversion.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-TryInto%3CU%3E"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/convert/mod.rs.html#579-588">source</a></span><ahref="#impl-TryInto%3CU%3E"class="anchor"></a><h3class="code-header in-band">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Error-1"class="type trait-impl has-srclink"><ahref="#associatedtype.Error-1"class="anchor"></a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryInto.html#associatedtype.Error"class="associatedtype">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.try_into"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/88674"title="Tracking issue for const_convert">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/1.60.0/src/core/convert/mod.rs.html#585">source</a></span><ahref="#method.try_into"class="anchor"></a><h4class="code-header">pub fn <ahref="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryInto.html#tymethod.try_into"class="fnname">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/1.60.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.60.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'><p>Performs the conversion.</p>