1. Revision History
1.1. Revision 0
Initial Release 🎉
2. Motivation
Languages like Rust or D or dynamically typed languages like Python and Ruby
have some form of a global "static" if (static in the sense that it executes at
compile time). While a previous attempt was made to add this to C++, it was
later reduced down to 
3. Design
The design of the feature presentation is two-fold. When a compiler sees the 
We also provide a 
Lastly, this attribute does not interfere with ODR, since two translation units compiled with the same named definition but different features is not permitted.
4. Example
As a example, let’s look at some simple interface code that could be written with this attribute, where we are targeting both DirectX and Vulkan:
struct [[ feature ( "vulkan" )]] Device { [[ feature ( "glsl-to-spirv" )]] static Shader compile ( std :: filesystem :: path filename ); static Shader load ( std :: filesystem :: path spirv_file ); }; struct [[ feature ( "direct-x" )]] Device { [[ feature ( "hlsl-to-spirv" )]] static Shader compile ( std :: filesystem :: path filename ); static Shader load ( std :: filesystem :: path spirv_file ); }; 
In the above sample, we have two interfaces for a class named