toString doesn't compile with -dip1000 switch
wjoe
invalid at example.com
Mon Aug 1 09:57:43 UTC 2022
struct Foo()
{
import std.format: FormatSpec;
const void toString(
scope void delegate(const(char)[]) @safe sink,
FormatSpec!char fmt)
{}
}
struct Bar
{
import std.format: FormatSpec;
const void toString(
scope void delegate(const(char)[]) @safe sink,
FormatSpec!char fmt)
{}
}
@safe unittest {
import std.conv:to;
Foo!() foo; foo.to!string;
Bar bar; bar.to!string; // 25
}
# dmd d.d -dip1000 -unittest -main
d.d(25) Error: @safe function d.__unittest_121_C7 cannot call
@system function std.conv.to!string.to!(Bar).to
/usr/lib/dmd/2.099/import/std/conv.d(221): std.conv.to!string.to!
(Bar).to is declared here
why is that?
More information about the Digitalmars-d-learn
mailing list