See here: https://run.dlang.io/is/DLtrxB
And here: https://gist.github.com/run-dlang/b8eb31340c90c128a12b31a7c7e18804
---
struct Foo
{
@system ~this() {}
}
@safe:
struct Bar
{
Foo f;
~this() @trusted {}
}
@safe:
void main()
{
Bar b;
}
---
It should be possible to declare that I indeed trust the transitively called @system dtors.
You can circumvent that by putting the field into a union and destruct it yourself.
Comment #1 by robert.schadek — 2024-12-13T19:15:10Z