1.1 KiB
1.1 KiB
47. Concepts rejetés ou déconseillés
47.1 Rejetés
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
47.2 À éviter sauf besoin démontré
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