# 47. Concepts rejetés ou déconseillés ## 47.1 Rejetés ```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 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é ```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 ``` ---