Skip to content

Commit 0fb2bc2

Browse files
committed
Routes and Error Responses
1 parent 4946ad5 commit 0fb2bc2

28 files changed

Lines changed: 369 additions & 359 deletions

‎docs/docs/functions/index.html‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!doctype html><html lang=en-US><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Rust Programming Language Tutorials for Everyone!"><meta name=author content="Dumindu Madunuwan"><meta name=theme-color content="#ffffff" media="(prefers-color-scheme: light)"><meta name=theme-color content="#101010" media="(prefers-color-scheme: dark)"><title>Functions · Learning Rust</title><link rel=canonical href=https://learning-rust.github.io/docs/functions/><link rel=stylesheet href=/assets/css/docs.min.38e0cd9128e98534a0f57aefcd43b960a862ae3a52b7ebe67677e6a117295e73.css integrity><link href=https://learning-rust.github.io/pagefind/pagefind-component-ui.css rel=stylesheet><link rel=manifest href=/manifest.json><link rel=icon href=/favicon/favicon.ico><link rel=icon href=/favicon/favicon-16x16.png sizes=16x16 type=image/png><link rel=icon href=/favicon/favicon-32x32.png sizes=32x32 type=image/png><link rel=apple-touch-icon href=/favicon/apple-touch-icon.png sizes=180x180><script async src="https://www.googletagmanager.com/gtag/js?id=G-FZHQCXSZ89"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-FZHQCXSZ89")</script><meta property="og:title" content="Functions"><meta property="og:description" content="Functions - Rust Programming Language Tutorials for Everyone!"><meta property="og:type" content="article"><meta property="og:url" content="https://learning-rust.github.io/docs/functions/"><meta property="og:image" content="https://learning-rust.github.io/docs/functions/og.jpg"><meta property="og:site_name" content="Learning Rust"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Functions"><meta name=twitter:description content="Functions - Rust Programming Language Tutorials for Everyone!"><meta name=twitter:image content="https://learning-rust.github.io/docs/functions/og.jpg"><script type=application/ld+json>{"@context":"https://schema.org","@type":"Article","headline":"Functions","description":"Functions - Rust Programming Language Tutorials for Everyone!","image":"https:\/\/learning-rust.github.io\/docs\/functions\/og.jpg","author":{"@type":"Person","name":"Dumindu Madunuwan","url":"https:\/\/github.com\/dumindu"},"publisher":{"@type":"Organization","name":"Learning Rust","logo":{"@type":"ImageObject","url":"https:\/\/learning-rust.github.io\/"}},"dateModified":"2026-05-26T05:10:50Z","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/learning-rust.github.io\/docs\/functions\/"}}</script></head><body><aside id=left-sidebar><div><button class=btn>
1+
<!doctype html><html lang=en-US><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Rust Programming Language Tutorials for Everyone!"><meta name=author content="Dumindu Madunuwan"><meta name=theme-color content="#ffffff" media="(prefers-color-scheme: light)"><meta name=theme-color content="#101010" media="(prefers-color-scheme: dark)"><title>Functions · Learning Rust</title><link rel=canonical href=https://learning-rust.github.io/docs/functions/><link rel=stylesheet href=/assets/css/docs.min.38e0cd9128e98534a0f57aefcd43b960a862ae3a52b7ebe67677e6a117295e73.css integrity><link href=https://learning-rust.github.io/pagefind/pagefind-component-ui.css rel=stylesheet><link rel=manifest href=/manifest.json><link rel=icon href=/favicon/favicon.ico><link rel=icon href=/favicon/favicon-16x16.png sizes=16x16 type=image/png><link rel=icon href=/favicon/favicon-32x32.png sizes=32x32 type=image/png><link rel=apple-touch-icon href=/favicon/apple-touch-icon.png sizes=180x180><script async src="https://www.googletagmanager.com/gtag/js?id=G-FZHQCXSZ89"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-FZHQCXSZ89")</script><meta property="og:title" content="Functions"><meta property="og:description" content="Functions - Rust Programming Language Tutorials for Everyone!"><meta property="og:type" content="article"><meta property="og:url" content="https://learning-rust.github.io/docs/functions/"><meta property="og:image" content="https://learning-rust.github.io/docs/functions/og.jpg"><meta property="og:site_name" content="Learning Rust"><meta name=twitter:card content="summary_large_image"><meta name=twitter:title content="Functions"><meta name=twitter:description content="Functions - Rust Programming Language Tutorials for Everyone!"><meta name=twitter:image content="https://learning-rust.github.io/docs/functions/og.jpg"><script type=application/ld+json>{"@context":"https://schema.org","@type":"Article","headline":"Functions","description":"Functions - Rust Programming Language Tutorials for Everyone!","image":"https:\/\/learning-rust.github.io\/docs\/functions\/og.jpg","author":{"@type":"Person","name":"Dumindu Madunuwan","url":"https:\/\/github.com\/dumindu"},"publisher":{"@type":"Organization","name":"Learning Rust","logo":{"@type":"ImageObject","url":"https:\/\/learning-rust.github.io\/"}},"dateModified":"2026-08-15T23:38:58Z","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/learning-rust.github.io\/docs\/functions\/"}}</script></head><body><aside id=left-sidebar><div><button class=btn>
22
<svg height="20" viewBox="0 -960 960 960" width="20"><path d="M480-429 316-265q-11 11-25 10.5T266-266t-11-25.5 11-25.5l163-163-164-164q-11-11-10.5-25.5T266-695t25.5-11 25.5 11l163 164 164-164q11-11 25.5-11t25.5 11 11 25.5T695-644L531-480l164 164q11 11 11 25t-11 25-25.5 11T644-266L480-429z"/></svg>
33
Close</button></div><a href=https://learning-rust.github.io/ class=site-logo><img height=52px src=https://learning-rust.github.io/logo.svg alt="Site Logo"></a><nav aria-label="Documentation Pages"><details open><summary>Documentation</summary><ul><li><a href=https://learning-rust.github.io/docs/overview/>Overview</a></li></ul></details><details open><summary>Basics</summary><ul><li><a href=https://learning-rust.github.io/docs/why-rust/>Why Rust?</a></li><li><a href=https://learning-rust.github.io/docs/installation/>Installation</a></li><li><a href=https://learning-rust.github.io/docs/hello-world/>Hello World</a></li><li><a href=https://learning-rust.github.io/docs/cargo-crates-and-basic-project-structure/>Cargo, Crates and Basic Project Structure</a></li><li><a href=https://learning-rust.github.io/docs/comments-and-documenting-the-code/>Comments and Documenting the code</a></li><li><a href=https://learning-rust.github.io/docs/variable-bindings-constants-and-statics/>Variable bindings, Constants and Statics</a></li><li><a href=https://learning-rust.github.io/docs/functions/ class=active aria-current=page>Functions</a></li><li><a href=https://learning-rust.github.io/docs/primitive-data-types/>Primitive Data Types</a></li><li><a href=https://learning-rust.github.io/docs/operators/>Operators</a></li><li><a href=https://learning-rust.github.io/docs/control-flows/>Control Flows</a></li></ul></details><details open><summary>Beyond The Basics</summary><ul><li><a href=https://learning-rust.github.io/docs/vectors/>Vectors</a></li><li><a href=https://learning-rust.github.io/docs/structs/>Structs</a></li><li><a href=https://learning-rust.github.io/docs/enums/>Enums</a></li><li><a href=https://learning-rust.github.io/docs/generics/>Generics</a></li><li><a href=https://learning-rust.github.io/docs/impls/>Impls</a></li><li><a href=https://learning-rust.github.io/docs/traits/>Traits</a></li></ul></details><details open><summary>The Tough Part</summary><ul><li><a href=https://learning-rust.github.io/docs/ownership/>Ownership</a></li><li><a href=https://learning-rust.github.io/docs/borrowing/>Borrowing</a></li><li><a href=https://learning-rust.github.io/docs/lifetimes/>Lifetimes</a></li></ul></details><details open><summary>Let's Get It Started</summary><ul><li><a href=https://learning-rust.github.io/docs/modules/>Modules</a></li><li><a href=https://learning-rust.github.io/docs/use/>Use</a></li><li><a href=https://learning-rust.github.io/docs/crates-and-packages/>Crates and Packages</a></li><li><a href=https://learning-rust.github.io/docs/workspaces/>Workspaces</a></li><li><a href=https://learning-rust.github.io/docs/the-pillars-of-compilation-and-rust-std/>The Pillars of Compilation and Rust STD</a></li></ul></details><details open><summary>Error Handling</summary><ul><li><a href=https://learning-rust.github.io/docs/smart-compiler/>Smart Compiler</a></li><li><a href=https://learning-rust.github.io/docs/panicking/>Panicking</a></li><li><a href=https://learning-rust.github.io/docs/option-and-result/>Option and Result</a></li><li><a href=https://learning-rust.github.io/docs/unwrap-and-expect/>Unwrap and Expect</a></li><li><a href=https://learning-rust.github.io/docs/error-and-none-propagation/>Error and None Propagation</a></li><li><a href=https://learning-rust.github.io/docs/combinators/>Combinators</a></li><li><a href=https://learning-rust.github.io/docs/custom-error-types/>Custom Error Types</a></li></ul></details></nav></aside><div id=content-wrapper><header id=site-header><div id=site-header-logo><a href=https://learning-rust.github.io/><img height=52px src=https://learning-rust.github.io/logo.svg alt="Site Logo"></a></div><div id=site-header-actions><div id=search-box><pagefind-modal-trigger compact=true></pagefind-modal-trigger><pagefind-modal></pagefind-modal></div><div id=theme-dropdown class=dropdown><button class=dropdown-btn aria-haspopup=menu aria-label="Select the theme">
44
<span><svg class="icon" height="20" viewBox="0 -960 960 960" width="20"><path d="M480-96q-79 0-149-30t-122.5-82.5T126-331 96-480q0-80 30.5-149.5t84-122 125-82.5T488-864q78 0 146.5 27T754-763t80.5 110T864-518q0 96-67 163t-163 67h-68q-8 0-14 5t-6 13q0 15 15 25t15 53q0 37-27 66.5T480-96zm0-384zm-173.5 18.5Q324-479 324-504t-17.5-42.5T264-564t-42.5 17.5T204-504t17.5 42.5T264-444t42.5-17.5zm120-144Q444-623 444-648t-17.5-42.5T384-708t-42.5 17.5T324-648t17.5 42.5T384-588t42.5-17.5zm192 0Q636-623 636-648t-17.5-42.5T576-708t-42.5 17.5T516-648t17.5 42.5T576-588t42.5-17.5zm120 144Q756-479 756-504t-17.5-42.5T696-564t-42.5 17.5T636-504t17.5 42.5T696-444t42.5-17.5zM480-168q11 0 17.5-8.5T504-192q0-16-15-28t-15-50 26.5-64 64.5-26h69q66 0 112-46t46-112q0-115-88.5-194.5T488-792q-134 0-227 91t-93 221 91 221 221 91z"/></svg>
@@ -114,8 +114,8 @@
114114
</span></span></span><span class=line><span class=cl><span class=k>fn</span> <span class=nf>main</span><span class=p>()</span><span class=w> </span><span class=p>{</span><span class=w>
115115
</span></span></span><span class=line><span class=cl><span class=w> </span><span class=n>my_mod</span>::<span class=n>greet</span><span class=p>(</span><span class=s>&#34;Steve Jobs&#34;</span><span class=p>);</span><span class=w> </span><span class=c1>// Hello, Steve Jobs!
116116
</span></span></span><span class=line><span class=cl><span class=p>}</span></span></span></code></pre></div></li></ul><div class="alert alert-assignment"><div class=alert-header><svg height="20" viewBox="0 -960 960 960" width="20"><path d="M216-144q-29.7.0-50.85-21.15T144-216v-528q0-29.7 21.15-50.85T216-816h171q8-31 33.5-51.5T480-888t59.5 20.5T573-816h171q29.7.0 50.85 21.15T816-744v528q0 29.7-21.15 50.85T744-144H216zm0-72h528v-528H216v528zm108-72h216q15.3.0 25.65-10.29Q576-308.58 576-323.79t-10.35-25.71Q555.3-360 540-360H324q-15.3.0-25.65 10.29Q288-339.42 288-324.21t10.35 25.71Q308.7-288 324-288zm0-156h312q15.3.0 25.65-10.29Q672-464.58 672-479.79t-10.35-25.71T636-516H324q-15.3.0-25.65 10.29Q288-495.42 288-480.21t10.35 25.71Q308.7-444 324-444zm0-156h312q15.3.0 25.65-10.29Q672-620.58 672-635.79t-10.35-25.71Q651.3-672 636-672H324q-15.3.0-25.65 10.29Q288-651.42 288-636.21t10.35 25.71Q308.7-6e2 324-6e2zm173-175q7-7 7-17t-7-17-17-7-17 7-7 17 7 17 17 7 17-7zM216-216v-528 528z"/></svg>
117-
<span>Assignment</span></div><div class=alert-body><p>Refer <a href=/docs/operators/#path-separator-and-member-access-operators>path separator and member access operators</a> for more information about the usage of the <code>::</code> and <code>.</code> operators.</p></div></div></li></ul></div><footer id=article-footer><time datetime=2026-05-26><span><svg height="20" viewBox="0 -960 960 960" width="20"><path d="M216-96q-29.7.0-50.85-21.5T144-168v-528q0-29 21.15-50.5T216-768h72v-60q0-15.3 10.29-25.65Q308.58-864 323.79-864t25.71 10.35Q360-843.3 360-828v60h240v-60q0-15.3 10.29-25.65Q620.58-864 635.79-864t25.71 10.35Q672-843.3 672-828v60h72q29.7.0 50.85 21.5T816-696v528q0 29-21.15 50.5T744-96H216zm0-72h528v-360H216v360zm0-432h528v-96H216v96zm0 0v-96 96zm264.21 216q-15.21.0-25.71-10.29t-10.5-25.5 10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5zM298.5-394.29q-10.5-10.29-10.5-25.5t10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5-25.71-10.29zM636.21-384q-15.21.0-25.71-10.29t-10.5-25.5 10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5zm-156 144q-15.21.0-25.71-10.29t-10.5-25.5 10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5zM298.5-250.29q-10.5-10.29-10.5-25.5t10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71q-10.29 10.5-25.5 10.5t-25.71-10.29zM636.21-240q-15.21.0-25.71-10.29t-10.5-25.5 10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5z"/></svg>
118-
</span>Updated: 2026-05-26
117+
<span>Assignment</span></div><div class=alert-body><p>Refer <a href=/docs/operators/#path-separator--member-access>path separator and member access operators</a> for more information about the usage of the <code>::</code> and <code>.</code> operators.</p></div></div></li></ul></div><footer id=article-footer><time datetime=2026-08-15><span><svg height="20" viewBox="0 -960 960 960" width="20"><path d="M216-96q-29.7.0-50.85-21.5T144-168v-528q0-29 21.15-50.5T216-768h72v-60q0-15.3 10.29-25.65Q308.58-864 323.79-864t25.71 10.35Q360-843.3 360-828v60h240v-60q0-15.3 10.29-25.65Q620.58-864 635.79-864t25.71 10.35Q672-843.3 672-828v60h72q29.7.0 50.85 21.5T816-696v528q0 29-21.15 50.5T744-96H216zm0-72h528v-360H216v360zm0-432h528v-96H216v96zm0 0v-96 96zm264.21 216q-15.21.0-25.71-10.29t-10.5-25.5 10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5zM298.5-394.29q-10.5-10.29-10.5-25.5t10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5-25.71-10.29zM636.21-384q-15.21.0-25.71-10.29t-10.5-25.5 10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5zm-156 144q-15.21.0-25.71-10.29t-10.5-25.5 10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5zM298.5-250.29q-10.5-10.29-10.5-25.5t10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71q-10.29 10.5-25.5 10.5t-25.71-10.29zM636.21-240q-15.21.0-25.71-10.29t-10.5-25.5 10.29-25.71 25.5-10.5 25.71 10.29 10.5 25.5-10.29 25.71-25.5 10.5z"/></svg>
118+
</span>Updated: 2026-08-15
119119
</time><a href=https://learning-rust.github.io/docs/variable-bindings-constants-and-statics/><svg height="20" viewBox="0 -960 960 960" width="20"><path d="m438-480 164 164q11 11 11 25.5T602-265t-25.5 11T551-265L361-455q-5-5-7.5-11.5T351-480t2.5-13.5T361-505l190-190q11-11 25.5-11t25.5 11 11 25.5T602-644L438-480z"/></svg>
120120
Previous</a>
121121
<a href=https://learning-rust.github.io/docs/primitive-data-types/>Next

0 commit comments

Comments
 (0)