Skip to content

Commit be2c272

Browse files
committed
Devenv.md: Add Rustc/LLVM tier considerations.
1 parent c253712 commit be2c272

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

src/en/devenv.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,36 @@ $ cargo +nightly fmt
109109
$
110110
```
111111

112+
### Rustc Tier guarantees
113+
114+
As Rustc's backend is based on LLVM, it inherits and classifies its supported targets into tiers to communicate how much stability and testing each backend receives.
115+
116+
#### Tier 1 - guaranteed to work
117+
118+
The target is fully vetted by the community. It passes the entire test suite, receives regular regression testing, and is kept up‑to‑date with new releases. In practice, you can rely on consistent code generation, stable ABI, and predictable performance. Tier 1 targets can be thought of as "guaranteed to work".
119+
120+
#### Tier 2 - guaranteed to build
121+
122+
The target’s source code compiles cleanly, but it does not receive the same level of testing or maintenance as Tier 1. It may lack full coverage in the test suite, and certain optimizations or newer LLVM features could be missing or unstable. Users can still generate code for these backends, but they should expect occasional breakage or the need for manual patches. Tier 1 targets can be thought of as "guaranteed to build" but not as "guaranteed to work".
123+
124+
#### Tier 3
125+
126+
Tier 3 targets are simply not officially supported.
127+
128+
129+
130+
The tier distinction helps developers choose a target that matches their risk tolerance: Tier 1 for production‑grade workloads, Tier 2 for experimental or niche architectures where full support isn’t yet met.
131+
132+
<div class="reco" id="TIERS_TOOLCHAINS" type="Rule" title="Exclusive use of tier 1 of `rustc` for safety-critical software">
133+
Rustc tier 1 targets and certified toolchains must be used for safety-critical systems.
134+
</div>
135+
136+
137+
A comprehensive list of supported targets is available in the official documentation:
138+
139+
[Plateform support]: https://doc.rust-lang.org/stable/rustc/platform-support.html
140+
141+
112142
## Cargo
113143

114144
Once Rustup has set up the appropriate Rust toolchain, [Cargo] is available

src/fr/devenv.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,35 @@ $ # or
116116
$ cargo +nightly fmt
117117
$
118118
```
119+
### Garantie de niveau pour Rustc
120+
121+
Rustc utilise LLVM comme backend, il hérite donc du support de ce dernier et classe ses cibles prises en charge en différents niveaux afin d’indiquer le degré de stabilité et de tests effectué.
122+
123+
#### Tier 1 - Fonctionnement garanti
124+
125+
La cible est entièrement examinée par la communauté. Elle réussit l’ensemble complet de la batterie de tests, fait l’objet de tests de régression réguliers et est maintenue à jour avec les nouvelles versions. En pratique, vous pouvez compter sur une génération de code cohérente, une ABI stable et des performances prévisibles d’une version à l’autre. Les cibles de tier 1 offrent une garantie de **fonctionnement**.
126+
127+
#### Tier 2 - Compilation garantie
128+
129+
La cible se compile correctement, mais elle ne bénéficie pas du même niveau de tests ni de la même maintenance que les cibles de niveau 1. Elle peut ne pas être entièrement couverte par les tests, et certaines optimisations ou fonctionnalités récentes peuvent être absentes ou instables. Les utilisateurs peuvent tout de même générer du code pour ces cibles, mais ils doivent s’attendre à d’éventuels problèmes occasionnels ou à devoir appliquer des correctifs manuels. Les cibles de tier 2 offrent une garantie de **compilation** mais pas de **fonctionnement**.
130+
131+
#### Tier 3
132+
133+
Les cibles de niveau 3 ne sont tout simplement pas prises en charge officiellement.
134+
135+
136+
La distinction entre les différents niveaux aide les développeurs à choisir une cible adaptée à leur tolérance au risque : le niveau 1 pour des applications de production, le niveau 2 pour des architectures plus expérimentales ou de niche dont le support complet n’est pas encore assuré.
137+
138+
139+
<div class="reco" id="TIERS_TOOLCHAINS" type="Rule" title="Utilisation exclusive du tier 1 de `rustc` pour les logiciels de sureté critiques">
140+
Les cibles Rustc de niveau 1 et les chaînes de compilation certifiées doivent être utilisées pour les systèmes de sureté critiques.
141+
</div>
142+
143+
144+
Une liste complète des cibles prises en charge est disponible dans la documentation officielle:
145+
146+
[Plateform support]: https://doc.rust-lang.org/stable/rustc/platform-support.html
147+
119148

120149
## Cargo
121150

0 commit comments

Comments
 (0)