On Thursday, 10 October 2013 at 23:33:27 UTC, Jonathan M Davis
wrote:
Yeah. The only times that something is going to accept shared
is when it was
specifically designed to work as shared (which most code
isn't), or if it's
templated and the template happens to work with shared. Regular
functions just
aren't going to work with shared without casting away shared,
because that
would usually mean either templating everything or duplicating
functions all over the place.
I think that's pretty reasonable though. Shared data needs to be
treated differently, explicitly, or things go downhill fast.