Skip to content

Commit f952664

Browse files
committed
💡 Add Rust 2024
1 parent 915184b commit f952664

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

content/en/docs/a1.why-rust.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ slug: why-rust
44
---
55

66
## History of Rust
7+
78
Rust was initially designed and developed by former Mozilla employee **[Graydon Hoare](https://github.com/graydon)** as a personal project. Mozilla began sponsoring the project in 2009 and announced it in 2010. But the first stable release, Rust 1.0, was released on May 15, 2015.
89

9-
Since Rust 1.0, major updates have been released as [`Editions`](https://doc.rust-lang.org/stable/edition-guide/editions/) approximately every three years: Rust 2015 (with the release of Rust 1.0) , Rust 2018, Rust 2021, and Rust 2024, all maintaining backward compatibility.
10+
Since Rust 1.0, major updates have been released as [`Editions`](/docs/cargo-crates-and-basic-project-structure/#rust-editions) approximately every three years: Rust 2015 (with the release of Rust 1.0) , Rust 2018, Rust 2021, and Rust 2024, all maintaining backward compatibility.
1011

1112
## Initial Goals
13+
1214
The goal of Rust is to be a good programming language for creating highly concurrent, safe and performant systems.
1315

1416
> **"Rust is a systems programming language focused on three goals: safety, speed, and concurrency."
@@ -19,6 +21,7 @@ Rust is a very young and very modern language. It's a **[compiled programming la
1921
> One of Rust’s most unique and compelling features is [Ownership](/docs/ownership), which is used to achieve memory safety. Rust creates memory pointers optimistically, checks memory pointers’ limited accesses at compile-time with the usage of [References and Borrowing](/docs/borrowing). And it does automatic compile-time memory management by checking the [Lifetimes](/docs/lifetimes).
2022
2123
## Influences
24+
2225
Its design elements came from a wide range of sources.
2326

2427
- Abstract Machine Model: C
@@ -35,7 +38,6 @@ Its design elements came from a wide range of sources.
3538

3639
and etc.
3740

38-
3941
Rust **doesn't use a built-in runtime** or an automated garbage collection system \(GC\).
4042

4143
> 💡 However, async Rust requires an async runtime, which is provided by community-maintained crates like [`tokio`](https://github.com/tokio-rs/tokio), [`async-std`](https://github.com/async-rs/async-std), [`soml`](https://github.com/smol-rs/smol) etc. The async runtime will be bundled into the final executable.

content/en/docs/a4.cargo-crates-and-basic-project-structure.md

+4-6
Original file line numberDiff line numberDiff line change
@@ -117,17 +117,15 @@ This is how [Cargo documentation describes](https://doc.rust-lang.org/cargo/guid
117117

118118
## Rust Editions
119119

120-
The language has seen a series of improvements every three years through new editions since its initial stable release in 2015, including the initial version, **Rust 2015**, followed by **Rust 2018**, and the latest, **Rust 2021**.
120+
Rust guarantees backward compatibility while introducing major updates to the language. To support this, the `edition` field was added to the `Cargo.toml` file in Rust 2018, marking the first major update to the language ecosystem three years after its initial release. Editions are opt-in, meaning existing crates will not experience these changes until they explicitly migrate to the new edition.Rust guarantees backward compatibility between editions, allowing crates using older editions of Rust to interoperate seamlessly with those using newer versions.
121121

122-
The `edition` key in the `Cargo.toml` file denotes the edition of the Rust compiler to be used for compiling the crate. Editions are opt-in, meaning existing crates will not see these changes until they explicitly migrate to the new edition. Rust guarantees backward compatibility between editions, allowing crates using older editions of Rust to interoperate seamlessly with those using newer versions.
123-
124-
For new projects created by `cargo new`, it will set `edition = "2021"` by default in the `Cargo.toml` file. For example,
122+
For new projects created by `cargo new`, it will set `edition = "2024"` by default in the `Cargo.toml` file. For example,
125123

126124
```toml
127125
[package]
128-
name = "api"
126+
name = "hello_world"
129127
version = "0.1.0"
130-
edition = "2021"
128+
edition = "2024"
131129
```
132130

133131
## 👨‍🏫 Before going to the next...

0 commit comments

Comments
 (0)