Changed in VS 2010 In https://msdn.microsoft.com/en-us/library/vstudio/ee855831.aspx A new implicit conversion is added for generic interfaces and delegates such as IEnumerable{T} and Func{TResult}.
Type parameter T of IEnumerable{T} has been covariant since .NET 4 (VS 2010). s; IEnumerable x = s; // OK in all versions. IEnumerable is inherited from IEnumerable. IEnumerable