// Standard Allocation #define new static_assert( false, "Banned keyword used: new" ) #define delete static_assert( false, "Banned keyword used: delete" ) // Standard Coroutines #define co_await static_assert( false, "Banned keyword used: co_await" ) #define co_return static_assert( false, "Banned keyword used: co_return" ) #define co_yield static_assert( false, "Banned keyword used: co_yield" ) // Standard Exceptions #define atomic_cancel static_assert( false, "Banned keyword used: atomic_cancel" ) #define atomic_commit static_assert( false, "Banned keyword used: atomic_commit" ) #define atomic_noexcept static_assert( false, "Banned keyword used: atomic_noexcept" ) #define catch static_assert( false, "Banned keyword used: catch" ) #define noexcept static_assert( false, "Banned keyword used: noexcept" ) #define throw static_assert( false, "Banned keyword used: throw" ) #define try static_assert( false, "Banned keyword used: try" ) // Standard RTTI #define decltype static_assert( false, "Banned keyword used: decltype" ) #define reflexpr static_assert( false, "Banned keyword used: reflexpr" ) #define typeid static_assert( false, "Banned keyword used: typeid" ) // Object-Oriented Dynamic Dispatch #define final static_assert( false, "Banned keyword used: final" ) #define override static_assert( false, "Banned keyword used: override" ) #define virtual static_assert( false, "Banned keyword used: virtual" ) // Private Access Specifier #define private static_assert( false, "Banned keyword used: private" ) // Template Meta-programming #define concept static_assert( false, "Banned keyword used: concept" ) #define requires static_assert( false, "Banned keyword used: requires" ) #define template static_assert( false, "Banned keyword used: template" )