rtic/stable/api/heapless/macro.format.html
github-merge-queue[bot] e04fb16c1b deploy: bbc37ca3fe
2025-11-12 19:06:49 +00:00

27 lines
No EOL
5.6 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="Macro that creates a fixed capacity `String`. Equivalent to `format!`."><title>format in heapless - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="heapless" data-themes="" data-resource-suffix="" data-rustdoc-version="1.91.1 (ed61e7d7e 2025-11-07)" data-channel="1.91.1" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-c3e638e9.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-6dc2a7f3.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">format</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../heapless/index.html">heapless</a><span class="version">0.9.2</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">format</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#errors" title="Errors">Errors</a></li><li><a href="#examples" title="Examples">Examples</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate heapless</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">heapless</a></div><h1>Macro <span class="macro">format</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/heapless/string/mod.rs.html#1070-1085">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! format {
($max:expr; $lenT:path; $($arg:tt)*) =&gt; { ... };
($max:expr; $($arg:tt)*) =&gt; { ... };
($($arg:tt)*) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Macro that creates a fixed capacity <a href="string/type.String.html" title="type heapless::string::String"><code>String</code></a>. Equivalent to <a href="https://doc.rust-lang.org/std/macro.format.html"><code>format!</code></a>.</p>
<p>The macros arguments work in the same way as the regular macro.</p>
<p>It is possible to explicitly specify the capacity of the returned string as the first argument.
In this case it is necessary to disambiguate by separating the capacity with a semicolon.</p>
<h2 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h2>
<p>There are two possible error cases. Both return the unit type <a href="https://doc.rust-lang.org/1.91.1/core/fmt/struct.Error.html" title="struct core::fmt::Error"><code>core::fmt::Error</code></a>.</p>
<ul>
<li>In case the formatting exceeds the strings capacity. This error does not exist in the
standard library as the string would just grow.</li>
<li>If a formatting trait implementation returns an error. The standard library panics in this
case.</li>
</ul>
<h2 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>heapless::{format, String};
<span class="comment">// Notice semicolon instead of comma!
</span><span class="macro">format!</span>(<span class="number">4</span>; <span class="string">"test"</span>)<span class="question-mark">?</span>;
<span class="macro">format!</span>(<span class="number">15</span>; <span class="string">"hello {}"</span>, <span class="string">"world!"</span>)<span class="question-mark">?</span>;
<span class="macro">format!</span>(<span class="number">20</span>; <span class="string">"x = {}, y = {y}"</span>, <span class="number">10</span>, y = <span class="number">30</span>)<span class="question-mark">?</span>;
<span class="kw">let </span>(x, y) = (<span class="number">1</span>, <span class="number">2</span>);
<span class="macro">format!</span>(<span class="number">12</span>; <span class="string">"{x} + {y} = 3"</span>)<span class="question-mark">?</span>;
<span class="kw">let </span>implicit: String&lt;<span class="number">10</span>&gt; = <span class="macro">format!</span>(<span class="string">"speed = {}"</span>, <span class="number">7</span>)<span class="question-mark">?</span>;</code></pre></div></div></details></section></div></main></body></html>