This code:
==========
module scratch;
import std.conv;
void main()
{
char[ 256 ] buf;
auto s = to!string( buf );
}
==========
Produces this error. This appears to be 2.50 specific, since the code from which this test case derives has been working for some time under .49
==========
$ dmd -run scratch.d
d:\Devel\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(95): Error: template std.conv.toImpl(T,S) if (!implicitlyConverts!(S,T) && isSomeString!(T) && isInputRange!(Unqual!(S)) && isSomeChar!(ElementType!(S))) toImpl(T,S) if (!implicitlyConverts!(S,T) && isSomeString!(T) && isInputRange!(Unqual!(S)) && isSomeChar!(ElementType!(S))) matches more than one template declaration, d:\Devel\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(110):toImpl(T,S) if (!implicitlyConverts!(S,T) && isSomeString!(T) && isInputRange!(Unqual!(S)) && isSomeChar!(ElementType!(S))) and d:\Devel\D\dmd2\windows\bin\..\..\src\phobos\std\conv.d(220):toImpl(T,S)
if (isStaticArray!(S))
==========
It's worth noting that the error message is pretty much incomprehensible due to the enormously long template conditions, and that it doesn't refer at all to the original source line.