1 static assert( isPureData!int ); 2 static assert( isPureData!float ); 3 static assert( isPureData!creal ); 4 5 static struct Vec { float x,y,z; } 6 static assert( isPureData!Vec ); 7 8 static struct Arr { int[3] data; } 9 static assert( isPureData!Arr ); 10 11 static struct Some { float f; Vec v; Arr a; } 12 static assert( isPureData!Some ); 13 14 static assert( !isPureData!string ); 15 16 static struct Bad { int[] data; } 17 static assert( !isPureData!Bad );
isn't array and has no unshared aliasings