detect implicitly convertible typeid's?
Steven Schveighoffer
schveiguy at yahoo.com
Tue Sep 26 19:31:56 UTC 2017
On 9/26/17 3:14 PM, bitwise wrote:
> On Tuesday, 26 September 2017 at 17:27:02 UTC, Steven Schveighoffer wrote:
>>
>> -Steve
>
>
> About Variant - I was considering a pull request for retrieving a
> pointer to the internal data, but figured that it was left out on
> purpose due to @safety.
>
> OTOH, I was looking through dmd commits, and it seems like there has
> been significant progress on 'scope'.
>
> So I was thinking this:
>
> struct Variant {
>
> scope inout(ubyte)[] data() inout
> {
> auto sz = type.tsize;
> assert(sz <= size);
> return store[0..sz];
> }
> }
>
> Thoughts?
>
I just recently fixed Variant so it could accept shared data (so you
could pass shared data using std.concurrency), and part of that depends
on the fact that I know nothing else can point at the data (so no
locking/atomics are necessary, we know the actual data is not shared).
I think it's very dangerous to extract a reference to the data, it
breaks all kinds of expectations.
-Steve
More information about the Digitalmars-d-learn
mailing list