mirror of
https://github.com/rust-lang/rustlings.git
synced 2024-12-24 22:50:26 +00:00
Deploying to gh-pages from @ rust-lang/rustlings@38016cb2d6 🚀
This commit is contained in:
commit
1e96dab8f0
35 changed files with 6437 additions and 0 deletions
1
CNAME
Normal file
1
CNAME
Normal file
|
@ -0,0 +1 @@
|
|||
rustlings.cool
|
245
artifacts.js
Normal file
245
artifacts.js
Normal file
|
@ -0,0 +1,245 @@
|
|||
/* Code modified from the blender website
|
||||
* https://www.blender.org/wp-content/themes/bthree/assets/js/get_os.js?x82196
|
||||
*/
|
||||
|
||||
let options = {
|
||||
windows64: "x86_64-pc-windows",
|
||||
windows32: "i686-pc-windows",
|
||||
windowsArm: "aarch64-pc-windows",
|
||||
|
||||
mac64: "x86_64-apple",
|
||||
mac32: "i686-apple",
|
||||
macSilicon: "aarch64-apple",
|
||||
|
||||
linux64: "x86_64-unknown-linux",
|
||||
linux32: "i686-unknown-linux",
|
||||
linuxArm: "aarch64-unknown-linux",
|
||||
|
||||
// ios: "ios",
|
||||
// android: "linux-android",
|
||||
// freebsd: "freebsd",
|
||||
};
|
||||
|
||||
function isAppleSilicon() {
|
||||
try {
|
||||
var glcontext = document.createElement("canvas").getContext("webgl");
|
||||
var debugrenderer = glcontext
|
||||
? glcontext.getExtension("WEBGL_debug_renderer_info")
|
||||
: null;
|
||||
var renderername =
|
||||
(debugrenderer &&
|
||||
glcontext.getParameter(debugrenderer.UNMASKED_RENDERER_WEBGL)) ||
|
||||
"";
|
||||
if (renderername.match(/Apple M/) || renderername.match(/Apple GPU/)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
function getOS() {
|
||||
var OS = options.windows64.default;
|
||||
var userAgent = navigator.userAgent;
|
||||
var platform = navigator.platform;
|
||||
|
||||
if (navigator.appVersion.includes("Win")) {
|
||||
if (
|
||||
!userAgent.includes("Windows NT 5.0") &&
|
||||
!userAgent.includes("Windows NT 5.1") &&
|
||||
(userAgent.indexOf("Win64") > -1 ||
|
||||
platform == "Win64" ||
|
||||
userAgent.indexOf("x86_64") > -1 ||
|
||||
userAgent.indexOf("x86_64") > -1 ||
|
||||
userAgent.indexOf("amd64") > -1 ||
|
||||
userAgent.indexOf("AMD64") > -1 ||
|
||||
userAgent.indexOf("WOW64") > -1)
|
||||
) {
|
||||
OS = options.windows64;
|
||||
} else {
|
||||
if (
|
||||
window.external &&
|
||||
window.external.getHostEnvironmentValue &&
|
||||
window.external
|
||||
.getHostEnvironmentValue("os-architecture")
|
||||
.includes("ARM64")
|
||||
) {
|
||||
OS = options.windowsArm;
|
||||
} else {
|
||||
try {
|
||||
var canvas = document.createElement("canvas");
|
||||
var gl = canvas.getContext("webgl");
|
||||
|
||||
var debugInfo = gl.getExtension("WEBGL_debug_renderer_info");
|
||||
var renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
|
||||
if (renderer.includes("Qualcomm")) OS = options.windowsArm;
|
||||
} catch (e) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//MacOS, MacOS X, macOS
|
||||
if (navigator.appVersion.includes("Mac")) {
|
||||
if (
|
||||
navigator.userAgent.includes("OS X 10.5") ||
|
||||
navigator.userAgent.includes("OS X 10.6")
|
||||
) {
|
||||
OS = options.mac32;
|
||||
} else {
|
||||
OS = options.mac64;
|
||||
|
||||
const isSilicon = isAppleSilicon();
|
||||
if (isSilicon) {
|
||||
OS = options.macSilicon;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// linux
|
||||
if (platform.includes("Linux")) {
|
||||
OS = options.linux64;
|
||||
// FIXME: Can we find out whether linux 32-bit or ARM are used?
|
||||
}
|
||||
|
||||
// if (
|
||||
// userAgent.includes("iPad") ||
|
||||
// userAgent.includes("iPhone") ||
|
||||
// userAgent.includes("iPod")
|
||||
// ) {
|
||||
// OS = options.ios;
|
||||
// }
|
||||
// if (platform.toLocaleLowerCase().includes("freebsd")) {
|
||||
// OS = options.freebsd;
|
||||
// }
|
||||
|
||||
return OS;
|
||||
}
|
||||
|
||||
let os = getOS();
|
||||
window.os = os;
|
||||
|
||||
// Unhide and hydrate selector with events
|
||||
const archSelect = document.querySelector(".arch-select");
|
||||
if (archSelect) {
|
||||
archSelect.classList.remove("hidden");
|
||||
const selector = document.querySelector("#install-arch-select");
|
||||
if (selector) {
|
||||
selector.addEventListener("change", onArchChange);
|
||||
}
|
||||
}
|
||||
|
||||
// Hydrate tab buttons with events
|
||||
Array.from(document.querySelectorAll(".install-tab[data-id]")).forEach((tab) => {
|
||||
tab.addEventListener("click", onTabClick);
|
||||
});
|
||||
|
||||
function onArchChange(evt) {
|
||||
// Get target
|
||||
const target = evt.currentTarget.value;
|
||||
// Find corresponding installer lists
|
||||
const newContentEl = document.querySelector(`.arch[data-arch=${target}]`);
|
||||
const oldContentEl = document.querySelector(`.arch[data-arch]:not(.hidden)`);
|
||||
// Hide old content element (if applicable)
|
||||
if (oldContentEl) {
|
||||
oldContentEl.classList.add("hidden");
|
||||
}
|
||||
// Show new content element
|
||||
newContentEl.classList.remove("hidden");
|
||||
// Show the first tab's content if nothing was selected before
|
||||
if (newContentEl.querySelectorAll(".install-tab.selected").length === 0) {
|
||||
const firstContentChild = newContentEl.querySelector(".install-content:first-of-type");
|
||||
const firstTabChild = newContentEl.querySelector(".install-tab:first-of-type");
|
||||
firstContentChild.classList.remove("hidden");
|
||||
if (firstTabChild) {
|
||||
firstTabChild.classList.add("selected");
|
||||
}
|
||||
}
|
||||
// Hide "no OS detected" message
|
||||
const noDetectEl = document.querySelector(".no-autodetect");
|
||||
noDetectEl.classList.add("hidden");
|
||||
// Hide Mac hint
|
||||
document.querySelector(".mac-switch").classList.add("hidden");
|
||||
}
|
||||
|
||||
function onTabClick(evt) {
|
||||
// Get target and ID
|
||||
const {triple, id} = evt.currentTarget.dataset;
|
||||
if (triple) {
|
||||
// Find corresponding content elements
|
||||
const newContentEl = document.querySelector(`.install-content[data-id="${String(id)}"][data-triple=${triple}]`);
|
||||
const oldContentEl = document.querySelector(`.install-content[data-triple=${triple}][data-id]:not(.hidden)`);
|
||||
// Find old tab to unselect
|
||||
const oldTabEl = document.querySelector(`.install-tab[data-triple=${triple}].selected`);
|
||||
// Hide old content element
|
||||
if (oldContentEl && oldTabEl) {
|
||||
oldContentEl.classList.add("hidden");
|
||||
oldTabEl.classList.remove("selected");
|
||||
}
|
||||
|
||||
// Unhide new content element
|
||||
newContentEl.classList.remove("hidden");
|
||||
// Select new tab element
|
||||
evt.currentTarget.classList.add("selected");
|
||||
}
|
||||
}
|
||||
|
||||
const allPlatforms = Array.from(document.querySelectorAll(`.arch[data-arch]`));
|
||||
let hit = allPlatforms.find(
|
||||
(a) => {
|
||||
// Show Intel Mac downloads if no M1 Mac downloads are available
|
||||
if (
|
||||
a.attributes["data-arch"].value.includes(options.mac64) &&
|
||||
os.includes(options.macSilicon) &&
|
||||
!allPlatforms.find(p => p.attributes["data-arch"].value.includes(options.macSilicon))) {
|
||||
// Unhide hint
|
||||
document.querySelector(".mac-switch").classList.remove("hidden");
|
||||
return true;
|
||||
}
|
||||
return a.attributes["data-arch"].value.includes(os);
|
||||
}
|
||||
);
|
||||
|
||||
if (hit) {
|
||||
hit.classList.remove("hidden");
|
||||
const selectEl = document.querySelector("#install-arch-select");
|
||||
selectEl.value = hit.dataset.arch;
|
||||
const firstContentChild = hit.querySelector(".install-content:first-of-type");
|
||||
const firstTabChild = hit.querySelector(".install-tab:first-of-type");
|
||||
firstContentChild.classList.remove("hidden");
|
||||
if (firstTabChild) {
|
||||
firstTabChild.classList.add("selected");
|
||||
}
|
||||
} else {
|
||||
const noDetectEl = document.querySelector(".no-autodetect");
|
||||
if (noDetectEl) {
|
||||
const noDetectElDetails = document.querySelector(".no-autodetect-details");
|
||||
if (noDetectElDetails) {
|
||||
noDetectElDetails.innerHTML = `We detected you're on ${os} but there don't seem to be installers for that. `
|
||||
}
|
||||
noDetectEl.classList.remove("hidden");
|
||||
}
|
||||
}
|
||||
|
||||
let copyButtons = Array.from(document.querySelectorAll("[data-copy]"));
|
||||
if (copyButtons.length) {
|
||||
copyButtons.forEach(function (element) {
|
||||
element.addEventListener("click", () => {
|
||||
navigator.clipboard.writeText(element.attributes["data-copy"].value);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Toggle for pre releases
|
||||
const checkbox = document.getElementById("show-prereleases");
|
||||
|
||||
if (checkbox) {
|
||||
checkbox.addEventListener("click", () => {
|
||||
const all = document.getElementsByClassName("pre-release");
|
||||
|
||||
if (all) {
|
||||
for (var item of all) {
|
||||
item.classList.toggle("hidden");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
111
changelog/2.2.1/index.html
Normal file
111
changelog/2.2.1/index.html
Normal file
|
@ -0,0 +1,111 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 2.2.1</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
2.2.1
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Feb 27 2020 at 18:24 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
145
changelog/3.0.0/index.html
Normal file
145
changelog/3.0.0/index.html
Normal file
|
@ -0,0 +1,145 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 3.0.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
3.0.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Apr 11 2020 at 22:04 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Breaking Changes</h4>
|
||||
<ul>
|
||||
<li>make "compile" exercises print output (#278) (<a href="https://github.com/fmoko/rustlings/commit/3b6d5c3aaa27a242a832799eb66e96897d26fde3" rel="noopener noreferrer">3b6d5c</a>)</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li><strong>primitive_types:</strong> revert primitive_types4 (#296) (<a href="https://github.com/rust-lang/rustlings/commit/b3a3351e8e6a0bdee07077d7b0382953821649ae" rel="noopener noreferrer">b3a3351e</a>)</li>
|
||||
<li><strong>run:</strong> compile clippy exercise files (#295) (<a href="https://github.com/rust-lang/rustlings/commit/3ab084a421c0f140ae83bf1fc3f47b39342e7373" rel="noopener noreferrer">3ab084a4</a>)</li>
|
||||
<li><strong>conversions:</strong>
|
||||
<ul>
|
||||
<li>add additional test to meet exercise rules (#284) (<a href="https://github.com/fmoko/rustlings/commit/bc22ec382f843347333ef1301fc1bad773657f38" rel="noopener noreferrer">bc22ec3</a>)</li>
|
||||
<li>remove duplicate not done comment (#292) (<a href="https://github.com/fmoko/rustlings/commit/dab90f7b91a6000fe874e3d664f244048e5fa342" rel="noopener noreferrer">dab90f</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>don't hardcode documentation version for traits (#288) (<a href="https://github.com/fmoko/rustlings/commit/30e6af60690c326fb5d3a9b7335f35c69c09137d" rel="noopener noreferrer">30e6af</a>)</li>
|
||||
</ul>
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>add Option2 exercise (#290) (<a href="https://github.com/rust-lang/rustlings/commit/86b5c08b9bea1576127a7c5f599f5752072c087d" rel="noopener noreferrer">86b5c08b</a>)</li>
|
||||
<li>add exercise for option (#282) (<a href="https://github.com/rust-lang/rustlings/commit/135e5d47a7c395aece6f6022117fb20c82f2d3d4" rel="noopener noreferrer">135e5d47</a>)</li>
|
||||
<li>add new exercises for generics (#280) (<a href="https://github.com/rust-lang/rustlings/commit/76be5e4e991160f5fd9093f03ee2ba260e8f7229" rel="noopener noreferrer">76be5e4e</a>)</li>
|
||||
<li><strong>ci:</strong> add buildkite config (<a href="https://github.com/rust-lang/rustlings/commit/b049fa2c84dba0f0c8906ac44e28fd45fba51a71" rel="noopener noreferrer">b049fa2c</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
<h3>2.2.1 (2020-02-27)</h3>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>Re-add cloning the repo to install scripts (<a href="https://github.com/rust-lang/rustlings/commit/3d9b03c52b8dc51b140757f6fd25ad87b5782ef5" rel="noopener noreferrer">3d9b03c5</a>)</li>
|
||||
</ul>
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Add clippy lints (#269) (<a href="https://github.com/rust-lang/rustlings/commit/1e2fd9c92f8cd6e389525ca1a999fca4c90b5921" rel="noopener noreferrer">1e2fd9c9</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
157
changelog/4.0.0/index.html
Normal file
157
changelog/4.0.0/index.html
Normal file
|
@ -0,0 +1,157 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.0.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.0.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Jul 8 2020 at 09:41 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Breaking Changes</h4>
|
||||
<ul>
|
||||
<li>Add a --nocapture option to display test harnesses' outputs (<a href="https://github.com/rust-lang/rustlings/commit/8ad5f9bf531a4848b1104b7b389a20171624c82f" rel="noopener noreferrer">8ad5f9bf</a>)</li>
|
||||
<li>Rename test to quiz, fixes #244 (<a href="https://github.com/rust-lang/rustlings/commit/010a04569282149cea7f7a76fc4d7f4c9f0f08dd" rel="noopener noreferrer">010a0456</a>)</li>
|
||||
</ul>
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Add traits README (<a href="https://github.com/rust-lang/rustlings/commit/173bb14140c5530cbdb59e53ace3991a99d804af" rel="noopener noreferrer">173bb141</a>)</li>
|
||||
<li>Add box1.rs exercise (<a href="https://github.com/rust-lang/rustlings/commit/7479a4737bdcac347322ad0883ca528c8675e720" rel="noopener noreferrer">7479a473</a>)</li>
|
||||
<li>Rewrite try_from_into (#393) (<a href="https://github.com/rust-lang/rustlings/commit/763aa6e378a586caae2d8d63755a85eeba227933" rel="noopener noreferrer">763aa6e3</a>)</li>
|
||||
<li>Add if2 exercise (<a href="https://github.com/rust-lang/rustlings/commit/1da84b5f7c489f65bd683c244f13c7d1ee812df0" rel="noopener noreferrer">1da84b5f</a>)</li>
|
||||
<li>Added exercise structs3.rs (<a href="https://github.com/rust-lang/rustlings/commit/b66e2e09622243e086a0f1258dd27e1a2d61c891" rel="noopener noreferrer">b66e2e09</a>)</li>
|
||||
<li>Add exercise variables6 covering const (#352) (<a href="https://github.com/rust-lang/rustlings/commit/5999acd24a4f203292be36e0fd18d385887ec481" rel="noopener noreferrer">5999acd2</a>)</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>Change then to than (<a href="https://github.com/rust-lang/rustlings/commit/ddd98ad75d3668fbb10eff74374148aa5ed2344d" rel="noopener noreferrer">ddd98ad7</a>)</li>
|
||||
<li>rename quiz1 to tests1 in info (#420) (<a href="https://github.com/rust-lang/rustlings/commit/0dd1c6ca6b389789e0972aa955fe17aa15c95f29" rel="noopener noreferrer">0dd1c6ca</a>)</li>
|
||||
<li>fix quiz naming inconsistency (#421) (<a href="https://github.com/rust-lang/rustlings/commit/5563adbb890587fc48fbbc9c4028642687f1e85b" rel="noopener noreferrer">5563adbb</a>)</li>
|
||||
<li>confine the user further in variable exercises (<a href="https://github.com/rust-lang/rustlings/commit/06ef4cc654e75d22a526812919ee49b8956280bf" rel="noopener noreferrer">06ef4cc6</a>)</li>
|
||||
<li>update iterator and macro text for typos and clarity (<a href="https://github.com/rust-lang/rustlings/commit/959008284834bece0196a01e17ac69a7e3590116" rel="noopener noreferrer">95900828</a>)</li>
|
||||
<li>update generics2 closes #362 (<a href="https://github.com/rust-lang/rustlings/commit/964c974a0274199d755073b917c2bc5da0c9b4f1" rel="noopener noreferrer">964c974a</a>)</li>
|
||||
<li>confusing comment in conversions/try_from_into.rs (<a href="https://github.com/rust-lang/rustlings/commit/c9e4f2cfb4c48d0b7451263cfb43b9426438122d" rel="noopener noreferrer">c9e4f2cf</a>)</li>
|
||||
<li><strong>arc1:</strong> Passively introduce attributes (#429) (<a href="https://github.com/rust-lang/rustlings/commit/113cdae2d4e4c55905e8056ad326ede7fd7de356" rel="noopener noreferrer">113cdae2</a>)</li>
|
||||
<li><strong>box1:</strong> fix comment typo (#426) (<a href="https://github.com/rust-lang/rustlings/commit/bb2ca251106b27a7272d9a30872904dd1376654c" rel="noopener noreferrer">bb2ca251</a>)</li>
|
||||
<li><strong>errorsn:</strong> Try harder to confine the user. (#388) (<a href="https://github.com/rust-lang/rustlings/commit/2b20c8a0f5774d07c58d110d75879f33fc6273b5" rel="noopener noreferrer">2b20c8a0</a>)</li>
|
||||
<li><strong>from_into.rs:</strong> typo (<a href="https://github.com/rust-lang/rustlings/commit/a901499ededd3ce1995164700514fe4e9a0373ea" rel="noopener noreferrer">a901499e</a>)</li>
|
||||
<li><strong>generics2:</strong> Guide students to the answer (#430) (<a href="https://github.com/rust-lang/rustlings/commit/e6bd8021d9a7dd06feebc30c9d5f953901d7b419" rel="noopener noreferrer">e6bd8021</a>)</li>
|
||||
<li><strong>installation:</strong>
|
||||
<ul>
|
||||
<li>Provide a backup git reference when tag can't be curl (<a href="https://github.com/rust-lang/rustlings/commit/9e4fb1009f1c9e3433915c03e22c2af422e5c5fe" rel="noopener noreferrer">9e4fb100</a>)</li>
|
||||
<li>Check if python is available while checking for git,rustc and cargo (<a href="https://github.com/rust-lang/rustlings/commit/9cfb617d5b0451b4b51644a1298965390cda9884" rel="noopener noreferrer">9cfb617d</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>option1:</strong>
|
||||
<ul>
|
||||
<li>Don't add only zeros to the numbers array (<a href="https://github.com/rust-lang/rustlings/commit/cce6a4427718724a9096800754cd3abeca6a1580" rel="noopener noreferrer">cce6a442</a>)</li>
|
||||
<li>Add cast to usize, as it is confusing in the context of an exercise about Option (<a href="https://github.com/rust-lang/rustlings/commit/f6cffc7e487b42f15a6f958e49704c93a8d4465b" rel="noopener noreferrer">f6cffc7e</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>option2:</strong> Add TODO to comments (#400) (<a href="https://github.com/rust-lang/rustlings/commit/10967bce57682812dc0891a9f9757da1a9d87404" rel="noopener noreferrer">10967bce</a>)</li>
|
||||
<li><strong>options1:</strong> Add hint about Array Initialization (#389) (<a href="https://github.com/rust-lang/rustlings/commit/9f75554f2a30295996f03f0160b98c0458305502" rel="noopener noreferrer">9f75554f</a>)</li>
|
||||
<li><strong>test2:</strong> name of type String and &str (#394) (<a href="https://github.com/rust-lang/rustlings/commit/d6c0a688e6a96f93ad60d540d4b326f342fc0d45" rel="noopener noreferrer">d6c0a688</a>)</li>
|
||||
<li><strong>variables6:</strong> minor typo (#419) (<a href="https://github.com/rust-lang/rustlings/commit/524e17df10db95f7b90a0f75cc8997182a8a4094" rel="noopener noreferrer">524e17df</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
132
changelog/4.1.0/index.html
Normal file
132
changelog/4.1.0/index.html
Normal file
|
@ -0,0 +1,132 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.1.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.1.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Oct 5 2020 at 16:45 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>Update rustlings version in Cargo.lock (<a href="https://github.com/rust-lang/rustlings/commit/1cc40bc9ce95c23d56f6d91fa1c4deb646231fef" rel="noopener noreferrer">1cc40bc9</a>)</li>
|
||||
<li><strong>arc1:</strong> index mod should equal thread count (<a href="https://github.com/rust-lang/rustlings/commit/b4062ef6993e80dac107c4093ea85166ad3ee0fa" rel="noopener noreferrer">b4062ef6</a>)</li>
|
||||
<li><strong>enums3:</strong> Update Message::ChangeColor to take a tuple. (#457) (<a href="https://github.com/rust-lang/rustlings/commit/4b6540c71adabad647de8a09e57295e7c7c7d794" rel="noopener noreferrer">4b6540c7</a>)</li>
|
||||
<li><strong>exercises:</strong> adding question mark to quiz2 (<a href="https://github.com/rust-lang/rustlings/commit/101072ab9f8c80b40b8b88cb06cbe38aca2481c5" rel="noopener noreferrer">101072ab</a>)</li>
|
||||
<li><strong>generics3:</strong> clarify grade change (<a href="https://github.com/rust-lang/rustlings/commit/47f7672c0307732056e7426e81d351f0dd7e22e5" rel="noopener noreferrer">47f7672c</a>)</li>
|
||||
<li><strong>structs3:</strong> Small adjustment of variable name (<a href="https://github.com/rust-lang/rustlings/commit/114b54cbdb977234b39e5f180d937c14c78bb8b2" rel="noopener noreferrer">114b54cb</a>)</li>
|
||||
<li><strong>using_as:</strong> Add test so that proper type is returned. (#512) (<a href="https://github.com/rust-lang/rustlings/commit/3286c5ec19ea5fb7ded81d047da5f8594108a490" rel="noopener noreferrer">3286c5ec</a>)</li>
|
||||
</ul>
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Added iterators1.rs exercise (<a href="https://github.com/rust-lang/rustlings/commit/9642f5a3f686270a4f8f6ba969919ddbbc4f7fdd" rel="noopener noreferrer">9642f5a3</a>)</li>
|
||||
<li>Add ability to run rustlings on repl.it (#471) (<a href="https://github.com/rust-lang/rustlings/commit/8f7b5bd00eb83542b959830ef55192d2d76db90a" rel="noopener noreferrer">8f7b5bd0</a>)</li>
|
||||
<li>Add gitpod support (#473) (<a href="https://github.com/rust-lang/rustlings/commit/4821a8be94af4f669042a06ab917934cfacd032f" rel="noopener noreferrer">4821a8be</a>)</li>
|
||||
<li>Remind the user of the hint option (#425) (<a href="https://github.com/rust-lang/rustlings/commit/816b1f5e85d6cc6e72673813a85d0ada2a8f84af" rel="noopener noreferrer">816b1f5e</a>)</li>
|
||||
<li>Remind the user of the hint option (#425) (<a href="https://github.com/rust-lang/rustlings/commit/9f61db5dbe38538cf06571fcdd5f806e7901e83a" rel="noopener noreferrer">9f61db5d</a>)</li>
|
||||
<li><strong>cli:</strong> Added 'cls' command to 'watch' mode (#474) (<a href="https://github.com/rust-lang/rustlings/commit/4f2468e14f574a93a2e9b688367b5752ed96ae7b" rel="noopener noreferrer">4f2468e1</a>)</li>
|
||||
<li><strong>try_from_into:</strong> Add insufficient length test (#469) (<a href="https://github.com/rust-lang/rustlings/commit/523d18b873a319f7c09262f44bd40e2fab1830e5" rel="noopener noreferrer">523d18b8</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
133
changelog/4.2.0/index.html
Normal file
133
changelog/4.2.0/index.html
Normal file
|
@ -0,0 +1,133 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.2.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.2.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Nov 7 2020 at 13:22 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Add HashMap exercises (<a href="https://github.com/rust-lang/rustlings/commit/633c00cf8071e1e82959a3010452a32f34f29fc9" rel="noopener noreferrer">633c00cf</a>)</li>
|
||||
<li>Add Vec exercises (<a href="https://github.com/rust-lang/rustlings/commit/0c12fa31c57c03c6287458a0a8aca7afd057baf6" rel="noopener noreferrer">0c12fa31</a>)</li>
|
||||
<li><strong>primitive_types6:</strong> Add a test (#548) (<a href="https://github.com/rust-lang/rustlings/commit/2b1fb2b739bf9ad8d6b7b12af25fee173011bfc4" rel="noopener noreferrer">2b1fb2b7</a>)</li>
|
||||
<li><strong>try_from_into:</strong> Add tests (#571) (<a href="https://github.com/rust-lang/rustlings/commit/95ccd92616ae79ba287cce221101e0bbe4f68cdc" rel="noopener noreferrer">95ccd926</a>)</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>log error output when inotify limit is exceeded (<a href="https://github.com/rust-lang/rustlings/commit/d61b4e5a13b44d72d004082f523fa1b6b24c1aca" rel="noopener noreferrer">d61b4e5a</a>)</li>
|
||||
<li>more unique temp_file (<a href="https://github.com/rust-lang/rustlings/commit/5643ef05bc81e4a840e9456f4406a769abbe1392" rel="noopener noreferrer">5643ef05</a>)</li>
|
||||
<li><strong>installation:</strong> Update the MinRustVersion (<a href="https://github.com/rust-lang/rustlings/commit/21bfb2d4777429c87d8d3b5fbf0ce66006dcd034" rel="noopener noreferrer">21bfb2d4</a>)</li>
|
||||
<li><strong>iterators2:</strong> Update description (#578) (<a href="https://github.com/rust-lang/rustlings/commit/197d3a3d8961b2465579218a6749b2b2cefa8ddd" rel="noopener noreferrer">197d3a3d</a>)</li>
|
||||
<li><strong>primitive_types6:</strong>
|
||||
<ul>
|
||||
<li>remove 'unused doc comment' warning (<a href="https://github.com/rust-lang/rustlings/commit/472d8592d65c8275332a20dfc269e7ac0d41bc88" rel="noopener noreferrer">472d8592</a>)</li>
|
||||
<li>missing comma in test (<a href="https://github.com/rust-lang/rustlings/commit/4fb230daf1251444fcf29e085cee222a91f8a37e" rel="noopener noreferrer">4fb230da</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>quiz3:</strong> Second test is for odd numbers, not even. (#553) (<a href="https://github.com/rust-lang/rustlings/commit/18e0bfef1de53071e353ba1ec5837002ff7290e6" rel="noopener noreferrer">18e0bfef</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
135
changelog/4.3.0/index.html
Normal file
135
changelog/4.3.0/index.html
Normal file
|
@ -0,0 +1,135 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.3.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.3.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Dec 29 2020 at 10:41 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Rewrite default out text (<a href="https://github.com/rust-lang/rustlings/commit/44d39112ff122b29c9793fe52e605df1612c6490" rel="noopener noreferrer">44d39112</a>)</li>
|
||||
<li>match exercise order to book chapters (#541) (<a href="https://github.com/rust-lang/rustlings/commit/033bf1198fc8bfce1b570e49da7cde010aa552e3" rel="noopener noreferrer">033bf119</a>)</li>
|
||||
<li>Crab? (#586) (<a href="https://github.com/rust-lang/rustlings/commit/fa9f522b7f043d7ef73a39f003a9272dfe72c4f4" rel="noopener noreferrer">fa9f522b</a>)</li>
|
||||
<li>add "rustlings list" command (<a href="https://github.com/rust-lang/rustlings/commit/838f9f30083d0b23fd67503dcf0fbeca498e6647" rel="noopener noreferrer">838f9f30</a>)</li>
|
||||
<li><strong>try_from_into:</strong> remove duplicate annotation (<a href="https://github.com/rust-lang/rustlings/commit/04f1d079aa42a2f49af694bc92c67d731d31a53f" rel="noopener noreferrer">04f1d079</a>)</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>update structs README (<a href="https://github.com/rust-lang/rustlings/commit/bcf14cf677adb3a38a3ac3ca53f3c69f61153025" rel="noopener noreferrer">bcf14cf6</a>)</li>
|
||||
<li>added missing exercises to info.toml (<a href="https://github.com/rust-lang/rustlings/commit/90cfb6ff28377531bfc34acb70547bdb13374f6b" rel="noopener noreferrer">90cfb6ff</a>)</li>
|
||||
<li>gives a bit more context to magic number (<a href="https://github.com/rust-lang/rustlings/commit/30644c9a062b825c0ea89435dc59f0cad86b110e" rel="noopener noreferrer">30644c9a</a>)</li>
|
||||
<li><strong>functions2:</strong> Change signature to trigger precise error message: (#605) (<a href="https://github.com/rust-lang/rustlings/commit/0ef95947cc30482e63a7045be6cc2fb6f6dcb4cc" rel="noopener noreferrer">0ef95947</a>)</li>
|
||||
<li><strong>structs1:</strong> Adjust wording (#573) (<a href="https://github.com/rust-lang/rustlings/commit/9334783da31d821cc59174fbe8320df95828926c" rel="noopener noreferrer">9334783d</a>)</li>
|
||||
<li><strong>try_from_into:</strong>
|
||||
<ul>
|
||||
<li>type error (<a href="https://github.com/rust-lang/rustlings/commit/4f4cfcf3c36c8718c7c170c9c3a6935e6ef0618c" rel="noopener noreferrer">4f4cfcf3</a>)</li>
|
||||
<li>Update description (#584) (<a href="https://github.com/rust-lang/rustlings/commit/96347df9df294f01153b29d9ad4ba361f665c755" rel="noopener noreferrer">96347df9</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>vec1:</strong> Have test compare every element in a and v (<a href="https://github.com/rust-lang/rustlings/commit/9b6c629397b24b944f484f5b2bbd8144266b5695" rel="noopener noreferrer">9b6c6293</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
163
changelog/4.4.0/index.html
Normal file
163
changelog/4.4.0/index.html
Normal file
|
@ -0,0 +1,163 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.4.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.4.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Apr 24 2021 at 10:04 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>Fix spelling error in main.rs (<a href="https://github.com/rust-lang/rustlings/commit/91ee27f22bd3797a9db57e5fd430801c170c5db8" rel="noopener noreferrer">91ee27f2</a>)</li>
|
||||
<li>typo in default out text (<a href="https://github.com/rust-lang/rustlings/commit/644c49f1e04cbb24e95872b3a52b07d692ae3bc8" rel="noopener noreferrer">644c49f1</a>)</li>
|
||||
<li><strong>collections:</strong> Naming exercises for vectors and hashmap (<a href="https://github.com/rust-lang/rustlings/commit/bef39b125961310b34b34871e480a82e82af4678" rel="noopener noreferrer">bef39b12</a>)</li>
|
||||
<li><strong>from_str:</strong>
|
||||
<ul>
|
||||
<li>Correct typos (<a href="https://github.com/rust-lang/rustlings/commit/5f7c89f85db1f33da01911eaa479c3a2d4721678" rel="noopener noreferrer">5f7c89f8</a>)</li>
|
||||
<li>test for error instead of unwrap/should_panic (<a href="https://github.com/rust-lang/rustlings/commit/15e71535f37cfaed36e22eb778728d186e2104ab" rel="noopener noreferrer">15e71535</a>)</li>
|
||||
<li>use trait objects for from_str (<a href="https://github.com/rust-lang/rustlings/commit/c3e7b831786c9172ed8bd5d150f3c432f242fba9" rel="noopener noreferrer">c3e7b831</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>functions3:</strong> improve function argument type (#687) (<a href="https://github.com/rust-lang/rustlings/commit/a6509cc4d545d8825f01ddf7ee37823b372154dd" rel="noopener noreferrer">a6509cc4</a>)</li>
|
||||
<li><strong>hashmap2:</strong> Update incorrect assertion (#660) (<a href="https://github.com/rust-lang/rustlings/commit/72aaa15e6ab4b72b3422f1c6356396e20a2a2bb8" rel="noopener noreferrer">72aaa15e</a>)</li>
|
||||
<li><strong>info:</strong> Fix typo (#635) (<a href="https://github.com/rust-lang/rustlings/commit/cddc1e86e7ec744ee644cc774a4887b1a0ded3e8" rel="noopener noreferrer">cddc1e86</a>)</li>
|
||||
<li><strong>iterators2:</strong> Moved errors out of tests. (<a href="https://github.com/rust-lang/rustlings/commit/baf4ba175ba6eb92989e3dd54ecbec4bedc9a863" rel="noopener noreferrer">baf4ba17</a>, closes <a href="https://github.com/rust-lang/rustlings/issues/359" rel="noopener noreferrer">#359</a>)</li>
|
||||
<li><strong>iterators3:</strong> Enabled iterators3.rs to run without commented out tests. (<a href="https://github.com/rust-lang/rustlings/commit/c6712dfccd1a093e590ad22bbc4f49edc417dac0" rel="noopener noreferrer">c6712dfc</a>)</li>
|
||||
<li><strong>main:</strong> Let find_exercise work with borrows (<a href="https://github.com/rust-lang/rustlings/commit/347f30bd867343c5ace1097e085a1f7e356553f7" rel="noopener noreferrer">347f30bd</a>)</li>
|
||||
<li><strong>move_semantics4:</strong>
|
||||
<ul>
|
||||
<li>Remove redundant "instead" (#640) (<a href="https://github.com/rust-lang/rustlings/commit/cc266d7d80b91e79df3f61984f231b7f1587218e" rel="noopener noreferrer">cc266d7d</a>)</li>
|
||||
<li>Small readbility improvement (#617) (<a href="https://github.com/rust-lang/rustlings/commit/10965920fbdf8a1efc85bed869e55a1787006404" rel="noopener noreferrer">10965920</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>option2:</strong> Rename uninformative variables (#675) (<a href="https://github.com/rust-lang/rustlings/commit/b4de6594380636817d13c2677ec6f472a964cf43" rel="noopener noreferrer">b4de6594</a>)</li>
|
||||
<li><strong>quiz3:</strong> Force an answer to Q2 (#672) (<a href="https://github.com/rust-lang/rustlings/commit/0d894e6ff739943901e1ae8c904582e5c2f843bd" rel="noopener noreferrer">0d894e6f</a>)</li>
|
||||
<li><strong>structs:</strong> Add 5.3 to structs/README (#652) (<a href="https://github.com/rust-lang/rustlings/commit/6bd791f2f44aa7f0ad926df767f6b1fa8f12a9a9" rel="noopener noreferrer">6bd791f2</a>)</li>
|
||||
<li><strong>structs2:</strong> correct grammar in hint (#663) (<a href="https://github.com/rust-lang/rustlings/commit/ebdb66c7bfb6d687a14cc511a559a222e6fc5de4" rel="noopener noreferrer">ebdb66c7</a>)</li>
|
||||
<li><strong>structs3:</strong>
|
||||
<ul>
|
||||
<li>reword heading comment (#664) (<a href="https://github.com/rust-lang/rustlings/commit/9f3e8c2dde645e5264c2d2200e68842b5f47bfa3" rel="noopener noreferrer">9f3e8c2d</a>)</li>
|
||||
<li>add check to prevent naive implementation of is_international (<a href="https://github.com/rust-lang/rustlings/commit/05a753fe6333d36dbee5f68c21dec04eacdc75df" rel="noopener noreferrer">05a753fe</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>threads1:</strong> line number correction (<a href="https://github.com/rust-lang/rustlings/commit/7857b0a689b0847f48d8c14cbd1865e3b812d5ca" rel="noopener noreferrer">7857b0a6</a>)</li>
|
||||
<li><strong>try_from_into:</strong> use trait objects (<a href="https://github.com/rust-lang/rustlings/commit/2e93a588e0abe8badb7eafafb9e7d073c2be5df8" rel="noopener noreferrer">2e93a588</a>)</li>
|
||||
</ul>
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Replace clap with argh (<a href="https://github.com/rust-lang/rustlings/commit/7928122fcef9ca7834d988b1ec8ca0687478beeb" rel="noopener noreferrer">7928122f</a>)</li>
|
||||
<li>Replace emojis when NO_EMOJI env variable present (<a href="https://github.com/rust-lang/rustlings/commit/8d62a9963708dbecd9312e8bcc4b47049c72d155" rel="noopener noreferrer">8d62a996</a>)</li>
|
||||
<li>Added iterators5.rs exercise. (<a href="https://github.com/rust-lang/rustlings/commit/b29ea17ea94d1862114af2cf5ced0e09c197dc35" rel="noopener noreferrer">b29ea17e</a>)</li>
|
||||
<li><strong>arc1:</strong> Add more details to description and hint (#710) (<a href="https://github.com/rust-lang/rustlings/commit/81be40448777fa338ebced3b0bfc1b32d6370313" rel="noopener noreferrer">81be4044</a>)</li>
|
||||
<li><strong>cli:</strong> Improve the list command with options, and then some (<a href="https://github.com/rust-lang/rustlings/commit/8bbe4ff1385c5c169c90cd3ff9253f9a91daaf8e" rel="noopener noreferrer">8bbe4ff1</a>)</li>
|
||||
<li><strong>list:</strong>
|
||||
<ul>
|
||||
<li>updated progress percentage (<a href="https://github.com/rust-lang/rustlings/commit/1c6f7e4b7b9b3bd36f4da2bb2b69c549cc8bd913" rel="noopener noreferrer">1c6f7e4b</a>)</li>
|
||||
<li>added progress info (<a href="https://github.com/rust-lang/rustlings/commit/c0e3daacaf6850811df5bc57fa43e0f249d5cfa4" rel="noopener noreferrer">c0e3daac</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
130
changelog/4.5.0/index.html
Normal file
130
changelog/4.5.0/index.html
Normal file
|
@ -0,0 +1,130 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.5.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.5.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Jul 7 2021 at 20:30 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Add move_semantics5 exercise. (#746) (<a href="https://github.com/rust-lang/rustlings/commit/399ab328d8d407265c09563aa4ef4534b2503ff2" rel="noopener noreferrer">399ab328</a>)</li>
|
||||
<li><strong>cli:</strong> Add "next" to run the next unsolved exercise. (#785) (<a href="https://github.com/rust-lang/rustlings/commit/d20e413a68772cd493561f2651cf244e822b7ca5" rel="noopener noreferrer">d20e413a</a>)</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>rename result1 to errors4 (<a href="https://github.com/rust-lang/rustlings/commit/50ab289da6b9eb19a7486c341b00048c516b88c0" rel="noopener noreferrer">50ab289d</a>)</li>
|
||||
<li>move_semantics5 hints (<a href="https://github.com/rust-lang/rustlings/commit/1b85828548f46f58b622b5e0c00f8c989f928807" rel="noopener noreferrer">1b858285</a>)</li>
|
||||
<li>remove trailing whitespaces from iterators1 (<a href="https://github.com/rust-lang/rustlings/commit/4d4fa77459392acd3581c6068aa8be9a02de12fc" rel="noopener noreferrer">4d4fa774</a>)</li>
|
||||
<li>add hints to generics1 and generics2 exercises (<a href="https://github.com/rust-lang/rustlings/commit/31457940846b3844d78d4a4d2b074bc8d6aaf1eb" rel="noopener noreferrer">31457940</a>)</li>
|
||||
<li>remove trailing whitespace (<a href="https://github.com/rust-lang/rustlings/commit/d9b69bd1a0a7a99f2c0d80933ad2eea44c8c71b2" rel="noopener noreferrer">d9b69bd1</a>)</li>
|
||||
<li><strong>installation:</strong> first PowerShell command (<a href="https://github.com/rust-lang/rustlings/commit/aa9a943ddf3ae260782e73c26bcc9db60e5894b6" rel="noopener noreferrer">aa9a943d</a>)</li>
|
||||
<li><strong>iterators5:</strong> derive Clone, Copy (<a href="https://github.com/rust-lang/rustlings/commit/91fc9e3118f4af603c9911698cc2a234725cb032" rel="noopener noreferrer">91fc9e31</a>)</li>
|
||||
<li><strong>quiz1:</strong> Updated question description (#794) (<a href="https://github.com/rust-lang/rustlings/commit/d876649616cc8a8dd5f539f8bc1a5434b960b1e9" rel="noopener noreferrer">d8766496</a>)</li>
|
||||
<li><strong>try_from_into, from_str:</strong> hints for dyn Error (<a href="https://github.com/rust-lang/rustlings/commit/11d2cf0d604dee3f5023c17802d69438e69fa50e" rel="noopener noreferrer">11d2cf0d</a>)</li>
|
||||
<li><strong>variables5:</strong> confine the answer further (<a href="https://github.com/rust-lang/rustlings/commit/48ffcbd2c4cc4d936c2c7480019190f179813cc5" rel="noopener noreferrer">48ffcbd2</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
135
changelog/4.6.0/index.html
Normal file
135
changelog/4.6.0/index.html
Normal file
|
@ -0,0 +1,135 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.6.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.6.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Sep 25 2021 at 09:27 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>add advanced_errs2 (<a href="https://github.com/rust-lang/rustlings/commit/abd6b70c72dc6426752ff41f09160b839e5c449e" rel="noopener noreferrer">abd6b70c</a>)</li>
|
||||
<li>add advanced_errs1 (<a href="https://github.com/rust-lang/rustlings/commit/882d535ba8628d5e0b37e8664b3e2f26260b2671" rel="noopener noreferrer">882d535b</a>)</li>
|
||||
<li>Add a farewell message when quitting <code>watch</code> (<a href="https://github.com/rust-lang/rustlings/commit/1caef0b43494c8b8cdd6c9260147e70d510f1aca" rel="noopener noreferrer">1caef0b4</a>)</li>
|
||||
<li>add more watch commands (<a href="https://github.com/rust-lang/rustlings/commit/a7dc080b95e49146fbaafe6922a6de2f8cb1582a" rel="noopener noreferrer">a7dc080b</a>, closes <a href="https://github.com/rust-lang/rustlings/issues/842" rel="noopener noreferrer">#842</a>)</li>
|
||||
<li><strong>modules:</strong> update exercises, add modules3 (#822) (<a href="https://github.com/rust-lang/rustlings/commit/dfd2fab4f33d1bf59e2e5ee03123c0c9a67a9481" rel="noopener noreferrer">dfd2fab4</a>)</li>
|
||||
<li><strong>quiz1:</strong> add default function name in comment (#838) (<a href="https://github.com/rust-lang/rustlings/commit/0a11bad71402b5403143d642f439f57931278c07" rel="noopener noreferrer">0a11bad7</a>)</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>Correct small typo in exercises/conversions/from_str.rs (<a href="https://github.com/rust-lang/rustlings/commit/86cc85295ae36948963ae52882e285d7e3e29323" rel="noopener noreferrer">86cc8529</a>)</li>
|
||||
<li><strong>cli:</strong> typo in exercise.rs (#848) (<a href="https://github.com/rust-lang/rustlings/commit/06d5c0973a3dffa3c6c6f70acb775d4c6630323c" rel="noopener noreferrer">06d5c097</a>)</li>
|
||||
<li><strong>from_str, try_from_into:</strong> custom error types (<a href="https://github.com/rust-lang/rustlings/commit/2dc93caddad43821743e4903d89b355df58d7a49" rel="noopener noreferrer">2dc93cad</a>)</li>
|
||||
<li><strong>modules2:</strong> fix typo (#835) (<a href="https://github.com/rust-lang/rustlings/commit/1c3beb0a59178c950dc05fe8ee2346b017429ae0" rel="noopener noreferrer">1c3beb0a</a>)</li>
|
||||
<li><strong>move_semantics5:</strong>
|
||||
<ul>
|
||||
<li>change &mut *y to &mut x (#814) (<a href="https://github.com/rust-lang/rustlings/commit/d75759e829fdcd64ef071cf4b6eae2a011a7718b" rel="noopener noreferrer">d75759e8</a>)</li>
|
||||
<li>Clarify instructions (<a href="https://github.com/rust-lang/rustlings/commit/df25684cb79f8413915e00b5efef29369849cef1" rel="noopener noreferrer">df25684c</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>quiz1:</strong> Fix inconsistent wording (#826) (<a href="https://github.com/rust-lang/rustlings/commit/03131a3d35d9842598150f9da817f7cc26e2669a" rel="noopener noreferrer">03131a3d</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
162
changelog/4.7.0/index.html
Normal file
162
changelog/4.7.0/index.html
Normal file
|
@ -0,0 +1,162 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.7.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.7.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Apr 14 2022 at 09:23 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Add move_semantics6.rs exercise (#908) (<a href="https://github.com/rust-lang/rustlings/commit/3f0e1303e0b3bf3fecc0baced3c8b8a37f83c184" rel="noopener noreferrer">3f0e1303</a>)</li>
|
||||
<li><strong>intro:</strong> Add intro section. (<a href="https://github.com/rust-lang/rustlings/commit/21c9f44168394e08338fd470b5f49b1fd235986f" rel="noopener noreferrer">21c9f441</a>)</li>
|
||||
<li>Include exercises folder in the project structure behind a feature, enabling rust-analyzer to work (#917) (<a href="https://github.com/rust-lang/rustlings/commit/179a75a68d03ac9518dec2297fb17f91a4fc506b" rel="noopener noreferrer">179a75a6</a>)</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>Fix a few spelling mistakes (<a href="https://github.com/rust-lang/rustlings/commit/1c0fe3cbcca85f90b3985985b8e265ee872a2ab2" rel="noopener noreferrer">1c0fe3cb</a>)</li>
|
||||
<li><strong>cli:</strong>
|
||||
<ul>
|
||||
<li>Move long text strings into constants. (<a href="https://github.com/rust-lang/rustlings/commit/f78c48020830d7900dd8d81f355606581670446d" rel="noopener noreferrer">f78c4802</a>)</li>
|
||||
<li>Replace <code>filter_map()</code> with <code>find_map()</code> (<a href="https://github.com/rust-lang/rustlings/commit/9b27e8d993ca20232fe38a412750c3f845a83b65" rel="noopener noreferrer">9b27e8d</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>clippy1:</strong>
|
||||
<ul>
|
||||
<li>Set clippy::float_cmp lint to deny (#907) (<a href="https://github.com/rust-lang/rustlings/commit/71a06044e6a96ff756dc31d7b0ed665ae4badb57" rel="noopener noreferrer">71a06044</a>)</li>
|
||||
<li>Updated code to test correctness clippy lint with approx_constant lint rule (<a href="https://github.com/rust-lang/rustlings/commit/f2650de369810867d2763e935ac0963c32ec420e" rel="noopener noreferrer">f2650de3</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>errors1:</strong>
|
||||
<ul>
|
||||
<li>Add a comment to make the purpose more clear (#486) (<a href="https://github.com/rust-lang/rustlings/commit/cbcde345409c3e550112e449242848eaa3391bb6" rel="noopener noreferrer">cbcde345</a>)</li>
|
||||
<li>Don't modify tests (#958) (<a href="https://github.com/rust-lang/rustlings/commit/60bb7cc3931d21d3986ad52b2b302e632a93831c" rel="noopener noreferrer">60bb7cc</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>errors6:</strong> Remove existing answer code (<a href="https://github.com/rust-lang/rustlings/commit/43d0623086edbc46fe896ba59c7afa22c3da9f7a" rel="noopener noreferrer">43d0623</a>)</li>
|
||||
<li><strong>functions5:</strong> Remove wrong new line and small English improvements (#885) (<a href="https://github.com/rust-lang/rustlings/commit/8ef4869b264094e5a9b50452b4534823a9df19c3" rel="noopener noreferrer">8ef4869b</a>)</li>
|
||||
<li><strong>install:</strong> protect path with whitespaces using quotes and stop at the first error (<a href="https://github.com/rust-lang/rustlings/commit/d114847f256c5f571c0b4c87e04b04bce3435509" rel="noopener noreferrer">d114847f</a>)</li>
|
||||
<li><strong>intro1:</strong> Add compiler error explanation. (<a href="https://github.com/rust-lang/rustlings/commit/9b8de65525a5576b78cf0c8e4098cdd34296338f" rel="noopener noreferrer">9b8de655</a>)</li>
|
||||
<li><strong>iterators1:</strong> reorder TODO steps (<a href="https://github.com/rust-lang/rustlings/commit/0bd7a0631a17a9d69af5746795a30efc9cf64e6e" rel="noopener noreferrer">0bd7a063</a>)</li>
|
||||
<li><strong>move_semantics2:</strong> Add comment (<a href="https://github.com/rust-lang/rustlings/commit/89650f808af23a32c9a2c6d46592b77547a6a464" rel="noopener noreferrer">89650f80</a>)</li>
|
||||
<li><strong>move_semantics5:</strong> correct typo (#857) (<a href="https://github.com/rust-lang/rustlings/commit/46c28d5cef3d8446b5a356b19d8dbc725f91a3a0" rel="noopener noreferrer">46c28d5c</a>)</li>
|
||||
<li><strong>quiz1:</strong> update to say quiz covers "If" (<a href="https://github.com/rust-lang/rustlings/commit/1622e8c198d89739765c915203efff0091bdeb78" rel="noopener noreferrer">1622e8c1</a>)</li>
|
||||
<li><strong>structs3:</strong>
|
||||
<ul>
|
||||
<li>Add a hint for panic (#608) (<a href="https://github.com/rust-lang/rustlings/commit/4f7ff5d9c7b2d8b045194c1a9469d37e30257c4a" rel="noopener noreferrer">4f7ff5d9</a>)</li>
|
||||
<li>remove redundant 'return' (#852) (<a href="https://github.com/rust-lang/rustlings/commit/bf33829da240375d086f96267fc2e02fa6b07001" rel="noopener noreferrer">bf33829d</a>)</li>
|
||||
<li>Assigned value to <code>cents_per_gram</code> in test (<a href="https://github.com/rust-lang/rustlings/commit/d1ee2daf14f19105e6db3f9c610f44293d688532" rel="noopener noreferrer">d1ee2da</a>)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>structs3.rs:</strong> assigned value to cents_per_gram in test (<a href="https://github.com/rust-lang/rustlings/commit/d1ee2daf14f19105e6db3f9c610f44293d688532" rel="noopener noreferrer">d1ee2daf</a>)</li>
|
||||
<li><strong>traits1:</strong> rename test functions to snake case (#854) (<a href="https://github.com/rust-lang/rustlings/commit/1663a16eade6ca646b6ed061735f7982434d530d" rel="noopener noreferrer">1663a16e</a>)</li>
|
||||
</ul>
|
||||
<h4>Documentation improvements</h4>
|
||||
<ul>
|
||||
<li>Add hints on how to get GCC installed (#741) (<a href="https://github.com/rust-lang/rustlings/commit/bc5686174463ad6f4f6b824b0e9b97c3039d4886" rel="noopener noreferrer">bc56861</a>)</li>
|
||||
<li>Fix some code blocks that were not highlighted (<a href="https://github.com/rust-lang/rustlings/commit/17f9d7429ccd133a72e815fb5618e0ce79560929" rel="noopener noreferrer">17f9d74</a>)</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
130
changelog/4.7.1/index.html
Normal file
130
changelog/4.7.1/index.html
Normal file
|
@ -0,0 +1,130 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.7.1</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.7.1
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Apr 20 2022 at 07:46 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>The amount of dependency crates that need to be compiled went down from ~65 to
|
||||
~45 by bumping dependency versions.</li>
|
||||
<li>The minimum Rust version in the install scripts has been bumped to 1.56.0 (this isn't in
|
||||
the release itself, since install scripts don't really get versioned)</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li><strong>arc1</strong>: A small part has been rewritten using a more functional code style (#968).</li>
|
||||
<li><strong>using_as</strong>: A small part has been refactored to use <code>sum</code> instead of <code>fold</code>, resulting
|
||||
in better readability.</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>The changelog will now be manually written instead of being automatically generated by the
|
||||
Git log.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
130
changelog/4.8.0/index.html
Normal file
130
changelog/4.8.0/index.html
Normal file
|
@ -0,0 +1,130 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 4.8.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
4.8.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Jul 1 2022 at 14:50 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Added a progress indicator for <code>rustlings watch</code>.</li>
|
||||
<li>The installation script now checks for Rustup being installed.</li>
|
||||
<li>Added a <code>rustlings lsp</code> command to enable <code>rust-analyzer</code>.</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li><strong>move_semantics5</strong>: Replaced "in vogue" with "in scope" in hint.</li>
|
||||
<li><strong>if2</strong>: Fixed a typo in the hint.</li>
|
||||
<li><strong>variables1</strong>: Fixed an incorrect line reference in the hint.</li>
|
||||
<li>Fixed an out of bounds check in the installation Bash script.</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>Replaced the git.io URL with the fully qualified URL because of git.io's sunsetting.</li>
|
||||
<li>Removed the deprecated Rust GitPod extension.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
182
changelog/5.0.0/index.html
Normal file
182
changelog/5.0.0/index.html
Normal file
|
@ -0,0 +1,182 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.0.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.0.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Jul 16 2022 at 12:36 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Hint comments in exercises now also include a reference to the
|
||||
<code>hint</code> watch mode subcommand.</li>
|
||||
<li><strong>intro1</strong>: Added more hints to point the user to the source file.</li>
|
||||
<li><strong>variables</strong>: Switched variables3 and variables4.</li>
|
||||
<li>Moved <code>vec</code> and <code>primitive_types</code> exercises before <code>move_semantics</code>.</li>
|
||||
<li>Renamed <code>vec</code> to <code>vecs</code> to be more in line with the naming in general.</li>
|
||||
<li>Split up the <code>collections</code> exercises in their own folders.</li>
|
||||
<li><strong>vec2</strong>: Added a second part of the function that provides an alternative,
|
||||
immutable way of modifying vec values.</li>
|
||||
<li><strong>enums3</strong>: Added a hint.</li>
|
||||
<li>Moved <code>strings</code> before <code>modules</code>.</li>
|
||||
<li>Added a <code>strings3</code> exercise to teach modifying strings.</li>
|
||||
<li>Added a <code>hashmaps3</code> exercise for some advanced usage of hashmaps.</li>
|
||||
<li>Moved the original <code>quiz2</code> to be <code>strings4</code>, since it only tested strings
|
||||
anyways.</li>
|
||||
<li>Reworked <code>quiz2</code> into a new exercise that tests more chapters.</li>
|
||||
<li>Renamed <code>option</code> to <code>options</code>.</li>
|
||||
<li><strong>options1</strong>: Rewrote parts of the exercise to remove the weird array
|
||||
iteration stuff.</li>
|
||||
<li>Moved <code>generics3</code> to be <code>quiz3</code>.</li>
|
||||
<li>Moved box/arc exercises behind <code>iterators</code>.</li>
|
||||
<li><strong>iterators4</strong>: Added a test for factorials of zero.</li>
|
||||
<li>Split <code>threads1</code> between two exercises, the first one focusing more on
|
||||
<code>JoinHandle</code>s.</li>
|
||||
<li>Added a <code>threads3</code> exercises that uses <code>std::sync::mpsc</code>.</li>
|
||||
<li>Added a <code>clippy3</code> exercises with some more interesting checks.</li>
|
||||
<li><strong>as_ref_mut</strong>: Added a section that actually tests <code>AsMut</code>.</li>
|
||||
<li>Added 3 new lifetimes exercises.</li>
|
||||
<li>Added 3 new traits exercises.</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li><strong>variables2</strong>: Made output messages more verbose.</li>
|
||||
<li><strong>variables5</strong>: Added a nudging hint about shadowing.</li>
|
||||
<li><strong>variables6</strong>: Fixed link to book.</li>
|
||||
<li><strong>functions</strong>: Clarified the README wording. Generally cleaned up
|
||||
some hints and added some extra comments.</li>
|
||||
<li><strong>if2</strong>: Renamed function name to <code>foo_if_fizz</code>.</li>
|
||||
<li><strong>move_semantics</strong>: Clarified some hints.</li>
|
||||
<li><strong>quiz1</strong>: Renamed the function name to be more verbose.</li>
|
||||
<li><strong>structs1</strong>: Use an integer type instead of strings. Renamed "unit structs"
|
||||
to "unit-like structs", as is used in the book.</li>
|
||||
<li><strong>structs3</strong>: Added the <code>panic!</code> statement in from the beginning.</li>
|
||||
<li><strong>errors1</strong>: Use <code>is_empty()</code> instead of <code>len() > 0</code></li>
|
||||
<li><strong>errors3</strong>: Improved the hint.</li>
|
||||
<li><strong>errors5</strong>: Improved exercise instructions and the hint.</li>
|
||||
<li><strong>errors6</strong>: Provided the skeleton of one of the functions that's supposed
|
||||
to be implemented.</li>
|
||||
<li><strong>iterators3</strong>: Inserted <code>todo!</code> into <code>divide()</code> to keep a compiler error
|
||||
from happening.</li>
|
||||
<li><strong>from_str</strong>: Added a hint comment about string error message conversion with
|
||||
<code>Box<dyn Error></code>.</li>
|
||||
<li><strong>try_from_into</strong>: Fixed the function name in comment.</li>
|
||||
</ul>
|
||||
<h4>Removed</h4>
|
||||
<ul>
|
||||
<li>Removed the legacy LSP feature that was using <code>mod.rs</code> files.</li>
|
||||
<li>Removed <code>quiz4</code>.</li>
|
||||
<li>Removed <code>advanced_errs</code>. These were the last exercises in the recommended
|
||||
order, and I've always felt like they didn't quite fit in with the mostly
|
||||
simple, book-following style we've had in Rustlings.</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>Added missing exercises to the book index.</li>
|
||||
<li>Updated spacing in Cargo.toml.</li>
|
||||
<li>Added a GitHub actions config so that tests run on every PR/commit.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
150
changelog/5.1.0/index.html
Normal file
150
changelog/5.1.0/index.html
Normal file
|
@ -0,0 +1,150 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.1.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.1.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Aug 16 2022 at 07:56 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Features</h4>
|
||||
<ul>
|
||||
<li>Added a new <code>rc1</code> exercise.</li>
|
||||
<li>Added a new <code>cow1</code> exercise.</li>
|
||||
</ul>
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li><strong>variables5</strong>: Corrected reference to previous exercise</li>
|
||||
<li><strong>functions4</strong>: Fixed line number reference</li>
|
||||
<li><strong>strings3</strong>: Clarified comment wording</li>
|
||||
<li><strong>traits4, traits5</strong>: Fixed line number reference</li>
|
||||
<li><strong>traits5</strong>:
|
||||
<ul>
|
||||
<li>Fixed typo in "parameter"</li>
|
||||
<li>Made exercise prefer a traits-based solution</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>lifetimes2</strong>: Improved hint</li>
|
||||
<li><strong>threads3</strong>: Fixed typo in hint</li>
|
||||
<li><strong>box1</strong>: Replaced <code>unimplemented!</code> with <code>todo!</code></li>
|
||||
<li><strong>errors5</strong>: Provided an explanation for usage of <code>Box<dyn Error></code></li>
|
||||
<li><strong>quiz2</strong>: Fixed a typo</li>
|
||||
<li><strong>macros</strong>: Updated the macros book link</li>
|
||||
<li><strong>options1</strong>:
|
||||
<ul>
|
||||
<li>Removed unused code</li>
|
||||
<li>Added more granular tests</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Fixed some comment syntax shenanigans in info.toml</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>Fixed a typo in .editorconfig</li>
|
||||
<li>Fixed a typo in integration_tests.rs</li>
|
||||
<li>Clarified manual installation instructions using <code>cargo install --path .</code></li>
|
||||
<li>Added a link to our Zulip in the readme file</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
116
changelog/5.1.1/index.html
Normal file
116
changelog/5.1.1/index.html
Normal file
|
@ -0,0 +1,116 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.1.1</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.1.1
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Aug 17 2022 at 08:44 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Bug Fixes</h4>
|
||||
<ul>
|
||||
<li>Fixed an incorrect assertion in options1</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
126
changelog/5.2.0/index.html
Normal file
126
changelog/5.2.0/index.html
Normal file
|
@ -0,0 +1,126 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.2.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.2.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Aug 27 2022 at 18:50 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Added</h4>
|
||||
<ul>
|
||||
<li>Added a <code>reset</code> command</li>
|
||||
</ul>
|
||||
<h4>Changed</h4>
|
||||
<ul>
|
||||
<li><strong>options2</strong>: Convert the exercise to use tests</li>
|
||||
</ul>
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li><strong>threads3</strong>: Fixed a typo</li>
|
||||
<li><strong>quiz1</strong>: Adjusted the explanations to be consistent with
|
||||
the tests</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
123
changelog/5.2.1/index.html
Normal file
123
changelog/5.2.1/index.html
Normal file
|
@ -0,0 +1,123 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.2.1</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.2.1
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Sep 6 2022 at 10:23 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li><strong>quiz1</strong>: Reworded the comment to actually reflect what's going on in the tests.
|
||||
Also added another assert just to make sure.</li>
|
||||
<li><strong>rc1</strong>: Fixed a typo in the hint.</li>
|
||||
<li><strong>lifetimes</strong>: Add quotes to the <code>println!</code> output, for readability.</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>Fixed a typo in README.md</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
142
changelog/5.3.0/index.html
Normal file
142
changelog/5.3.0/index.html
Normal file
|
@ -0,0 +1,142 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.3.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.3.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Dec 23 2022 at 16:10 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Added</h4>
|
||||
<ul>
|
||||
<li><strong>cli</strong>: Added a percentage display in watch mode</li>
|
||||
<li>Added a <code>flake.nix</code> for Nix users</li>
|
||||
</ul>
|
||||
<h4>Changed</h4>
|
||||
<ul>
|
||||
<li><strong>structs3</strong>: Added an additional test</li>
|
||||
<li><strong>macros</strong>: Added a link to MacroKata in the README</li>
|
||||
</ul>
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li><strong>strings3</strong>: Added a link to <code>std</code> in the hint</li>
|
||||
<li><strong>threads1</strong>: Corrected a hint link</li>
|
||||
<li><strong>iterators1</strong>: Clarified hint steps</li>
|
||||
<li><strong>errors5</strong>: Fix a typo in the hint</li>
|
||||
<li><strong>options1</strong>: Clarified on the usage of the 24-hour system</li>
|
||||
<li><strong>threads2, threads3</strong>: Explicitly use <code>Arc::clone</code></li>
|
||||
<li><strong>structs3</strong>: Clarifed the hint</li>
|
||||
<li><strong>quiz2, as_ref_mut, options1, traits1, traits2</strong>: Clarified hints</li>
|
||||
<li><strong>traits1, traits2, cli</strong>: Tidied up unmatching backticks</li>
|
||||
<li><strong>enums2</strong>: Removed unnecessary indirection of self</li>
|
||||
<li><strong>enums3</strong>: Added an extra tuple comment</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>Added a VSCode extension recommendation</li>
|
||||
<li>Applied some Clippy and rustfmt formatting</li>
|
||||
<li>Added a note on Windows PowerShell and other shell compatibility</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
147
changelog/5.4.0/index.html
Normal file
147
changelog/5.4.0/index.html
Normal file
|
@ -0,0 +1,147 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.4.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.4.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Feb 12 2023 at 17:03 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Changed</h4>
|
||||
<ul>
|
||||
<li>Reordered exercises
|
||||
<ul>
|
||||
<li>Unwrapped <code>standard_library_types</code> into <code>iterators</code> and <code>smart_pointers</code></li>
|
||||
<li>Moved smart pointer exercises behind threads</li>
|
||||
<li>Ordered <code>rc1</code> before <code>arc1</code></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>intro1</strong>: Added a note on <code>rustlings lsp</code></li>
|
||||
<li><strong>threads1</strong>: Panic if threads are not joined</li>
|
||||
<li><strong>cli</strong>:
|
||||
<ul>
|
||||
<li>Made progress bar update proportional to amount of files verified</li>
|
||||
<li>Decreased <code>watch</code> delay from 2 to 1 second</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li>Capitalized "Rust" in exercise hints</li>
|
||||
<li><strong>enums3</strong>: Removed superfluous tuple brackets</li>
|
||||
<li><strong>quiz2, clippy1, iterators1</strong>: Fixed a typo</li>
|
||||
<li><strong>rc1</strong>: Fixed a prompt error</li>
|
||||
<li><strong>cli</strong>:
|
||||
<ul>
|
||||
<li>Fixed a typo in a method name</li>
|
||||
<li>Specified the edition in <code>rustc</code> commands</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>Bumped min Rust version to 1.58 in installation script</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
125
changelog/5.4.1/index.html
Normal file
125
changelog/5.4.1/index.html
Normal file
|
@ -0,0 +1,125 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.4.1</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.4.1
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Mar 10 2023 at 16:40 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Changed</h4>
|
||||
<ul>
|
||||
<li><code>vecs</code>: Added links to <code>iter_mut</code> and <code>map</code> to README.md</li>
|
||||
<li><code>cow1</code>: Changed main to tests</li>
|
||||
<li><code>iterators1</code>: Formatted according to rustfmt</li>
|
||||
</ul>
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li><code>errors5</code>: Unified undisclosed type notation</li>
|
||||
<li><code>arc1</code>: Improved readability by avoiding implicit dereference</li>
|
||||
<li><code>macros4</code>: Prevented auto-fix by adding <code>#[rustfmt::skip]</code></li>
|
||||
<li><code>cli</code>: Actually show correct progress percentages</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
144
changelog/5.5.0/index.html
Normal file
144
changelog/5.5.0/index.html
Normal file
|
@ -0,0 +1,144 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.5.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.5.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
May 17 2023 at 14:31 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Added</h4>
|
||||
<ul>
|
||||
<li><code>strings2</code>: Added a reference to the book chapter for reference conversion</li>
|
||||
<li><code>lifetimes</code>: Added a link to the lifetimekata project</li>
|
||||
<li>Added a new <code>tests4</code> exercises, which teaches about testing for panics</li>
|
||||
<li>Added a <code>!</code> prefix command to watch mode that runs an external command</li>
|
||||
<li>Added a <code>--success-hints</code> option to watch mode that shows hints on exercise success</li>
|
||||
</ul>
|
||||
<h4>Changed</h4>
|
||||
<ul>
|
||||
<li><code>vecs2</code>: Renamed iterator variable bindings for clarify</li>
|
||||
<li><code>lifetimes</code>: Changed order of book references</li>
|
||||
<li><code>hashmaps2</code>: Clarified instructions in the todo block</li>
|
||||
<li>Moved lifetime exercises before test exercises (via the recommended book ordering)</li>
|
||||
<li><code>options2</code>: Improved tests for layering options</li>
|
||||
<li><code>modules2</code>: Added more information to the hint</li>
|
||||
</ul>
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li><code>errors2</code>: Corrected a comment wording</li>
|
||||
<li><code>iterators2</code>: Fixed a spelling mistake in the hint text</li>
|
||||
<li><code>variables</code>: Wrapped the mut keyword with backticks for readability</li>
|
||||
<li><code>move_semantics2</code>: Removed references to line numbers</li>
|
||||
<li><code>cow1</code>: Clarified the <code>owned_no_mutation</code> comments</li>
|
||||
<li><code>options3</code>: Changed exercise to panic when no match is found</li>
|
||||
<li><code>rustlings lsp</code> now generates absolute paths, which should fix VSCode <code>rust-analyzer</code> usage on Windows</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>Added a markdown linter to run on GitHub actions</li>
|
||||
<li>Split quick installation section into two code blocks</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
116
changelog/5.5.1/index.html
Normal file
116
changelog/5.5.1/index.html
Normal file
|
@ -0,0 +1,116 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.5.1</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.5.1
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
May 17 2023 at 19:07 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li>Reverted <code>rust-project.json</code> path generation due to an upstream <code>rust-analyzer</code> fix.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
152
changelog/5.6.0/index.html
Normal file
152
changelog/5.6.0/index.html
Normal file
|
@ -0,0 +1,152 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.6.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.6.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Sep 4 2023 at 13:24 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Added</h4>
|
||||
<ul>
|
||||
<li>New exercise: <code>if3</code>, teaching the user about <code>if let</code> statements.</li>
|
||||
<li><code>hashmaps2</code>: Added an extra test function to check if the amount of fruits is higher than zero.</li>
|
||||
<li><code>enums3</code>: Added a test for <code>Message</code>.</li>
|
||||
<li><code>if1</code>: Added a test case to check equal values.</li>
|
||||
<li><code>if3</code>: Added a note specifying that there are no test changes needed.</li>
|
||||
</ul>
|
||||
<h4>Changed</h4>
|
||||
<ul>
|
||||
<li>Swapped the order of threads and smart pointer exercises.</li>
|
||||
<li>Rewrote the CLI to use <code>clap</code> - it's matured much since we switched to <code>argh</code> :)</li>
|
||||
<li><code>structs3</code>: Switched from i32 to u32.</li>
|
||||
<li><code>move_semantics</code>: Switched 1-4 to tests, and rewrote them to be way simpler, while still teaching about the same
|
||||
concepts.</li>
|
||||
</ul>
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li><code>iterators5</code>:
|
||||
<ul>
|
||||
<li>Removed an outdated part of the hint.</li>
|
||||
<li>Renamed variables to use snake_case.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>vecs2</code>: Updated the hint to reference the renamed loop variable.</li>
|
||||
<li><code>enums3</code>: Changed message string in test so that it gets properly tested.</li>
|
||||
<li><code>strings2</code>: Corrected line number in hint, then removed it (this both happened as part of this release cycle).</li>
|
||||
<li><code>primitive_types4</code>: Updated hint to the correct ending index.</li>
|
||||
<li><code>quiz1</code>: Removed duplicated sentence from exercise comments.</li>
|
||||
<li><code>errors4</code>: Improved comment.</li>
|
||||
<li><code>from_into</code>: Fixed test values.</li>
|
||||
<li><code>cow1</code>: Added <code>.to_mut()</code> to distinguish from the previous test case.</li>
|
||||
<li><code>threads2</code>: Updated hint text to reference the correct book heading.</li>
|
||||
</ul>
|
||||
<h4>Housekeeping</h4>
|
||||
<ul>
|
||||
<li>Cleaned up the explanation paragraphs at the start of each exercise.</li>
|
||||
<li>Lots of Nix housekeeping that I don't feel qualified to write about!</li>
|
||||
<li>Improved CI workflows, we're now testing on multiple platforms at once.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
125
changelog/5.6.1/index.html
Normal file
125
changelog/5.6.1/index.html
Normal file
|
@ -0,0 +1,125 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 5.6.1</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
5.6.1
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Sep 18 2023 at 08:18 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Changed</h4>
|
||||
<ul>
|
||||
<li>Converted all exercises with assertions to test mode.</li>
|
||||
</ul>
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li><code>cow1</code>: Reverted regression introduced by calling <code>to_mut</code> where it
|
||||
shouldn't have been called, and clarified comment.</li>
|
||||
<li><code>primitive_types3</code>: Require at least an array of 100 elements.</li>
|
||||
<li>Removed hint comments when no hint exists for the exercise.</li>
|
||||
<li><code>as_ref_mut</code>: Fixed a typo in a test function name.</li>
|
||||
<li><code>enums3</code>: Fixed formatting with <code>rustfmt</code>.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
1859
changelog/index.html
Normal file
1859
changelog/index.html
Normal file
File diff suppressed because it is too large
Load diff
157
changelog/v6.0.0/index.html
Normal file
157
changelog/v6.0.0/index.html
Normal file
|
@ -0,0 +1,157 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 6.0.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
v6.0.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Jul 3 2024 at 13:43 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<p>This release is the result of a complete rewrite to deliver a ton of new features and improvements ✨
|
||||
The most important changes are highlighted below.</p>
|
||||
<h3>Installation</h3>
|
||||
<p>The installation has been simplified a lot!
|
||||
To install Rustlings after installing Rust, all what you need to do now is running the following command:</p>
|
||||
<pre style="background-color:#263238;"><span style="color:#82aaff;">cargo install rustlings
|
||||
</span></pre>
|
||||
|
||||
<p>Yes, this means that Rustlings is now on <a href="https://crates.io/crates/rustlings" rel="noopener noreferrer">crates.io</a> 🎉</p>
|
||||
<p>You can read about the motivations of this change in <a href="https://github.com/rust-lang/rustlings/issues/1919" rel="noopener noreferrer">this issue</a>.</p>
|
||||
<h3>UI/UX</h3>
|
||||
<ul>
|
||||
<li>The UI is now responsive when the terminal is resized.</li>
|
||||
<li>The progress bar was moved to the bottom so that you can always see your progress and the current exercise to work on.</li>
|
||||
<li>The current exercise path is now a terminal link. It will open the exercise file in your default editor when you click on it.</li>
|
||||
<li>A small prompt is now always shown at the bottom. It allows you to choose an action by entering a character. For example, entering <code>h</code> will show you the hint of the current exercise.</li>
|
||||
<li>The comment "I AM NOT DONE!" doesn't exist anymore. Instead of needing to remove it to go to the next exercise, you need to enter <code>n</code> in the terminal.</li>
|
||||
</ul>
|
||||
<h3>List mode</h3>
|
||||
<p>A new list mode was added!
|
||||
You can enter it by entering <code>l</code> in the watch mode.
|
||||
It offers the following features:</p>
|
||||
<ul>
|
||||
<li>Browse all exercises and see their state (pending/done).</li>
|
||||
<li>Filter exercises based on their state (pending/done).</li>
|
||||
<li>Continue at another exercise. This allows you to skip some exercises or go back to previous ones.</li>
|
||||
<li>Reset an exercise so you can start over and revert your changes.</li>
|
||||
</ul>
|
||||
<h3>Solutions</h3>
|
||||
<p>After finishing an exercise, a solution file will be available and Rustlings will show you its path in green.
|
||||
This allows you to compare your solution with an idiomatic solution and maybe learn about other ways to solve a problem.</p>
|
||||
<p>While writing the solutions, all exercises have been polished 🌟
|
||||
For example, every exercise now contains <code>TODO</code> comments to highlight what the user needs to change and where.</p>
|
||||
<h3>LSP support out of the box</h3>
|
||||
<p>Instead of creating a <code>project.json</code> file using <code>rustlings lsp</code>, Rustlings now works with a <code>Cargo.toml</code> file out of the box.
|
||||
No actions are needed to activate the language server <code>rust-analyzer</code>.</p>
|
||||
<p>This should avoid issues related to the language server or to running exercises, especially the ones with Clippy.</p>
|
||||
<h3>Clippy</h3>
|
||||
<p>Clippy lints are now shown on all exercises, not only the Clippy exercises 📎
|
||||
Make Clippy your friend from early on 🥰</p>
|
||||
<h3>Third-party exercises</h3>
|
||||
<p>Rustlings now supports third-party exercises!</p>
|
||||
<p>Do you want to create your own set of Rustlings exercises to focus on some specific topic?
|
||||
Or do you want to translate the original Rustlings exercises?
|
||||
Then follow the link to the guide about <a href="THIRD_PARTY_EXERCISES.md" rel="noopener noreferrer">third-party exercises</a>!</p>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
114
changelog/v6.0.1/index.html
Normal file
114
changelog/v6.0.1/index.html
Normal file
|
@ -0,0 +1,114 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 6.0.1</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
v6.0.1
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Jul 4 2024 at 18:04 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<p>Small exercise improvements and fixes.
|
||||
Most importantly, fixed that the exercise <code>clippy1</code> was already solved 😅</p>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
127
changelog/v6.1.0/index.html
Normal file
127
changelog/v6.1.0/index.html
Normal file
|
@ -0,0 +1,127 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 6.1.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
v6.1.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Jul 10 2024 at 14:55 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h4>Added</h4>
|
||||
<ul>
|
||||
<li><code>dev check</code>: Check that all exercises (including third-party ones) include at least one <code>TODO</code> comment.</li>
|
||||
<li><code>dev check</code>: Check that all exercises actually fail to run (not already solved).</li>
|
||||
</ul>
|
||||
<h4>Changed</h4>
|
||||
<ul>
|
||||
<li>Make enum variants more consistent between enum exercises.</li>
|
||||
<li><code>iterators3</code>: Teach about the possible case of integer overflow during division.</li>
|
||||
</ul>
|
||||
<h4>Fixed</h4>
|
||||
<ul>
|
||||
<li>Exit with a helpful error message on missing/unsupported terminal/TTY.</li>
|
||||
<li>Mark the last exercise as done.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
126
changelog/v6.2.0/index.html
Normal file
126
changelog/v6.2.0/index.html
Normal file
|
@ -0,0 +1,126 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 6.2.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
v6.2.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Aug 9 2024 at 09:59 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Show a message before checking and running an exercise. This gives the user instant feedback and avoids confusion if the checks take too long.</li>
|
||||
<li>Show a helpful error message when trying to install Rustlings with a Rust version lower than the minimum one that Rustlings supports.</li>
|
||||
<li>Add a <code>README.md</code> file to the <code>solutions/</code> directory.</li>
|
||||
<li>Allow initializing Rustlings in a Cargo workspace.</li>
|
||||
<li><code>dev check</code>: Check that all solutions are formatted with <code>rustfmt</code>.</li>
|
||||
</ul>
|
||||
<h3>Changed</h3>
|
||||
<ul>
|
||||
<li>Remove the state file and the solutions directory from the generated <code>.gitignore</code> file.</li>
|
||||
<li>Run the final check of all exercises in parallel.</li>
|
||||
<li>Small exercise improvements.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
152
changelog/v6.3.0/index.html
Normal file
152
changelog/v6.3.0/index.html
Normal file
|
@ -0,0 +1,152 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 6.3.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
v6.3.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Aug 29 2024 at 15:24 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h3>Added</h3>
|
||||
<ul>
|
||||
<li>Add the following exercise lints:
|
||||
<ul>
|
||||
<li><code>forbid(unsafe_code)</code>: You shouldn't write unsafe code in Rustlings.</li>
|
||||
<li><code>forbid(unstable_features)</code>: You don't need unstable features in Rustlings and shouldn't rely on them while learning Rust.</li>
|
||||
<li><code>forbid(todo)</code>: You forgot a <code>todo!()</code>.</li>
|
||||
<li><code>forbid(empty_loop)</code>: This can only happen by mistake in Rustlings.</li>
|
||||
<li><code>deny(infinite_loop)</code>: No infinite loops are needed in Rustlings.</li>
|
||||
<li><code>deny(mem_forget)</code>: You shouldn't leak memory while still learning Rust.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Show a link to every exercise file in the list.</li>
|
||||
<li>Add scroll padding in the list.</li>
|
||||
<li>Break the help footer of the list into two lines when the terminal width isn't big enough.</li>
|
||||
<li>Enable scrolling with the mouse in the list.</li>
|
||||
<li><code>dev check</code>: Show the progress of checks.</li>
|
||||
<li><code>dev check</code>: Check that the length of all exercise names is lower than 32.</li>
|
||||
<li><code>dev check</code>: Check if exercise contains no tests and isn't marked with <code>test = false</code>.</li>
|
||||
</ul>
|
||||
<h3>Changed</h3>
|
||||
<ul>
|
||||
<li>The compilation time when installing Rustlings is reduced.</li>
|
||||
<li>Pressing <code>c</code> in the list for "continue on" now quits the list after setting the selected exercise as the current one.</li>
|
||||
<li>Better highlighting of the solution file after an exercise is done.</li>
|
||||
<li>Don't show the output of successful tests anymore. Instead, show the pretty output for tests.</li>
|
||||
<li>Be explicit about <code>q</code> only quitting the list and not the whole program in the list.</li>
|
||||
<li>Be explicit about <code>r</code> only resetting one exercise (the selected one) in the list.</li>
|
||||
<li>Ignore the standard output of <code>git init</code>.</li>
|
||||
<li><code>threads3</code>: Remove the queue length and improve tests.</li>
|
||||
<li><code>errors4</code>: Use match instead of a comparison chain in the solution.</li>
|
||||
<li><code>functions3</code>: Only take <code>u8</code> to avoid using a too high number of iterations by mistake.</li>
|
||||
<li><code>dev check</code>: Always check with strict Clippy (warnings to errors) when checking the solutions.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix the error on some systems about too many open files during the final check of all exercises.</li>
|
||||
<li>Fix the list when the terminal height is too low.</li>
|
||||
<li>Restore the terminal after an error in the list.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
139
changelog/v6.4.0/index.html
Normal file
139
changelog/v6.4.0/index.html
Normal file
|
@ -0,0 +1,139 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
<div>
|
||||
<h1>Rustlings 6.4.0</h1>
|
||||
<div class="releases-body">
|
||||
|
||||
|
||||
<section class="release ">
|
||||
|
||||
<div class="release-info">
|
||||
<span class="flex items-center gap-2">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'>
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M9.568 3H5.25A2.25 2.25 0 003 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 005.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 009.568 3z' />
|
||||
<path stroke-linecap='round' stroke-linejoin='round' d='M6 6h.008v.008H6V6z' /></svg>
|
||||
v6.4.0
|
||||
</span>
|
||||
<span class="flex items-center gap-2">
|
||||
|
||||
<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6'><path stroke-linecap='round' stroke-linejoin='round' d='M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5' /></svg>
|
||||
Nov 11 2024 at 14:58 UTC
|
||||
|
||||
</span>
|
||||
</div>
|
||||
<div class="release-body">
|
||||
<h3>Added</h3>
|
||||
<ul>
|
||||
<li>The list of exercises is now searchable by pressing <code>s</code> or <code>/</code> 🔍️ (thanks to <a href="https://github.com/frroossst" rel="noopener noreferrer">@frroossst</a>)</li>
|
||||
<li>New option <code>c</code> in the prompt to manually check all exercises ✅ (thanks to <a href="https://github.com/Nahor" rel="noopener noreferrer">@Nahor</a>)</li>
|
||||
<li>New command <code>check-all</code> to manually check all exercises ✅ (thanks to <a href="https://github.com/Nahor" rel="noopener noreferrer">@Nahor</a>)</li>
|
||||
<li>Addictive animation for showing the progress of checking all exercises. A nice showcase of parallelism in Rust ✨</li>
|
||||
<li>New option <code>x</code> in the prompt to reset the file of the current exercise 🔄</li>
|
||||
<li>Allow <code>dead_code</code> for all exercises and solutions ⚰️ (thanks to <a href="https://github.com/huss4in" rel="noopener noreferrer">@huss4in</a>)</li>
|
||||
<li>Pause input while running an exercise to avoid unexpected prompt interactions ⏸️</li>
|
||||
<li>Limit the maximum number of exercises to 999. Any third-party exercises willing to reach that limit? 🔝</li>
|
||||
</ul>
|
||||
<h3>Changed</h3>
|
||||
<ul>
|
||||
<li><code>enums3</code>: Remove redundant enum definition task (thanks to <a href="https://github.com/senekor" rel="noopener noreferrer">@senekor</a>)</li>
|
||||
<li><code>if2</code>: Make the exercise less confusing by avoiding "fizz", "fuzz", "foo", "bar" and "baz" (thanks to <a href="https://github.com/senekor" rel="noopener noreferrer">@senekor</a>)</li>
|
||||
<li><code>hashmap3</code>: Use the method <code>Entry::or_default</code>.</li>
|
||||
<li>Update the state of all exercises when checking all of them (thanks to <a href="https://github.com/Nahor" rel="noopener noreferrer">@Nahor</a>)</li>
|
||||
<li>The main prompt doesn't need a confirmation with ENTER on Unix-like systems anymore.</li>
|
||||
<li>No more jumping back to a previous exercise when its file is changed. Use the list to jump between exercises.</li>
|
||||
<li>Dump the solution file after an exercise is done even if the solution's directory doesn't exist.</li>
|
||||
<li>Rework the footer in the list.</li>
|
||||
<li>Optimize the file watcher.</li>
|
||||
</ul>
|
||||
<h3>Fixed</h3>
|
||||
<ul>
|
||||
<li>Fix bad contrast in the list on terminals with a light theme.</li>
|
||||
</ul>
|
||||
<p><a rel="noopener noreferrer"></a></p>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
203
index.html
Normal file
203
index.html
Normal file
|
@ -0,0 +1,203 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en" id="oranda" class="dark">
|
||||
<head>
|
||||
<title>rustlings</title>
|
||||
|
||||
<meta property="og:url" content="https://rustlings.cool" />
|
||||
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
|
||||
<meta name="description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
<meta property="og:description" content="Small exercises to get you used to reading and writing Rust code!" />
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="rustlings" />
|
||||
|
||||
|
||||
|
||||
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
|
||||
<link rel="stylesheet" href="/oranda-v0.3.1.css" />
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="page-body">
|
||||
|
||||
<div class="repo_banner">
|
||||
<a href="https://github.com/rust-lang/rustlings">
|
||||
<div class="github-icon" aria-hidden="true"></div>
|
||||
Check out our GitHub!
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<main>
|
||||
<header>
|
||||
|
||||
<h1 class="title">rustlings</h1>
|
||||
|
||||
<nav class="nav">
|
||||
<ul>
|
||||
<li><a href="/">Home</a></li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li><a href="/changelog/">Changelog</a></li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
<div class="oranda-hide">
|
||||
<h1>Rustlings 🦀❤️</h1>
|
||||
</div>
|
||||
<p>Greetings and welcome to Rustlings.
|
||||
This project contains small exercises to get you used to reading and writing Rust code.
|
||||
This includes reading and responding to compiler messages!</p>
|
||||
<p>It is recommended to do the Rustlings exercises in parallel to reading <a href="https://doc.rust-lang.org/book/" rel="noopener noreferrer">the official Rust book</a>, the most comprehensive resource for learning Rust 📚️</p>
|
||||
<p><a href="https://doc.rust-lang.org/rust-by-example/" rel="noopener noreferrer">Rust By Example</a> is another recommended resource that you might find helpful.
|
||||
It contains code examples and exercises similar to Rustlings, but online.</p>
|
||||
<h2>Getting Started</h2>
|
||||
<h3>Installing Rust</h3>
|
||||
<p>Before installing Rustlings, you need to have the <strong>latest version of Rust</strong> installed.
|
||||
Visit <a href="https://www.rust-lang.org/tools/install" rel="noopener noreferrer">www.rust-lang.org/tools/install</a> for further instructions on installing Rust.
|
||||
This will also install <em>Cargo</em>, Rust's package/project manager.</p>
|
||||
<blockquote>
|
||||
<p>🐧 If you're on Linux, make sure you've installed <code>gcc</code> (for a linker).</p>
|
||||
<p>Deb: <code>sudo apt install gcc</code>.
|
||||
Dnf: <code>sudo dnf install gcc</code>.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>🍎 If you're on MacOS, make sure you've installed Xcode and its developer tools by running <code>xcode-select --install</code>.</p>
|
||||
</blockquote>
|
||||
<h3>Installing Rustlings</h3>
|
||||
<p>The following command will download and compile Rustlings:</p>
|
||||
<pre style="background-color:#263238;"><span style="color:#82aaff;">cargo install rustlings
|
||||
</span></pre>
|
||||
|
||||
<details>
|
||||
<summary><strong>If the installation fails…</strong> (<em>click to expand</em>)</summary>
|
||||
<ul>
|
||||
<li>Make sure you have the latest Rust version by running <code>rustup update</code></li>
|
||||
<li>Try adding the <code>--locked</code> flag: <code>cargo install rustlings --locked</code></li>
|
||||
<li>Otherwise, please <a href="https://github.com/rust-lang/rustlings/issues/new" rel="noopener noreferrer">report the issue</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
<h3>Initialization</h3>
|
||||
<p>After installing Rustlings, run the following command to initialize the <code>rustlings/</code> directory:</p>
|
||||
<pre style="background-color:#263238;"><span style="color:#82aaff;">rustlings init
|
||||
</span></pre>
|
||||
|
||||
<details>
|
||||
<summary><strong>If the command <code>rustlings</code> can't be found…</strong> (<em>click to expand</em>)</summary>
|
||||
<p>You are probably using Linux and installed Rust using your package manager.</p>
|
||||
<p>Cargo installs binaries to the directory <code>~/.cargo/bin</code>.
|
||||
Sadly, package managers often don't add <code>~/.cargo/bin</code> to your <code>PATH</code> environment variable.</p>
|
||||
<p>The solution is to …</p>
|
||||
<ul>
|
||||
<li>either add <code>~/.cargo/bin</code> manually to <code>PATH</code></li>
|
||||
<li>or to uninstall Rust from the package manager and install it using the official way with <code>rustup</code>: <a href="https://www.rust-lang.org/tools/install" rel="noopener noreferrer">https://www.rust-lang.org/tools/install</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
<p>Now, go into the newly initialized directory and launch Rustlings for further instructions on getting started with the exercises:</p>
|
||||
<pre style="background-color:#263238;"><span style="color:#82aaff;">cd rustlings/
|
||||
</span><span style="color:#82aaff;">rustlings
|
||||
</span></pre>
|
||||
|
||||
<h2>Working environment</h2>
|
||||
<h3>Editor</h3>
|
||||
<p>Our general recommendation is <a href="https://code.visualstudio.com/" rel="noopener noreferrer">VS Code</a> with the <a href="https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer" rel="noopener noreferrer">rust-analyzer plugin</a>.
|
||||
But any editor that supports <a href="https://rust-analyzer.github.io/" rel="noopener noreferrer">rust-analyzer</a> should be enough for working on the exercises.</p>
|
||||
<h3>Terminal</h3>
|
||||
<p>While working with Rustlings, please use a modern terminal for the best user experience.
|
||||
The default terminal on Linux and Mac should be sufficient.
|
||||
On Windows, we recommend the <a href="https://aka.ms/terminal" rel="noopener noreferrer">Windows Terminal</a>.</p>
|
||||
<h2>Doing exercises</h2>
|
||||
<p>The exercises are sorted by topic and can be found in the subdirectory <code>exercises/<topic></code>.
|
||||
For every topic, there is an additional <code>README.md</code> file with some resources to get you started on the topic.
|
||||
We highly recommend that you have a look at them before you start 📚️</p>
|
||||
<p>Most exercises contain an error that keeps them from compiling, and it's up to you to fix it!
|
||||
Some exercises contain tests that need to pass for the exercise to be done ✅</p>
|
||||
<p>Search for <code>TODO</code> and <code>todo!()</code> to find out what you need to change.
|
||||
Ask for hints by entering <code>h</code> in the <em>watch mode</em> 💡</p>
|
||||
<h3>Watch Mode</h3>
|
||||
<p>After <a href="#initialization" rel="noopener noreferrer">initialization</a>, Rustlings can be launched by simply running the command <code>rustlings</code>.</p>
|
||||
<p>This will start the <em>watch mode</em> which walks you through the exercises in a predefined order (what we think is best for newcomers).
|
||||
It will rerun the current exercise automatically every time you change the exercise's file in the <code>exercises/</code> directory.</p>
|
||||
<details>
|
||||
<summary><strong>If detecting file changes in the <code>exercises/</code> directory fails…</strong> (<em>click to expand</em>)</summary>
|
||||
<blockquote>
|
||||
<p>You can add the <strong><code>--manual-run</code></strong> flag (<code>rustlings --manual-run</code>) to manually rerun the current exercise by entering <code>r</code> in the watch mode.</p>
|
||||
<p>Please <a href="https://github.com/rust-lang/rustlings/issues/new" rel="noopener noreferrer">report the issue</a> with some information about your operating system and whether you run Rustlings in a container or virtual machine (e.g. WSL).</p>
|
||||
</blockquote>
|
||||
</details>
|
||||
<h3>Exercise List</h3>
|
||||
<p>In the <a href="#watch-mode" rel="noopener noreferrer">watch mode</a> (after launching <code>rustlings</code>), you can enter <code>l</code> to open the interactive exercise list.</p>
|
||||
<p>The list allows you to…</p>
|
||||
<ul>
|
||||
<li>See the status of all exercises (done or pending)</li>
|
||||
<li><code>c</code>: Continue at another exercise (temporarily skip some exercises or go back to a previous one)</li>
|
||||
<li><code>r</code>: Reset status and file of the selected exercise (you need to <em>reload/reopen</em> its file in your editor afterwards)</li>
|
||||
</ul>
|
||||
<p>See the footer of the list for all possible keys.</p>
|
||||
<h2>Questions?</h2>
|
||||
<p>If you need any help while doing the exercises and the builtin-hints aren't helpful, feel free to ask in the <a href="https://github.com/rust-lang/rustlings/discussions/categories/q-a?discussions_q=" rel="noopener noreferrer"><em>Q&A</em> category of the discussions</a> if your question wasn't asked yet 💡</p>
|
||||
<h2>Third-Party Exercises</h2>
|
||||
<p>Third-party exercises are a set of exercises maintained by the community.
|
||||
You can use the same <code>rustlings</code> program that you installed with <code>cargo install rustlings</code> to run them:</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/sotanengel/rustlings-jp" rel="noopener noreferrer">日本語版 Rustlings</a>:A Japanese translation of the Rustlings exercises.</li>
|
||||
</ul>
|
||||
<p>Do you want to create your own set of Rustlings exercises to focus on some specific topic?
|
||||
Or do you want to translate the original Rustlings exercises?
|
||||
Then follow the the guide about <a href="https://github.com/rust-lang/rustlings/blob/main/THIRD_PARTY_EXERCISES.md" rel="noopener noreferrer">third-party exercises</a>!</p>
|
||||
<h2>Continuing On</h2>
|
||||
<p>Once you've completed Rustlings, put your new knowledge to good use!
|
||||
Continue practicing your Rust skills by building your own projects, contributing to Rustlings, or finding other open-source projects to contribute to.</p>
|
||||
<h2>Uninstalling Rustlings</h2>
|
||||
<p>If you want to remove Rustlings from your system, run the following command:</p>
|
||||
<pre style="background-color:#263238;"><span style="color:#82aaff;">cargo uninstall rustlings
|
||||
</span></pre>
|
||||
|
||||
<h2>Contributing</h2>
|
||||
<p>See <a href="https://github.com/rust-lang/rustlings/blob/main/CONTRIBUTING.md" rel="noopener noreferrer">CONTRIBUTING.md</a> 🔗</p>
|
||||
<h2>Contributors ✨</h2>
|
||||
<p>Thanks to <a href="https://github.com/rust-lang/rustlings/graphs/contributors" rel="noopener noreferrer">all the wonderful contributors</a> 🎉</p>
|
||||
|
||||
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
|
||||
<a href="https://github.com/rust-lang/rustlings"><div class="github-icon" aria-hidden="true"></div></a>
|
||||
|
||||
<span>
|
||||
rustlings, MIT
|
||||
</span>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
||||
<script defer="true" data-domain="rustlings.cool" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
3
oranda-v0.3.1.css
Normal file
3
oranda-v0.3.1.css
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue