```
@safe:
struct T
{
S s;
}
struct S
{
S[] s;
T[] t;
}
void main()
{
assert(S.init == S.init);
}
```
Error: incompatible types for array comparison: `S[]` and `S[]`
Error: incompatible types for array comparison: `T[]` and `T[]`
I think what's happening here is that `@safe` inference fails because of a cyclic dependency (issue 7205), and the compiler gives a generic error when lowering to `__equals` fails, which completely misses the mark.
Comment #1 by robert.schadek — 2024-12-13T19:24:59Z