I don’t think so, since it would require changing the language parsing/grammar. Since structs are already containers, then files fit that model. Enums and unions can be containers, but then it is ambuguous whether a file is a struct or an enum. There is no way to tell.
For example, if we were to have the file be an enum or union, is the following a struct, an enum, or a union?
this: u8,
that: u8,
another: SomeType,
The unified body parsing for these container makes it hard to tell. You would have to have some kind of hint or something.
Structs make the most sense since they are the more expected behavior.
There has been other discussion along this line:
Disclaimer: I am not a compiler dev, all opionions are my own.