TDPL goes out for preliminary review

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Dec 23 21:13:53 PST 2009


Jason House wrote:
> Andrei Alexandrescu wrote:
> 
>> Jason House wrote:
>>> Andrei Alexandrescu Wrote:
>>>
>>>> But let's not forget we have concurrency ahead of us. I encourage you
>>>> all to chime in with your thoughts and ideas regarding all aspects of
>>>> concurrency. The recent multicore performance bug is a great starting
>>>> point. If you try e.g. shared and it's broken, let us know. If you try
>>>> it and it works, push it til it breaks. If you have ideas on how to make
>>>> semantic checking better, pipe up.
>>> I posted several shared issues to the NG a few days ago and got no
>>> replies. Most of it was about poor error messages (both misleading text
>>> and missing file/line numbers). I should do proper bugzilla entries but
>>> haven't tinkered with D much since. As always, this post comes from my
>>> phone instead of a proper computer, or else I'd provide a link or do the
>>> bugzilla entries while I'm thinking of it.
>>>
>>> IIRC, the most troublesome error happened when I created "shared
>>> this(){...}" constructor and no information on where it caused errors.
>> Thanks, Jason. I did see those messages but I didn't want to dilute
>> focus back when you posted them.
>>
>> If you could put together bugzilla entries as you try things, that would
>> be great. The shared constructor I'll experiment with first.
> 
> I have reproduced and reported most of the issue I had hit with shared. If 
> it's any consolation, I was able to convert my message passing queues to use 
> shared, but hit issues when expanding to cover other uses of shared data 
> within my code base.  There may also be an issue with what a shared delegate 
> is supposed to be and what can be inside of one, but I haven't really 
> worried about that too much.  It's a hairy issue and partly my fault for 
> using delegates as messages between threads.  When sending a message, I cast 
> the delegate to a shared delegate even though it access immutable data and 
> has no side effect except on thread-local data in the receiving thread.
> 
> bugzilla 3640
>      shared this() constructor does not work and reports strange errors
>      without line numbers
> 
> bugzilla 3641 keywords: rejects-valid
>     alias shared T U does not work
> 
> bugzilla 3642 keywords: diagnostic
>     Poor error message when using shared: 
>     function ___ not callable with argument types ___
> 

Great. I just got word from Walter that he fixed a lot of shared bugs 
(most reported and some probably not yet reported), so I expect the 
situation to get considerably better with the next minor release.

Andrei



More information about the Digitalmars-d mailing list