1st and 2nd step
3rd CondExp
+Add  tests
fix Issue 9665
+Relax restrictions
+more cases
+more

A field that has static array type of disable this struct also must be initialized in constructor