[Issue 17358] New: [REG 2.074.0] std.stdio.File.lockingTextWriter.put no longer accepts chains of characters
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Apr 28 11:19:57 PDT 2017
https://issues.dlang.org/show_bug.cgi?id=17358
Issue ID: 17358
Summary: [REG 2.074.0] std.stdio.File.lockingTextWriter.put no
longer accepts chains of characters
Product: D
Version: D2
Hardware: x86
OS: Mac OS X
Status: NEW
Severity: enhancement
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: jack at jackstouffer.com
This compiled in 2.073.2 and doesn't anymore
void main()
{
import std.stdio;
import std.range;
import std.conv;
auto f = File("test", "w");
auto s = 42.toChars;
f.lockingTextWriter.put(chain(s, "\n"));
}
test2.d(12): Error: template std.stdio.File.LockingTextWriter.put cannot deduce
function from argument types !()(Result), candidates are:
/usr/local/Cellar/dmd/2.074.0/include/dlang/dmd/std/stdio.d(2742):
std.stdio.File.LockingTextWriter.put(A)(A writeme) if
((isSomeChar!(Unqual!(ElementType!A)) || is(ElementType!A : const(ubyte))) &&
isInputRange!A && !isInfinite!A)
/usr/local/Cellar/dmd/2.074.0/include/dlang/dmd/std/stdio.d(2773):
std.stdio.File.LockingTextWriter.put(C)(C c) if (isSomeChar!C || is(C :
const(ubyte)))
To be honest, I have no idea what is going on here, because the sig constraint
pragma(msg, (isSomeChar!(Unqual!(ElementType!A)) || is(ElementType!A :
const(ubyte))) && isInputRange!A && !isInfinite!A);
prints "true".
--
More information about the Digitalmars-d-bugs
mailing list