mirror of
https://github.com/dlang/phobos.git
synced 2025-05-12 23:29:01 +03:00

- avoids issues with versioned symbols on different platforms - lazy loading/initialization of curl library - fix Issue 13324 - try to load curl from the exe itself before loading a shared library thus allowing to link against a different or a static curl library
118 lines
3.8 KiB
Text
118 lines
3.8 KiB
Text
Ddoc
|
|
|
|
$(COMMENT Pending changelog for 2.069. This will get copied to dlang.org and
|
|
cleared when master gets merged into stable prior to 2.069.
|
|
)
|
|
|
|
$(BUGSTITLE Library Changes,
|
|
|
|
$(LI $(RELATIVE_LINK2 more-rangified-functions, More phobos functions were rangified.))
|
|
$(LI $(RELATIVE_LINK2 std-algorithm-moveEmplace, `moveEmplace` was added))
|
|
$(LI $(RELATIVE_LINK2 curl-dynamic-loading, libcurl is now loaded dynamically))
|
|
|
|
)
|
|
|
|
$(BUGSTITLE Library Changes,
|
|
|
|
$(LI $(LNAME2 more-rangified-functions, More phobos functions were rangified.)
|
|
|
|
$(P Following the work released with $(RELATIVE_LINK2 rangified-functions,
|
|
2.068.0) more phobos functions were rangified.
|
|
)
|
|
|
|
$(BOOKTABLE Rangified Functions:,
|
|
$(TR $(TH Module) $(TH Functions)
|
|
)
|
|
$(TR $(TD $(STDMODREF stdio, std.stdio))
|
|
$(TD
|
|
<a href="phobos/std_file.html#.File.this">File.this</a>
|
|
)
|
|
)
|
|
$(TR $(TD $(STDMODREF file, std.file))
|
|
$(TD
|
|
$(XREF file, append)
|
|
$(XREF file, chdir)
|
|
$(XREF file, copy)
|
|
$(XREF file, exists)
|
|
$(XREF file, getAttributes)
|
|
$(XREF file, getLinkAttributes)
|
|
$(XREF file, getSize)
|
|
$(XREF file, getTimes)
|
|
$(XREF file, getTimesWin)
|
|
$(XREF file, isDir)
|
|
$(XREF file, isFile)
|
|
$(XREF file, isSymlink)
|
|
$(XREF file, mkdir)
|
|
$(XREF file, read)
|
|
$(XREF file, readText)
|
|
$(XREF file, remove)
|
|
$(XREF file, rename)
|
|
$(XREF file, rmdir)
|
|
$(XREF file, setAttributes)
|
|
$(XREF file, setTimes)
|
|
$(XREF file, timeLastModified)
|
|
$(XREF file, write)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
$(LI $(LNAME2 std-algorithm-moveEmplace, A combined `moveEmplace` was added.)
|
|
|
|
$(P $(XREF algorithm_mutation, MoveEmplace) efficiently combines $(XREF
|
|
algorithm_mutation, move) with $(XREF conv, emplace) thus avoids having
|
|
to initialize and destroy a value before moving into uninitialized data.
|
|
)
|
|
|
|
------
|
|
T* moveToHeap(T)(ref T value)
|
|
{
|
|
import core.memory : GC;
|
|
|
|
auto ptr = cast(T*)GC.malloc(T.sizeof);
|
|
// move value and emplace it into ptr
|
|
moveEmplace(value, *ptr);
|
|
return ptr;
|
|
}
|
|
------
|
|
$(P There are also $(XREF algorithm_mutation, moveEmplaceAll)
|
|
and $(XREF algorithm_mutation, moveEmplaceSome) as counterparts of
|
|
$(XREF algorithm_mutation, moveAll) and $(XREF algorithm_mutation, moveSome).
|
|
)
|
|
)
|
|
|
|
$(LI $(RELATIVE_LINK2 curl-dynamic-loading, libcurl is now loaded dynamically)
|
|
|
|
$(P $(STDMODREF net_curl, std.net.curl) was changed to load curl as shared
|
|
library at runtime. This simplifies the usage as it's no longer
|
|
necessary to link against libcurl or to install any development
|
|
libraries.
|
|
)
|
|
|
|
$(P The implementation will also try to get the needed curl symbols from the
|
|
executable itself. So it remains possible to link with a specific
|
|
version of libcurl or with a static libcurl library.
|
|
)
|
|
|
|
$(P To make this work you have to link with $(I --export-dynamic) respectively
|
|
use a $(I .DEF) file on Windows (see $(LINK2
|
|
http://wiki.dlang.org/Curl_on_Windows#Using_the_static_lib, wiki) for
|
|
more info on the latter).
|
|
)
|
|
)
|
|
|
|
)
|
|
|
|
Macros:
|
|
TITLE=Change Log
|
|
|
|
BUGSTITLE = <div class="bugsfixed">$(H4 $1) $(OL $2 )</div>
|
|
|
|
RELATIVE_LINK2=<a href="#$1">$+</a>
|
|
LNAME2=<a class="anchor" title="Permalink to this section" id="$1" href="#$1">$+</a>
|
|
|
|
STDMODREF = <a href="phobos/std_$1.html">$2</a>
|
|
XREF = <a href="phobos/std_$1.html#$2">$2</a>
|
|
CXREF = <a href="phobos/core_$1.html#$2">$2</a>
|
|
|
|
BOOKTABLE = <table><caption>$1</caption>$+</table>
|