1.5 KiB
1.5 KiB
Exemples / DO-DON'T — Chapitre 47 — Concepts rejetés ou déconseillés
Document compagnon. Les exemples illustrent les règles du chapitre ; la formulation normative reste dans le chapitre lui-même.
Exemples extraits du chapitre
Exemple 1
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
immutability by default for ordinary variables/objects
mandatory `mut` qualifier for ordinary mutation
Rust-style user-visible borrow/lifetime syntax as the default programming model
Exemple 2
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
À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.