Victor Porton (@vporton) reported this on 2020-08-19T14:45:18Z
Transferred from https://issues.dlang.org/show_bug.cgi?id=21178
CC List
Description
https://dlang.org/spec/enum.html
"An empty enum body (For example enum E;) signifies an opaque enum - the enum members are unknown."
The specification is very unclear here:
What this "unknown" does mean? How does "unknown" differ from "none" in this context?
The specification does not define the meaning of unknown. Formal specifications should not use a word with no clear meaning.
kinke commented on 2020-08-19T16:23:37Z
That's very subjective - I find it crystal-clear, especially with the 'opaque' hint - it's just like an opaque `struct S;` declaration. Sometimes, a full declaration isn't needed, e.g.:
extern(C++):
enum E : int;
void foo(E);
dlang-bot commented on 2023-02-01T18:56:41Z
@Mateiuss created dlang/dlang.org pull request #3512 "Fix Issue 21178" fixing this issue:
- Fix Issue 21178
https://github.com/dlang/dlang.org/pull/3512