89 lines
1.6 KiB
Markdown
89 lines
1.6 KiB
Markdown
# Exemples / DO-DON'T — Chapitre 39 — Features, `module.saselmod` et compilation conditionnelle
|
|
|
|
> Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre.
|
|
|
|
## Exemples actuellement présents dans le chapitre
|
|
|
|
### Exemple 1
|
|
|
|
```text
|
|
activer une dépendance optionnelle
|
|
activer un module
|
|
sélectionner une capacité/backend fonctionnel de library
|
|
contraindre d'autres features
|
|
```
|
|
|
|
### Exemple 2
|
|
|
|
```text
|
|
requires
|
|
conflicts
|
|
one-of
|
|
at-least-one
|
|
```
|
|
|
|
### Exemple 3
|
|
|
|
```text
|
|
namespace ...;
|
|
```
|
|
|
|
### Exemple 4
|
|
|
|
```text
|
|
doc ...
|
|
deprecated ...
|
|
forbid unsafe
|
|
requires feature ...
|
|
requires capability ...
|
|
requires target ...
|
|
```
|
|
|
|
### Exemple 5
|
|
|
|
```text
|
|
forbid unsafe
|
|
requires feature
|
|
requires capability
|
|
requires target
|
|
```
|
|
|
|
### Exemple 6
|
|
|
|
```text
|
|
ne produit jamais de valeur ;
|
|
ne peut jamais être utilisé comme expression ;
|
|
ne peut dépendre que d'informations déterminables à la compilation.
|
|
```
|
|
|
|
### Exemple 7
|
|
|
|
```text
|
|
des déclarations top-level complètes ;
|
|
des blocs d'implémentation dans le corps d'une callable.
|
|
```
|
|
|
|
### Exemple 8
|
|
|
|
```text
|
|
language version
|
|
compiler version
|
|
Core/SDK version
|
|
package identity/version
|
|
features actives
|
|
dépendances résolues
|
|
profile
|
|
artifact
|
|
target family
|
|
platform
|
|
architecture
|
|
ABI
|
|
endianness
|
|
pointer width
|
|
capabilities
|
|
```
|
|
|
|
## DO / DON'T / WHY / compiler error / edge cases
|
|
|
|
La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration `0.2.12` conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.
|