mirror of
https://github.com/dlang/phobos.git
synced 2025-04-28 22:21:09 +03:00
The standard library of the D programming language
algorithmsallocatorconcurrencycontainersddlangfunctionalhacktoberfestmathmetaparallelismphobosrangesregexstandard-librarystdiotraitstype-conversionunicode
![]() For a long time, the 'in' storage class was only a second class citizen, merely an alias for 'const', which is a type constructor. While it was also documented for a long time as being 'scope', this was removed when 'scope' actually started to have an effect (when DIP1000 started to be implemented). Currently, a switch (-preview=in) allows to get back this 'scope'. However, the 'in' storage class does not really exists, it gets lowered to 'const [scope]' at an early stage by the compiler, which means that we expose what is essentially an implementation detail to the user. There is a PR in DMD (dlang/dmd#11474) that aims to give 'in' an actual identity, instead of it being lowered to 'const [scope]'. The underlying motivation is to allow for extending 'in''s functionality, giving it the ability to pass by 'ref' when necessary, and accept rvalues. However, regardless of the second goal, having proper support for 'in' would lead to less confusing messages, better code generation, and less confusion w.r.t. the behavior of `std.traits.ParameterStorageClass`. |
||
---|---|---|
.circleci | ||
changelog | ||
etc/c | ||
std | ||
test | ||
.codecov.yml | ||
.dscanner.ini | ||
.editorconfig | ||
.gitignore | ||
azure-pipelines.yml | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
dub.sdl | ||
index.d | ||
Jenkinsfile | ||
LICENSE_1_0.txt | ||
posix.mak | ||
project.ddoc | ||
README.md | ||
unittest.d | ||
win32.mak | ||
win64.mak |
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.