edlang/yansi/struct.Paint.html
2024-03-27 11:12:16 +00:00

346 lines
87 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A structure encapsulating an item and styling."><title>Paint in yansi - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-5bc39a1768837dd0.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="yansi" data-themes="" data-resource-suffix="" data-rustdoc-version="1.77.0 (aedd173a2 2024-03-17)" data-channel="1.77.0" data-search-js="search-dd67cee4cfa65049.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-4c98445ec4002617.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-48f368f3872407c8.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-04d5337699b92874.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../yansi/index.html">yansi</a><span class="version">0.5.1</span></h2></div><h2 class="location"><a href="#">Paint</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.bg">bg</a></li><li><a href="#method.black">black</a></li><li><a href="#method.blink">blink</a></li><li><a href="#method.blue">blue</a></li><li><a href="#method.bold">bold</a></li><li><a href="#method.cyan">cyan</a></li><li><a href="#method.default">default</a></li><li><a href="#method.dimmed">dimmed</a></li><li><a href="#method.disable">disable</a></li><li><a href="#method.enable">enable</a></li><li><a href="#method.enable_windows_ascii">enable_windows_ascii</a></li><li><a href="#method.fg">fg</a></li><li><a href="#method.fixed">fixed</a></li><li><a href="#method.green">green</a></li><li><a href="#method.hidden">hidden</a></li><li><a href="#method.inner">inner</a></li><li><a href="#method.invert">invert</a></li><li><a href="#method.is_enabled">is_enabled</a></li><li><a href="#method.italic">italic</a></li><li><a href="#method.magenta">magenta</a></li><li><a href="#method.mask">mask</a></li><li><a href="#method.masked">masked</a></li><li><a href="#method.new">new</a></li><li><a href="#method.red">red</a></li><li><a href="#method.rgb">rgb</a></li><li><a href="#method.strikethrough">strikethrough</a></li><li><a href="#method.style">style</a></li><li><a href="#method.underline">underline</a></li><li><a href="#method.white">white</a></li><li><a href="#method.with_style">with_style</a></li><li><a href="#method.wrap">wrap</a></li><li><a href="#method.wrapping">wrapping</a></li><li><a href="#method.yellow">yellow</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Paint%3CT%3E">Clone</a></li><li><a href="#impl-Copy-for-Paint%3CT%3E">Copy</a></li><li><a href="#impl-Debug-for-Paint%3CT%3E">Debug</a></li><li><a href="#impl-Default-for-Paint%3CT%3E">Default</a></li><li><a href="#impl-Display-for-Paint%3CT%3E">Display</a></li><li><a href="#impl-Eq-for-Paint%3CT%3E">Eq</a></li><li><a href="#impl-Hash-for-Paint%3CT%3E">Hash</a></li><li><a href="#impl-Ord-for-Paint%3CT%3E">Ord</a></li><li><a href="#impl-PartialEq-for-Paint%3CT%3E">PartialEq</a></li><li><a href="#impl-PartialOrd-for-Paint%3CT%3E">PartialOrd</a></li><li><a href="#impl-StructuralPartialEq-for-Paint%3CT%3E">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Paint%3CT%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Paint%3CT%3E">Send</a></li><li><a href="#impl-Sync-for-Paint%3CT%3E">Sync</a></li><li><a href="#impl-Unpin-for-Paint%3CT%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Paint%3CT%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-ToString-for-T">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In crate yansi</a></h2></div></nav><div class="sidebar-resizer"></div>
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../yansi/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">yansi</a>::<wbr><a class="struct" href="#">Paint</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/yansi/paint.rs.html#80-83">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Paint&lt;T&gt; { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A structure encapsulating an item and styling.</p>
<p>See the <a href="./">crate level documentation</a> for usage information.</p>
<h2 id="method-glossary"><a class="doc-anchor" href="#method-glossary">§</a>Method Glossary</h2>
<p>The <code>Paint</code> structure exposes many methods for convenience.</p>
<h4 id="unstyled-constructors"><a class="doc-anchor" href="#unstyled-constructors">§</a>Unstyled Constructors</h4>
<p>Return a new <code>Paint</code> structure with no or default styling applied.</p>
<ul>
<li><a href="struct.Paint.html#method.new" title="associated function yansi::Paint::new"><code>Paint::new(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.default" title="associated function yansi::Paint::default"><code>Paint::default(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.masked" title="associated function yansi::Paint::masked"><code>Paint::masked(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.wrapping" title="associated function yansi::Paint::wrapping"><code>Paint::wrapping(item: T)</code></a></li>
</ul>
<h4 id="foreground-color-constructors"><a class="doc-anchor" href="#foreground-color-constructors">§</a>Foreground Color Constructors</h4>
<p>Return a new <code>Paint</code> structure with a foreground color applied.</p>
<ul>
<li><a href="struct.Paint.html#method.rgb" title="associated function yansi::Paint::rgb"><code>Paint::rgb(r: u8, g: u8, b: u8, item: T)</code></a></li>
<li><a href="struct.Paint.html#method.fixed" title="associated function yansi::Paint::fixed"><code>Paint::fixed(color: u8, item: T)</code></a></li>
<li><a href="struct.Paint.html#method.black" title="associated function yansi::Paint::black"><code>Paint::black(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.red" title="associated function yansi::Paint::red"><code>Paint::red(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.green" title="associated function yansi::Paint::green"><code>Paint::green(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.yellow" title="associated function yansi::Paint::yellow"><code>Paint::yellow(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.blue" title="associated function yansi::Paint::blue"><code>Paint::blue(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.magenta" title="associated function yansi::Paint::magenta"><code>Paint::magenta(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.cyan" title="associated function yansi::Paint::cyan"><code>Paint::cyan(item: T)</code></a></li>
<li><a href="struct.Paint.html#method.white" title="associated function yansi::Paint::white"><code>Paint::white(item: T)</code></a></li>
</ul>
<h4 id="getters"><a class="doc-anchor" href="#getters">§</a>Getters</h4>
<p>Return information about the <code>Paint</code> structure.</p>
<ul>
<li><a href="struct.Paint.html#method.style" title="method yansi::Paint::style"><code>paint.style()</code></a></li>
<li><a href="struct.Paint.html#method.inner" title="method yansi::Paint::inner"><code>paint.inner()</code></a></li>
</ul>
<h4 id="setters"><a class="doc-anchor" href="#setters">§</a>Setters</h4>
<p>Set a style property on a given <code>Paint</code> structure.</p>
<ul>
<li><a href="struct.Paint.html#method.with_style" title="method yansi::Paint::with_style"><code>paint.with_style(style: Style)</code></a></li>
<li><a href="struct.Paint.html#method.mask" title="method yansi::Paint::mask"><code>paint.mask()</code></a></li>
<li><a href="struct.Paint.html#method.wrap" title="method yansi::Paint::wrap"><code>paint.wrap()</code></a></li>
<li><a href="struct.Paint.html#method.fg" title="method yansi::Paint::fg"><code>paint.fg(color: Color)</code></a></li>
<li><a href="struct.Paint.html#method.bg" title="method yansi::Paint::bg"><code>paint.bg(color: Color)</code></a></li>
<li><a href="struct.Paint.html#method.bold" title="method yansi::Paint::bold"><code>paint.bold()</code></a></li>
<li><a href="struct.Paint.html#method.dimmed" title="method yansi::Paint::dimmed"><code>paint.dimmed()</code></a></li>
<li><a href="struct.Paint.html#method.italic" title="method yansi::Paint::italic"><code>paint.italic()</code></a></li>
<li><a href="struct.Paint.html#method.underline" title="method yansi::Paint::underline"><code>paint.underline()</code></a></li>
<li><a href="struct.Paint.html#method.blink" title="method yansi::Paint::blink"><code>paint.blink()</code></a></li>
<li><a href="struct.Paint.html#method.invert" title="method yansi::Paint::invert"><code>paint.invert()</code></a></li>
<li><a href="struct.Paint.html#method.hidden" title="method yansi::Paint::hidden"><code>paint.hidden()</code></a></li>
<li><a href="struct.Paint.html#method.strikethrough" title="method yansi::Paint::strikethrough"><code>paint.strikethrough()</code></a></li>
</ul>
<p>These methods can be chained:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
Paint::new(<span class="string">"hi"</span>).underline().invert().italic().dimmed().bold();</code></pre></div>
<h4 id="global-methods"><a class="doc-anchor" href="#global-methods">§</a>Global Methods</h4>
<p>Modify or observe the global behavior of painting.</p>
<ul>
<li><a href="struct.Paint.html#method.enable" title="associated function yansi::Paint::enable"><code>Paint::enable()</code></a></li>
<li><a href="struct.Paint.html#method.disable" title="associated function yansi::Paint::disable"><code>Paint::disable()</code></a></li>
<li><a href="struct.Paint.html#method.is_enabled" title="associated function yansi::Paint::is_enabled"><code>Paint::is_enabled()</code></a></li>
<li><a href="struct.Paint.html#method.enable_windows_ascii" title="associated function yansi::Paint::enable_windows_ascii"><code>Paint::enable_windows_ascii()</code></a></li>
</ul>
</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#104-339">source</a><a href="#impl-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#114-116">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with no set
styling.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">assert_eq!</span>(Paint::new(<span class="string">"hello!"</span>).to_string(), <span class="string">"hello!"</span>.to_string());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.default" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#127-129">source</a><h4 class="code-header">pub fn <a href="#method.default" class="fn">default</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the active
terminals default foreground and background.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to use {}!"</span>, Paint::default(<span class="string">"default colors"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.masked" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#145-147">source</a><h4 class="code-header">pub fn <a href="#method.masked" class="fn">masked</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <em>masked</em> <code>Paint</code> structure encapsulating <code>item</code> with
no set styling.</p>
<p>A masked <code>Paint</code> is not written out when painting is disabled during
<code>Display</code> or <code>Debug</code> invocations. When painting is enabled, masking has
no effect.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="comment">// The emoji won't be printed when coloring is disabled.
</span><span class="macro">println!</span>(<span class="string">"{}Sprout!"</span>, Paint::masked(<span class="string">"🌱 "</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.wrapping" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#175-177">source</a><h4 class="code-header">pub fn <a href="#method.wrapping" class="fn">wrapping</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <em>wrapping</em> <code>Paint</code> structure encapsulating <code>item</code> with
default styling.</p>
<p>A wrapping <code>Paint</code> converts all color resets written out by the internal
value to the styling of itself. This allows for seamless color wrapping
of other colored text.</p>
<h5 id="performance"><a class="doc-anchor" href="#performance">§</a>Performance</h5>
<p>In order to wrap an internal value, the internal value must first be
written out to a local buffer and examined. As a result, displaying a
wrapped value is likely to result in a heap allocation and copy.</p>
<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::{Paint, Color};
<span class="kw">let </span>inner = <span class="macro">format!</span>(<span class="string">"{} and {}"</span>, Paint::red(<span class="string">"Stop"</span>), Paint::green(<span class="string">"Go"</span>));
<span class="comment">// 'Hey!' will be unstyled, "Stop" will be red, "and" will be blue, and
// "Go" will be green. Without a wrapping `Paint`, "and" would be
// unstyled.
</span><span class="macro">println!</span>(<span class="string">"Hey! {}"</span>, Paint::wrapping(inner).fg(Color::Blue));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.rgb" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#188-190">source</a><h4 class="code-header">pub fn <a href="#method.rgb" class="fn">rgb</a>(r: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>, g: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>, b: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>, item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the
foreground color set to the RGB color <code>r</code>, <code>g</code>, <code>b</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be funky: {}"</span>, Paint::rgb(<span class="number">70</span>, <span class="number">130</span>, <span class="number">122</span>, <span class="string">"hi!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.fixed" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#201-203">source</a><h4 class="code-header">pub fn <a href="#method.fixed" class="fn">fixed</a>(color: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.u8.html">u8</a>, item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the
foreground color set to the fixed 8-bit color <code>color</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be funky: {}"</span>, Paint::fixed(<span class="number">100</span>, <span class="string">"hi!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.black" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#205-206">source</a><h4 class="code-header">pub fn <a href="#method.black" class="fn">black</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the foreground color
set to black.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be black: {}"</span>, Paint::black(<span class="string">"yay!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.red" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#205-206">source</a><h4 class="code-header">pub fn <a href="#method.red" class="fn">red</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the foreground color
set to red.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be red: {}"</span>, Paint::red(<span class="string">"yay!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.green" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#205-206">source</a><h4 class="code-header">pub fn <a href="#method.green" class="fn">green</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the foreground color
set to green.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be green: {}"</span>, Paint::green(<span class="string">"yay!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.yellow" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#205-206">source</a><h4 class="code-header">pub fn <a href="#method.yellow" class="fn">yellow</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the foreground color
set to yellow.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be yellow: {}"</span>, Paint::yellow(<span class="string">"yay!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.blue" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#205-206">source</a><h4 class="code-header">pub fn <a href="#method.blue" class="fn">blue</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the foreground color
set to blue.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be blue: {}"</span>, Paint::blue(<span class="string">"yay!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.magenta" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#205-206">source</a><h4 class="code-header">pub fn <a href="#method.magenta" class="fn">magenta</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the foreground color
set to magenta.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be magenta: {}"</span>, Paint::magenta(<span class="string">"yay!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.cyan" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#205-206">source</a><h4 class="code-header">pub fn <a href="#method.cyan" class="fn">cyan</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the foreground color
set to cyan.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be cyan: {}"</span>, Paint::cyan(<span class="string">"yay!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.white" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#205-206">source</a><h4 class="code-header">pub fn <a href="#method.white" class="fn">white</a>(item: T) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs a new <code>Paint</code> structure encapsulating <code>item</code> with the foreground color
set to white.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"This is going to be white: {}"</span>, Paint::white(<span class="string">"yay!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.style" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#219-221">source</a><h4 class="code-header">pub fn <a href="#method.style" class="fn">style</a>(&amp;self) -&gt; <a class="struct" href="struct.Style.html" title="struct yansi::Style">Style</a></h4></section></summary><div class="docblock"><p>Retrieves the style currently set on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::{Style, Color, Paint};
<span class="kw">let </span>alert = Style::new(Color::Red).bold().underline();
<span class="kw">let </span>painted = Paint::red(<span class="string">"hi"</span>).bold().underline();
<span class="macro">assert_eq!</span>(alert, painted.style());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.inner" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#232-234">source</a><h4 class="code-header">pub fn <a href="#method.inner" class="fn">inner</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class="docblock"><p>Retrieves a borrow to the inner item.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="kw">let </span>x = Paint::red(<span class="string">"Hello, world!"</span>);
<span class="macro">assert_eq!</span>(<span class="kw-2">*</span>x.inner(), <span class="string">"Hello, world!"</span>);</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.with_style" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#254-257">source</a><h4 class="code-header">pub fn <a href="#method.with_style" class="fn">with_style</a>(self, style: <a class="struct" href="struct.Style.html" title="struct yansi::Style">Style</a>) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Sets the style of <code>self</code> to <code>style</code>.</p>
<p>Any styling currently set on <code>self</code> is lost. Prefer to use the
<a href="struct.Style.html#method.paint" title="method yansi::Style::paint"><code>style.paint()</code></a> method to create a <code>Paint</code> struct from
<code>Style</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::{Paint, Color, Style};
<span class="kw">let </span>s = Style::new(Color::Red).bold().underline();
<span class="comment">// Using this method.
</span><span class="macro">println!</span>(<span class="string">"Alert: {}"</span>, Paint::new(<span class="string">"This thing happened!"</span>).with_style(s));
<span class="comment">// Using the `style.paint()` method.
</span><span class="macro">println!</span>(<span class="string">"Alert: {}"</span>, s.paint(<span class="string">"This thing happened!"</span>));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.mask" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#272-275">source</a><h4 class="code-header">pub fn <a href="#method.mask" class="fn">mask</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Masks <code>self</code>.</p>
<p>A masked <code>Paint</code> is not written out when painting is disabled during
<code>Display</code> or <code>Debug</code> invocations. When painting is enabled, masking has
no effect.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="comment">// "Whoops! " will only print when coloring is enabled.
</span><span class="macro">println!</span>(<span class="string">"{}Something happened."</span>, Paint::red(<span class="string">"Whoops! "</span>).mask());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.wrap" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#302-305">source</a><h4 class="code-header">pub fn <a href="#method.wrap" class="fn">wrap</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Makes <code>self</code> a <em>wrapping</em> <code>Paint</code>.</p>
<p>A wrapping <code>Paint</code> converts all color resets written out by the internal
value to the styling of itself. This allows for seamless color wrapping
of other colored text.</p>
<h5 id="performance-1"><a class="doc-anchor" href="#performance-1">§</a>Performance</h5>
<p>In order to wrap an internal value, the internal value must first be
written out to a local buffer and examined. As a result, displaying a
wrapped value is likely to result in a heap allocation and copy.</p>
<h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::{Paint, Color};
<span class="kw">let </span>inner = <span class="macro">format!</span>(<span class="string">"{} and {}"</span>, Paint::red(<span class="string">"Stop"</span>), Paint::green(<span class="string">"Go"</span>));
<span class="comment">// 'Hey!' will be unstyled, "Stop" will be red, "and" will be blue, and
// "Go" will be green. Without a wrapping `Paint`, "and" would be
// unstyled.
</span><span class="macro">println!</span>(<span class="string">"Hey! {}"</span>, Paint::blue(inner).wrap());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.fg" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#316-319">source</a><h4 class="code-header">pub fn <a href="#method.fg" class="fn">fg</a>(self, color: <a class="enum" href="enum.Color.html" title="enum yansi::Color">Color</a>) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Sets the foreground to <code>color</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="kw">use </span>yansi::Color::Red;
<span class="macro">println!</span>(<span class="string">"Red foreground: {}"</span>, Paint::new(<span class="string">"hi!"</span>).fg(Red));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.bg" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#330-333">source</a><h4 class="code-header">pub fn <a href="#method.bg" class="fn">bg</a>(self, color: <a class="enum" href="enum.Color.html" title="enum yansi::Color">Color</a>) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Sets the background to <code>color</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="kw">use </span>yansi::Color::Yellow;
<span class="macro">println!</span>(<span class="string">"Yellow background: {}"</span>, Paint::new(<span class="string">"hi!"</span>).bg(Yellow));</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.bold" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#335-338">source</a><h4 class="code-header">pub fn <a href="#method.bold" class="fn">bold</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Enables the <em>bold</em> style on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"Using bold: {}"</span>, Paint::new(<span class="string">"hi"</span>).bold());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.dimmed" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#335-338">source</a><h4 class="code-header">pub fn <a href="#method.dimmed" class="fn">dimmed</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Enables the <em>dimmed</em> style on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"Using dimmed: {}"</span>, Paint::new(<span class="string">"hi"</span>).dimmed());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.italic" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#335-338">source</a><h4 class="code-header">pub fn <a href="#method.italic" class="fn">italic</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Enables the <em>italic</em> style on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"Using italic: {}"</span>, Paint::new(<span class="string">"hi"</span>).italic());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.underline" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#335-338">source</a><h4 class="code-header">pub fn <a href="#method.underline" class="fn">underline</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Enables the <em>underline</em> style on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"Using underline: {}"</span>, Paint::new(<span class="string">"hi"</span>).underline());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.blink" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#335-338">source</a><h4 class="code-header">pub fn <a href="#method.blink" class="fn">blink</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Enables the <em>blink</em> style on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"Using blink: {}"</span>, Paint::new(<span class="string">"hi"</span>).blink());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.invert" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#335-338">source</a><h4 class="code-header">pub fn <a href="#method.invert" class="fn">invert</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Enables the <em>invert</em> style on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"Using invert: {}"</span>, Paint::new(<span class="string">"hi"</span>).invert());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.hidden" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#335-338">source</a><h4 class="code-header">pub fn <a href="#method.hidden" class="fn">hidden</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Enables the <em>hidden</em> style on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"Using hidden: {}"</span>, Paint::new(<span class="string">"hi"</span>).hidden());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.strikethrough" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#335-338">source</a><h4 class="code-header">pub fn <a href="#method.strikethrough" class="fn">strikethrough</a>(self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Enables the <em>strikethrough</em> style on <code>self</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="macro">println!</span>(<span class="string">"Using strikethrough: {}"</span>, Paint::new(<span class="string">"hi"</span>).strikethrough());</code></pre></div>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Paint%3C()%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#376-463">source</a><a href="#impl-Paint%3C()%3E" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.unit.html">()</a>&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.disable" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#391-393">source</a><h4 class="code-header">pub fn <a href="#method.disable" class="fn">disable</a>()</h4></section></summary><div class="docblock"><p>Disables coloring globally.</p>
<h5 id="example-2"><a class="doc-anchor" href="#example-2">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="comment">// With coloring enabled, ANSI color codes are emitted.
</span><span class="macro">assert_ne!</span>(Paint::green(<span class="string">"go"</span>).to_string(), <span class="string">"go"</span>.to_string());
<span class="comment">// With coloring disabled, ANSI color codes are _not_ emitted.
</span>Paint::disable();
<span class="macro">assert_eq!</span>(Paint::green(<span class="string">"go"</span>).to_string(), <span class="string">"go"</span>.to_string());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.enable" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#411-413">source</a><h4 class="code-header">pub fn <a href="#method.enable" class="fn">enable</a>()</h4></section></summary><div class="docblock"><p>Enables coloring globally. Coloring is enabled by default, so this
method should only be called to <em>re</em> enable coloring.</p>
<h5 id="example-3"><a class="doc-anchor" href="#example-3">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="comment">// With coloring disabled, ANSI color codes are _not_ emitted.
</span>Paint::disable();
<span class="macro">assert_eq!</span>(Paint::green(<span class="string">"go"</span>).to_string(), <span class="string">"go"</span>.to_string());
<span class="comment">// Reenabling causes color code to be emitted.
</span>Paint::enable();
<span class="macro">assert_ne!</span>(Paint::green(<span class="string">"go"</span>).to_string(), <span class="string">"go"</span>.to_string());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_enabled" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#438-440">source</a><h4 class="code-header">pub fn <a href="#method.is_enabled" class="fn">is_enabled</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if coloring is enabled and <code>false</code> otherwise. Coloring is
enabled by default but can be enabled and disabled on-the-fly with the
<a href="struct.Paint.html#method.disable"><code>Paint::enable()</code></a> and <a href="struct.Paint.html#method.disable"><code>Paint::disable()</code></a> methods.</p>
<h5 id="example-4"><a class="doc-anchor" href="#example-4">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="comment">// Coloring is enabled by default.
</span><span class="macro">assert!</span>(Paint::is_enabled());
<span class="comment">// Disable it with `Paint::disable()`.
</span>Paint::disable();
<span class="macro">assert!</span>(!Paint::is_enabled());
<span class="comment">// Reenable with `Paint::enable()`.
</span>Paint::enable();
<span class="macro">assert!</span>(Paint::is_enabled());</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.enable_windows_ascii" class="method"><a class="src rightside" href="../src/yansi/paint.rs.html#460-462">source</a><h4 class="code-header">pub fn <a href="#method.enable_windows_ascii" class="fn">enable_windows_ascii</a>() -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Enables ASCII terminal escape sequences on Windows consoles when
possible. Returns <code>true</code> if escape sequence support was successfully
enabled and <code>false</code> otherwise. On non-Windows targets, this method
always returns <code>true</code>.</p>
<p>Support for escape sequences in Windows consoles was added in the
Windows 10 anniversary update. For targets with older Windows
installations, this method is expected to return <code>false</code>.</p>
<h5 id="example-5"><a class="doc-anchor" href="#example-5">§</a>Example</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>yansi::Paint;
<span class="comment">// A best-effort Windows ASCII terminal support enabling.
</span>Paint::enable_windows_ascii();</code></pre></div>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-Clone-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#369">source</a><a href="#impl-Debug-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../src/yansi/paint.rs.html#369">source</a><a href="#method.fmt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.77.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.77.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-Default-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default-1" class="method trait-impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#method.default-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.77.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#368">source</a><a href="#impl-Display-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/yansi/paint.rs.html#368">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Display.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.77.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.77.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-Hash-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/hash/mod.rs.html#238-240">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.slice.html">[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
H: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.77.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-Ord-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/1.77.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/cmp.rs.html#830-832">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/cmp.rs.html#850-852">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/cmp.rs.html#875-878">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<div class="where">where
Self: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-PartialEq-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/cmp.rs.html#242">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-PartialOrd-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.77.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/cmp.rs.html#1127">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/cmp.rs.html#1144">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;=</code>
operator. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/cmp.rs.html#1160">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code> operator. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.77.0/src/core/cmp.rs.html#1177">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;=</code>
operator. <a href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><section id="impl-Copy-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-Copy-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section><section id="impl-Eq-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-Eq-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section><section id="impl-StructuralPartialEq-for-Paint%3CT%3E" class="impl"><a class="src rightside" href="../src/yansi/paint.rs.html#79">source</a><a href="#impl-StructuralPartialEq-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;</h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Paint%3CT%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-Paint%3CT%3E" class="impl"><a href="#impl-Send-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-Paint%3CT%3E" class="impl"><a href="#impl-Sync-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-Paint%3CT%3E" class="impl"><a href="#impl-Unpin-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-Paint%3CT%3E" class="impl"><a href="#impl-UnwindSafe-for-Paint%3CT%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Paint.html" title="struct yansi::Paint">Paint</a>&lt;T&gt;<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.77.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.77.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.77.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#764">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#767">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#757">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.77.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.77.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.77.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToString-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/alloc/string.rs.html#2600">source</a><a href="#impl-ToString-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.77.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_string" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/alloc/string.rs.html#2606">source</a><a href="#method.to_string" class="anchor">§</a><h4 class="code-header">default fn <a href="https://doc.rust-lang.org/1.77.0/alloc/string/trait.ToString.html#tymethod.to_string" class="fn">to_string</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.77.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class='docblock'>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/1.77.0/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#804-806">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.77.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#811">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#789-791">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.77.0/src/core/convert/mod.rs.html#796">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.77.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.77.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>