Consider a function with an argument of array-derived type (e.g. pointer to array, or reference to array). Consider furthermore that size of the array in the type declaration is defined using an expression that involves decltype() on one or more template parameters of the function. If the result of such expression would be illegal for an array declaration (e.g. negative), it is quietly substituted for 1, instead of failing template argument deduction.
This particularly affects SFINAE.
This bug is probably related to https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=472501