DIP 1024---Shared Atomics---Final Review
RazvanN
razvan.nitu1305 at gmail.com
Wed Dec 11 11:21:22 UTC 2019
On Tuesday, 10 December 2019 at 15:26:02 UTC, Simen Kjærås wrote:
> On Tuesday, 10 December 2019 at 12:16:29 UTC, RazvanN wrote:
>> On Sunday, 8 December 2019 at 16:25:21 UTC, Mike Parker wrote:
>>
>> I think that it should be stated somewhere that the DIP makes
>> shared unusable in betterC code.
>
> There's nothing stopping you from implementing your own
> primitives for manipulating shared data in betterC -
> core.atomic is only mentioned because it's the standard library
> way to do it.
>
If you think from an implementation point of view, the compiler
will most likely search for specific functions that can be called
on shared variables (a finite list that contains only the
functions defined in druntime). The only way you can override
that is to define functions that have exactly the same name as
the ones in druntime, but that is risky because the compiler does
not have any way of verifying that you are actually synchronizing
the access.
> It seems unlikely that core.atomic uses the features that
> betterC disables, and where it does a betterC version should be
> relatively easy to write. I expect this will be on dub within a
> week of this being implemented, and if it isn't you can just
> copy the parts you need from core.atomic.
>
Yes, the function in core atomic are templates, but if there are
internal calls to non-templated functions you will end up with a
link error.
> In short, using shared in betterC may be harder, but it's far
> from unusable.
>
> --
> Simen
More information about the Digitalmars-d
mailing list