On Mon, 07 Dec 2009 22:45:17 -0500, Jason House wrote: > So, after months of avoiding shared, I decided to see if I could remove > all my casting away of shared. It looks like things are still pretty > buggy (or at least not particularly easy to use). > > "is(T : shared)" gives a parse error > "alias shared T U" silently does the wrong thing. > (Use "alias shared(T) U" instead) > "xxxx is not callable using argument types ()" is just awful. > Typically, it means you're calling a non-shared function with a shared > type or a shared function with a non-shared type. I hit into a case > where I got that message with a shared type and a shared method, but I > have mad no attempt to reproduce. > The error "Can not implicitly convert expression of type(this) of type > shared(xxx) to full.name.xxx" can pop up when defining shared this() > constructor gives no line number where the offending usage occurs. > > I've backed out most of my pro-shared changes and will try again in a > few months :(
I have also given up on shared and am also adopting a waiting strategy. I would love to get some tips from anyone (like Walter, for example) who thinks they have a way of using shared successfully. My recent post on the subject got no meaningful responses - just one from bearophile that was supportive, but alas not helpful.