https://issues.dlang.org/show_bug.cgi?id=22981 --- Comment #7 from Basile-z <b2.temp at gmx.com> --- In `S` the non static member `E e` create a cycle but actually with a pass dedicated to "static members - only" , the internal enum `S.a` would not require `S` semantic to be complete. --