(3) is a bug in VC10 - see https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=457199