It's probably complaining because using shared without synchronizing is
generally very foolish. Now, I would have _thought_ that it would still work
without, but I apparently not. Regardless, I'm not sure why you'd want to use
shared anything without synchronizing your access of it. 


Thanks Jonathan

Actually in my actual use case, I am using synchronized at code block level -- to limit the scope of locking. I am doing this to mitigate possible inefficiency due to indiscriminate use of mutex locked code.

But D is forcing me to synchronize at function level, thus making most of my code go under mutex locks.

Regards
- Puneet