The standard library of the D programming language
Find a file
Jonathan M Davis 5d16dafff0 Add note to Unqualified about is(immutable T == immutable U).
In many cases, even when using Unqualified makes sense (as opposed to
Unconst or Unshared), using is(immutable T == immutable U) works just as
well and avoids instantiating any additional templates. This seems to
becoming more known in the D community over time, but it seems
appropriate to mention it in Unqualified's documentation so that more
people will be made aware.

Also, I changed it so that Unqualified is always a wrapper template
instead of directly being an alias of Unqual in core.internal.traits.
This is because the names don't match, and the alias will show up in any
error messages. Long term, we would ideally rename the symbol in
core.internal (potentially turning the std.traits versions into a
wrapper templates instead of an alias). However, since the functionality
is effectively the same, and the std.traits one is the one currently
being used by code in general, it seems better to let the std.traits one
be the alias for now. The same applies to a few traits which are
implemented in core.internal.traits and imported in std.traits or
phobos.sys.traits.
2024-11-25 23:50:22 +01:00
.circleci Merge Makefiles 2023-12-16 22:22:20 +01:00
.github/workflows GitHub Actions: Remove macos-12 job, as the image will disappear soon (#9085) 2024-11-17 08:08:31 +08:00
changelog Add fromHexString, fromHexStringAsRange and isHexString 2024-11-03 17:59:26 +08:00
etc/c Sync etc.c.zlib D bindings with updated zlib.h 2024-02-26 13:47:01 +08:00
phobos Add note to Unqualified about is(immutable T == immutable U). 2024-11-25 23:50:22 +01:00
std Fix Bugzilla issue 24875 (#9090) 2024-11-23 16:02:11 -08:00
test Add sumtype to Phobos (#7702) 2021-03-05 12:41:34 +01:00
tools Update to unicode 16.0.0 (#9058) 2024-10-16 06:24:56 +08:00
.codecov.yml yaml: make files comply with YAML specification 2021-08-30 14:54:57 +00:00
.dscanner.ini Silence buildkite style failure on std.range 2024-07-31 15:25:37 +02:00
.editorconfig Fix line endings in .editorconfig 2018-09-16 12:19:04 -07:00
.gitignore Remove Phobos 3 dub.sdl and replace it with the build_v3.d build script. (#9069) 2024-10-25 17:49:41 -07:00
build_v3.d Remove Phobos 3 dub.sdl and replace it with the build_v3.d build script. (#9069) 2024-10-25 17:49:41 -07:00
CODEOWNERS Upstream Unicode table generator and update tables to v15 2022-12-12 02:10:14 +13:00
CONTRIBUTING.md Fix IRC link. (Freenode is dead, #d has been on libera for years.) 2024-01-17 15:41:09 +01:00
index.dd Remove deprecated std.xml module 2022-08-28 11:30:15 +02:00
LICENSE_1_0.txt Changed Phobos to use the Boost license. Currently, all public domain modules and all licensed modules by Walter, Andrei, Bartosz, and Don have been changed to use this license (excepting std.c, for the moment). Ideally, all Phobos modules will eventually be distributed under this license, which means obtaining permission from a few more authors, deleting, or rewriting some modules. 2009-09-16 18:19:51 +00:00
Makefile Remove -de switch from Phobos builds to allow deprecations. 2024-09-20 15:06:49 +02:00
posix.mak Restore posix.mak, forwarding to generic Makefile 2023-12-16 22:22:20 +01:00
project.ddoc add PROJECT=phobos ddoc macro 2014-01-10 19:16:53 +01:00
README.md Remove no longer available issue stats and add a Buildkite badge 2019-01-04 18:02:28 +01:00
unittest.d Remove deprecated symbols from std.digest.digest 2020-04-09 11:35:23 +02:00

D Logo Phobos Standard Library

GitHub tag Bugzilla Issues CircleCi Buildkite Code coverage license

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.