CompilerInvocationException
ryuukk_
ryuukk.dev at gmail.com
Sun Feb 26 22:05:16 UTC 2023
On Sunday, 26 February 2023 at 14:17:50 UTC, ryuukk_ wrote:
> On Sunday, 26 February 2023 at 07:11:55 UTC, Paul Backus wrote:
>> Since `Expression` contains `Binary` and `Unary`, and `Binary`
>> and `Unary` contain `Expression`, that means `Expression`
>> contains itself--which is not allowed, because it would result
>> in `Expression.sizeof` being infinite.
>
> It should display the proper error message then
Example of error message for this particular error with zig:
```
An error occurred:
/tmp/playground921468696/play.zig:4:20: error: union
'play.Expression' depends on itself
const Expression = union(enum) {
^~~~~
/tmp/playground921468696/play.zig:23:5: note: while checking this
field
expr: Expression
^~~~~~~~~~~~~~~~
/tmp/playground921468696/play.zig:8:5: note: while checking this
field
group: Group,
^~~~~~~~~~~~
referenced by:
callMain: /usr/local/bin/lib/std/start.zig:604:17
initEventLoopAndCallMain:
/usr/local/bin/lib/std/start.zig:548:51
remaining reference traces hidden; use '-freference-trace' to
see all reference traces
```
I don't particularly enjoy zig, but they tell us how errors
should be reported to the users, they do it very nicely
More information about the Digitalmars-d-learn
mailing list