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