Preparing for the New DIP Process
zjh
fqbqrr at 163.com
Thu Jan 25 15:14:30 UTC 2024
On Thursday, 25 January 2024 at 15:03:41 UTC, Max Samukha wrote:
> module-level. Consider:
>
> ```
> synchronized class C
> {
> private int x;
> private int y;
>
> invariant () { assert (x == y); }
> }
>
> void foo(C c)
> {
> // mutate c
> }
> ```
>
> With module-level private, 'foo' is part of C's public
> interface, but it neither locks on c, nor runs the invariant
> checks. I personally have no idea how to fix that sensibly
> except by ditching class invariant/synchronized entirely.
`private to module `, goes against `consistency, completeness,
and redundancy` pursued by D, just to maintain the `uniqueness`
between `D and C++`!
More information about the Digitalmars-d-announce
mailing list