ddox
ddox copied to clipboard
Errors of missing `std.conv` imports
Manjaro/Arch x86_64, dmd 2.091.0, ddox 0.16.13 fetched and built via dub.
My project uses x:ddoxTool "scod" for generating documentation and it stopped working at some point recently, perhaps with updates to diet-ng.
[...]
ddox 0.16.13: building configuration "library"...
/usr/include/dlang/dmd/std/range/primitives.d(175,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
/usr/include/dlang/dmd/std/range/primitives.d(177,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
/usr/include/dlang/dmd/std/range/primitives.d(175,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
/usr/include/dlang/dmd/std/range/primitives.d(177,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue instead.
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/entities.d(553,15): Deprecation: Cannot use alias this to partially initialize variable tp.typeName of type CachedString. Use tp.typeName.str
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/entities.d(620,157): Deprecation: Cannot use alias this to partially initialize variable ret.arrayLength of type CachedString. Use ret.arrayL
ength.str
Compiling Diet HTML template ddox.module.dt...
ddox.module.dt(9,44): Error: no property to for type Result, perhaps import std.conv; is needed?
../../.dub/packages/diet-ng-1.7.1/diet-ng/source/diet/html.d(221,8): Error: template instance ddox.htmlgenerator.generateModulePage!(OutputStream).generateModulePage.exec!(StreamOutputRange!(
OutputStream, 256LU)) error instantiating
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(365,7): instantiated from here: compileHTMLDietFileString!(StreamOutputRange!(OutputStream, 256LU))
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(184,22): instantiated from here: generateModulePage!(OutputStream)
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(183,69): instantiated from here: __lambda4!(OutputStream)
Compiling Diet HTML template ddox.module.dt...
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(183,18): Error: function ddox.htmlgenerator.generateHtmlDocs.writeHashedFile(GenericPath!(PosixPathFormat) filename, scope vo
id delegate(OutputStream) del) is not callable using argument types (GenericPath!(PosixPathFormat), void)
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(183,18): cannot pass argument __lambda4 of type void to parameter scope void delegate(OutputStream) del
Compiling Diet HTML template ddox.docpage.dt...
ddox.inc.composite.dt(11,34): Error: no property to for type int, perhaps import std.conv; is needed?
ddox.inc.variable.dt(32,33): Error: template instance to!string template to is not defined
ddox.inc.variable.dt(34,105): Error: no property to for type Result, perhaps import std.conv; is needed?
ddox.docpage.dt(62,79): Error: no property to for type Result, perhaps import std.conv; is needed?
ddox.docpage.dt(68,80): Error: no property to for type Result, perhaps import std.conv; is needed?
ddox.docpage.dt(74,79): Error: no property to for type Result, perhaps import std.conv; is needed?
ddox.docpage.dt(80,75): Error: no property to for type Result, perhaps import std.conv; is needed?
ddox.docpage.dt(100,80): Error: no property to for type Result, perhaps import std.conv; is needed?
ddox.docpage.dt(105,79): Error: no property to for type Result, perhaps import std.conv; is needed?
ddox.docpage.dt(110,75): Error: no property to for type Result, perhaps import std.conv; is needed?
../../.dub/packages/diet-ng-1.7.1/diet-ng/source/diet/html.d(221,8): Error: template instance ddox.htmlgenerator.generateDeclPage!(OutputStream).generateDeclPage.exec!(StreamOutputRange!(Outp
utStream, 256LU)) error instantiating
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(392,7): instantiated from here: compileHTMLDietFileString!(StreamOutputRange!(OutputStream, 256LU))
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(191,21): instantiated from here: generateDeclPage!(OutputStream)
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(190,64): instantiated from here: __lambda3!(OutputStream)
Compiling Diet HTML template ddox.docpage.dt...
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(190,19): Error: function ddox.htmlgenerator.generateHtmlDocs.writeHashedFile(GenericPath!(PosixPathFormat) filename, scope vo
id delegate(OutputStream) del) is not callable using argument types (GenericPath!(PosixPathFormat), void)
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(190,19): cannot pass argument __lambda3 of type void to parameter scope void delegate(OutputStream) del
Compiling Diet HTML template ddox.overview.dt...
Compiling Diet HTML template ddox.overview.dt...
ddox.module.dt(9,44): Error: no property to for type Result, perhaps import std.conv; is needed?
../../.dub/packages/diet-ng-1.7.1/diet-ng/source/diet/html.d(221,8): Error: template instance ddox.htmlgenerator.generateModulePage!(InterfaceProxy!(OutputStream)).generateModulePage.exec!(St
reamOutputRange!(InterfaceProxy!(OutputStream), 256LU)) error instantiating
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlgenerator.d(365,7): instantiated from here: compileHTMLDietFileString!(StreamOutputRange!(InterfaceProxy!(OutputStream), 256LU))
../../.dub/packages/ddox-0.16.13/ddox/source/ddox/htmlserver.d(88,21): instantiated from here: generateModulePage!(InterfaceProxy!(OutputStream))
ddox.inc.composite.dt(11,34): Error: no property to for type int, perhaps import std.conv; is needed?
ddox.inc.variable.dt(32,33): Error: template instance to!string template to is not defined
ddox.inc.variable.dt(34,105): Error: no property to for type Result, perhaps import std.conv; is needed?
/usr/bin/dmd failed with exit code 1.
Not sure whose bug this is bug filing it here since building ddox is what throws the error.
Changing the std.conv import in source/ddox/api.d to a public one works around the issue, but likely isn't ideal.
diff --git a/source/ddox/api.d b/source/ddox/api.d
index 04e9efc..f48561b 100644
--- a/source/ddox/api.d
+++ b/source/ddox/api.d
@@ -12,7 +12,7 @@ public import ddox.ddoc;
import std.algorithm;
import std.array;
-import std.conv;
+public import std.conv;
import std.format;
import std.string;
import std.range : isOutputRange;