mirror of
https://github.com/dlang/phobos.git
synced 2025-04-26 05:00:35 +03:00
The standard library of the D programming language
algorithmsallocatorconcurrencycontainersddlangfunctionalhacktoberfestmathmetaparallelismphobosrangesregexstandard-librarystdiotraitstype-conversionunicode
![]() The constructor of the result of std.range.chain copies it's input tuple and then has to check which of the input-ranges in the first non-empty one. The member function empty is not guaranteed to be const, filter is probably the most prominent function that has to be "primed". On the first call to empty(), filter will try to advance all it's input ranges to the first element that matches the predicate. For ranges with full value semantics, using the old input object instead of the new internal buffer means that the work of priming is done twice. If any ranges have reference semantics, the references gets advances, but the value-semantic parts of the range-composition gets reset. This fixes #10561 and #9877 |
||
---|---|---|
.circleci | ||
.github/workflows | ||
changelog | ||
etc/c | ||
phobos | ||
std | ||
test | ||
tools | ||
.codecov.yml | ||
.dscanner.ini | ||
.editorconfig | ||
.gitignore | ||
build_v3.d | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
index.dd | ||
LICENSE_1_0.txt | ||
Makefile | ||
posix.mak | ||
project.ddoc | ||
README.md | ||
unittest.d |
Phobos Standard Library
Phobos is the standard library that comes with the D Programming Language Compiler.
Download
Phobos is packaged together with the compiler. You should download the whole precompiled package.
To build everything yourself, there is a description in the wiki.
Phobos is distributed under Boost Software Licence. See the licence file.
I Want to Contribute
Great! See the CONTRIBUTING.md file.