Bug 4645 – to!string(const char*) in library causes Optlink to issue warning
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
tools
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2010-08-15T03:20:00Z
Last change time
2017-01-10T01:41:27Z
Keywords
Optlink
Assigned to
nobody
Creator
aldacron
Comments
Comment #0 by aldacron — 2010-08-15T03:20:46Z
Given the following module:
------------------
module tos;
import std.string : to;
import std.stdio : writeln;
void dotos()
{
const char* str = "Foo";
writeln(to!string(str));
}
------------------
Compile with:
dmd -lib tos.d
Then take this module:
------------------
module tosmain;
import tos;
void main()
{
dotos();
}
------------------
And compile with:
dmd tos.lib tosmain.d
The output is the following:
OPTLINK (R) for Win32 Release 8.00.2
Copyright (C) Digital Mars 1989-2009 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
tos.lib
Warning 140: Library probably needs FIXLIB
However, in my Derelict libraries, I have a utility function that wraps to!string to convert from a C string to a D string, but this warning is not given when linking with that lib. I've been unable to reproduce it in a small test case for comparison, as I keep getting this warning no matter what I do. Regardless, the output of the program is unaffected.