44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# Exemples / DO-DON'T — Chapitre 47 — Concepts rejetés ou déconseillés
|
|
|
|
> 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
|
|
traits séparés des interfaces en V1
|
|
multiple class inheritance
|
|
implicit returns
|
|
global general type inference for variable identity
|
|
variable shadowing while previous declaration visible
|
|
operator aliases sans différence sémantique
|
|
user-defined arbitrary operator symbols
|
|
operator ++ / --
|
|
operator === / !==
|
|
operator >>>
|
|
C preprocessor #ifdef/#define
|
|
switch/case fallthrough
|
|
errdefer
|
|
general static keyword when clsmethod suffices
|
|
match guards `when` / `if`
|
|
loop/until/repeat/unless comme synonymes de structures existantes
|
|
magic getters/setters
|
|
mandatory native GC
|
|
```
|
|
|
|
### Exemple 2
|
|
|
|
```text
|
|
reflection runtime obligatoire
|
|
metaprogramming transformant silencieusement le code
|
|
features combinatoires non contraintes
|
|
package hybride `lib+bin`
|
|
exports/reexports dans module.saselmod
|
|
transitive dependencies importables sans déclaration directe
|
|
```
|
|
|
|
## 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.
|