# 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 ```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 ``` ### 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 À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.