[runtime] Catch attempts to create enum types with an underlying type that is itself an incomplete enum type. (#41165)
* Catch attempts to create enum types with an underlying type that is itself an incomplete enum type.
Previously, only non-enum types containing fields with incomplete enum
types were forbidden.
* Permit static constant fields with incomplete types if the incomplete type is the type currently being defined
Co-authored-by: Alexis Christoforides <alexis@thenull.net>
Co-authored-by: imhameed <imhameed@users.noreply.github.com>